• Как сделать реферальную ссылку в боте в вк?

    @Kopheek
    Хочу кофе.
    Понимаю, что ответ на данный вопрос не актуален для спросившего, но для будущих "поколений" актуализирую информацию по vk.me

    Информация об объекте сообщения: https://dev.vk.com/reference/objects/message
    Информация о том, как передать параметры для vk.me: https://dev.vk.com/reference/objects/message

    Когда пользователь переходит по ссылке с параметрами, например:
    vk.me/your_public_name_or_id?ref=your_ref&ref_source=your_ref_source

    То в json-объекте, когда пользователь напишет сообщение боту после перехода по ссылке, вернутся ещё 2 поля (ref и ref_source), которые будут содержать указанные параметры, для примера выше это будет:
    {..., "ref":"your_ref", "ref_source":"your_ref_source", ...}

    А дальше их можно будет спокойно обрабатывать.
    Ответ написан
    Комментировать
  • Как работать в с клавиатурой в телеграм боте?

    @Kopheek
    Хочу кофе.
    Можешь использовать какой-нибудь открытый API переводчика (есть, вроде, FastTranslator) для перевода фраз.
    В telebot можно, например, узнать языковой код (language_code) пользователя, который написал, т.е. "ru", "en" и другие. И, опираясь на это, сделать if-else конструкцию.
    Ответ написан
    Комментировать
  • Как правильно разделить большую строку?

    @Kopheek
    Хочу кофе.
    Из самого простого (что первое пришло в голову) можно по количеству слов поделить, при помощи if-else:
    st = "Тут должен быть текст" # сама строка
    lst = st.split() # список элементов, разделённых в строке пробелом, выглядеть будет так: ["Тут", "должен", "быть", "текст"]
    cnt = 0 # счётчик добавленных слов
    for index in range(len(lst)): # цикл, который пойдёт по длине списка
        st += lst[i] # записываем в строку слово
        cnt += 1 # Считаем добавленные слова
        if cnt == 2: 2 # Вместо 2 может быть любое число, так мы поймём, когда мы набрали нужное количество слов
            st += "\n" # Добавляем enter в строку, если набрали нужно кол-во слов
        else:
            st += " " # Добавлем пробел в строку между словами
    print(st)
    На выходе получаем:
    Тут должен
    быть текст


    Для строки (при неизменённой программе):
    Текст, который в разы больше предыдущего
    Мы получим подобный вывод:
    Текст, который
    в разы
    больше предыдущего
    Ответ написан
    Комментировать
  • Телеграмм канал?

    @Kopheek
    Хочу кофе.
    Скорее всего Вы могли создать группу, а не канал.
    Чтобы удостоверится, что это именно канал откройте информацию о нём (в начале из диалога/сообщений перейти в канал/группу, потом кликнуть на аватарку) и под названием будет подпись: *что-то* канал или кол-во участников. Примеры прикрепил.
    62aa1ee851616981997275.png
    Если есть слово канал, значит Вы точно создали канал. Где такого и быть не могло.
    Если участники, то значит это группа и чтобы отображать историю надо нажать на карандаш в правом верхнем углу, потом на "История чата для новых участников" и выбрать "Видна".

    P.S. У меня используется стронний язык (перевод) для телеграм, поэтому у меня участники заменены на делегаты
    Ответ написан
    Комментировать