Задать вопрос
Ответы пользователя по тегу Telegram
  • Как Telegram бот может отправить ссылку для отправки SMS?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Можно давать ссылку на http/https, который редиректит на sms.
    Ответ написан
    5 комментариев
  • Как импортировать контакты (клиентов из CRM) в группу Телеграм?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Такого способа нет. Поиск в Телеграме такого большого количества номеров гарантирует бан аккаунта. Кроме того, у многих пользователей номер может быть скрыт настройками приватности.

    Приавильное решение - разослать пользователем SMS со ссылкой на канал. Также канал пихать на сайт, в личный кабинет, письма о заказах, визитки менеджеров итд итп. Параллельно не забывать вести канал интересным контентом, не очень редко, чтобы канал не казался заброшенным, но не слишком часто, чтобы пользователей не задолбало и они не отписались (тем паче сейчас почти любой пользователь подписан как минимум на пару-тройку каналов заведомо интереснее вашего).
    Ответ написан
    Комментировать
  • Как получить username пользователя имея id без использования telegram web, но используя Python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Получить id по username средствами Bot API нельзя. Его можно получить только вместе с событием, связанным с пользователем. Например, пользователь нажал кнопку /start, пользователь написал боту или в общую группу с ботом, пользователь вступил в группу...

    Telegram Bot API предполагает (и это абсолютно правильно!), что боты не могут писать произвольным пользователям и вообще знать об их существовании. Речь должна идти исключительно об инициативе пользователя начать коммуникацию. Иногда косвенно: например, вступая в группу, куда администратор добавил бот. Но случайных пользователей без их явно выраженного действия бот не может найти.

    Конечно, это можно обойти клиентским API (telethon выкидывает из-за того что его активно используют спамеры, но это тоже решаемо). Но я бы рекомендовал зайти с другой стороны: не надо вообще делать всякую фигню, на которую Bot API не рассчитан. Никакой пользы от неё нет.

    Например, если задача в том, чтобы получить список контактов для взаимодействия, то НЕ НАДО было собирать ссылки на профили пользователей. Вместо этого следовало просить их написать боту или вступить в группу. А там уже ботом словить информацию по ним и записать куда надо для ботовых задач.
    Ответ написан
    Комментировать
  • Нужна помощь/совет - Telegram бот?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В pythonanywhere в бесплатном тарифе доступен ограниченный список сайтов https://www.pythonanywhere.com/whitelist/
    Ответ написан
    Комментировать
  • Как читать сообщения из канала telegram программно?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Перед такими вопросами надо сначала гуглить.

    Мне потребовалось менее 5 минут, чтобы найти это:

    https://github.com/tdlight-team/tdlight-java
    https://github.com/Telegram4J/Telegram4J

    Оба проекта выглядят достаточно живыми.

    Вот до кучи пример самостоятельного использования tdlib в связке с Spring Boot: https://habr.com/ru/articles/738022/
    Ответ написан
    1 комментарий
  • Есть ли возможность перенаправить человека в telegram с заготовленным сообщением?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Такой возможности нет. Можно передать текст в аргумент команды start бота. Больше информации в официальной документации https://core.telegram.org/api/links

    Возможно, более разумным является веб-логин через Телеграм на самом сайте или, например, использование Web App в самом Телеграме. Но это надо существенно пересматривать всё взаимодействие с пользователем.
    Ответ написан
    Комментировать
  • Как при переходе по ссылке в телегамм бот автоматически вызывать команду /start?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Никак нельзя. Это же мечта любого спамера - чтобы пользователь не мог избежать действия.
    Ответ написан
    Комментировать
  • Как удалить последние 2 сообщения в телеграм боте?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Никак, бот может удалять только свои сообщения, но не сообщения от пользователя.
    Ответ написан
  • Как исправить код на Python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Сейчас запущено два бота с одним токеном одновременно либо, как вариант, что-то идёт не так при запросе, и бот делает второй-третий-четвёртый запрос getUpdates слишком часто. Но я думаю что скорее всего первый вариант, ибо это довольно частая ошибка новичков.
    Ответ написан
    Комментировать
  • Как получить цвет пользователя в telegram на python?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Если в Bot API нет такой информации, то никак. А в Bot API её на текущйи момент вообще нет. Можно только узнать о наличии premium-подписки. https://core.telegram.org/bots/api#user
    Ответ написан
    2 комментария
  • Можно ли получать обновления с телеграм канала через Telegram API без добавления бота в этот канал?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    С использованием Bot API - только если бота добавит админ канала. На чужой канал бот подписаться не может.

    С помощью клиентского API можно подписываться на чужие каналы и получать с них обновления, но это делается с реквизитами пользователя (своего) и канал должен быть публичным, чтобы на него можно было легко подписаться.

    В общем и целом схема выглядит так: пользователь работает с ботом, а у бота внутри есть один или несколько реальных аккаунтов, которые по запросам пользователей подписываются на нужные каналы и сохраняют все новые публикации с них.
    Ответ написан
    Комментировать
  • Как удалить своего бота из чужой группы Телеграм?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Да, это можно, используя метод leaveChat. Достаточно id группы знать.

    До кучи, можно запретить в настройках бота у BotFather его добавлять в группы вообще, если это функциональностью бота не предусмотрено.
    Ответ написан
    1 комментарий
  • Как сделать ссылку на телеграм с текстом?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Никак. Возможности deep linking у Телеграма довольно разнообразны, но передать текст пользователю никак нельзя. Можно только передать текст боту, причём исключительно как аргумент команды start.

    Подробнее в официальной документации: https://core.telegram.org/api/links
    Ответ написан
    Комментировать
  • Как получить кол-во просмотров на посте в тг, с помощью тг бота (node js)?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Никак. Боты работают на событиях: пришло сообщение, человек вступил в группу... Получать историческую информацию по сообщениям невозможно.

    Достать такую информацию можно только с помощью клиентского API (MTProto).
    Ответ написан
    2 комментария
  • Telegram Bot API как боту отправить контакт?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Бот может отправить пользователю кнопку, при нажатии на которую пользователь разрешает передать боту свои контактные данные.

    См. опцию request_contact в документации.
    Ответ написан
    5 комментариев
  • Если сменить номер телефона в Telegram, сменится ли api_id и api_hash?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    api_id и api_hash - это реквизиты не аккаунта, а клиента Telegram. Соответственно, используя их, войти в твой аккаунт не получится. Конечно, если вместе с ними утёк дамп сессии, то это уже другое дело.

    Сменить api_id и api_hash нельзя. Только удалить свой аккаунт целиком и создать новый. Собственно, на странице https://my.telegram.org/apps предупреждают, что их надо хранить в секрете.
    Ответ написан
  • Как объединить чат WhatsApp и Telegram в 1 чат?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Легального способа, увы, нет. И тут узкое место сам WhatsApp.

    WhatsApp предлагает доступ к API только для бизнесов - это первый рубеж, но не последний. В первых версиях Business API были какие-то функции для работы с группами, но их уже давно удалили, и сейчас API позволяет общение только с бизнес-аккаунтом напрямую.

    В WhatsApp есть интергации на основе реверс-инжиниринга web-клиента, но их использование нелегально и сопряжено с рисками бана. Если в такое и играть, то по крайней мере не своим основным аккаунтом, чтобы не было потом очень обидно. Также такая интеграция работает негарантированно и может сломаться в любой момент. Но её в теории достаточно для реализации моста.

    Я бы рекомендовал просто отпинать всех ретроградов, которые ещё не зарегались в Телеграме, чтобы исправили это досадное упущение.
    Ответ написан
    Комментировать
  • Как отправить сообщение по его id, aiogram?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Прислать повторно - нет. Bot API не позволяет получить историческую информацию по ранее отправленным сообщениям. Но можно переслать его в тот же чат с помощью метода forward_message, правда, будет выглядеть не очень красиво. Лучше хранить в базе не просто id сообщения, а исходные данные, на которых оно основано (фотографию и подпись).
    Ответ написан
    Комментировать
  • Как удалить сообщения который содержат Х в PyTeleBot?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Bot API не позволяет получать историю чата, только новые сообщения по мере их поступления. Читать историю можно только с помощью клиентского API (см. в сторону библиотек telethon или pyrogram).
    Ответ написан
    Комментировать
  • Если в чате ввести символ @ - появится список ботов, как запретить пользоваться ними не отключая "стикеры и GIF"?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Если задача состоит в том, чтобы пользователи в конкретной группе не оставляли таких сообщений, то можно их удалять с помощью бота с админскими правами. Например:

    @bot.message_handler(content_types=['text'])
    def keep_chat_clean(message):
        msg = message.text
        if "via_bot" in message.json and message.json["via_bot"]["username"] in BLACKLISTED_BOTS:
        try:
            bot.delete_message(message.chat.id, message.message_id)
        except telebot.apihelper.ApiException:
            # обрабатываем ситуацию, когда удаление не удалось
            pass
    Ответ написан
    Комментировать