В Телеграм есть много разных служебных уведомлений, которые он направляет при наступлении событий при взаимодействии пользователя с ботом, в рамках данной статьи нам будет интересно поработать с теми, которые приходят при начале или при удалении диалога с блокировкой бота.
В любом из указанных событиях приходит объект my_chat_member в котором есть нужные нам данные пользователя в случае если он подписался или отписался от бота.
Исключение: В случае первого старта бота этот объект не приходит, если пользователь перезапускает ранее удаленного бота, то объект приходит с пометкой old_chat_member->status == «kicked»
< «chat»:< «id»:123456789, «first_name»:»User», «type»:»private» >, «from»:< «id»:123456789, «is_bot»:false, «first_name»:»User», «language_code»:»ru» >, «date»:1685526728, «old_chat_member»:< «user»:< «id»:987654321, «is_bot»:true, «first_name»:»Bot», «username»:»Bot_bot» >, «status»:»kicked», «until_date»:0 >, «new_chat_member»:< «user»:< «id»:987654321, «is_bot»:true, «first_name»:»Bot», «username»:»Bot_bot» >, «status»:»member» > >
При получении этих уведомлений достаточно проверить свойство объекта my_chat_member->new_chat_member->status в случае если оно равно «member» , то это активный пользователь, если же оно равно «kicked» , то это удаление бота с блокировкой.
Что делать при том или ином варианте, зависит от логики вашего приложения. Например если пользователь удаляет и блокирует бот, то можно в базе данных такому пользователю ставить флаг «неактивен», чтобы не тратить на него ресурсы при рассылке сообщений.
Пример получения таких служебных уведомлений:
Альтернативный способ проверки
При взаимодействии с пользователем, бот направляет запросы на выполнение каких-либо действий, и в ответ всегда получает объект с информацией об успешности выполнения запроса с дополнительными вспомогательными данными.
// пример ответа на запрос < «ok»:true, «result»:true >// пример ответа на запрос при блокировке бота
Можно направить безобидный (незаметно для пользователя) запрос на передачу действия бота через метод sendChatAction например typing , если пользователь не заблокировал бота, даже если он при этом удалил чат с ботом, в ответ придет положительный ответ.
echo file_get_contents(«https://api.telegram.org/bot/sendChatAction?chat_id=);
В зависимости от ответа можно сделать пометку в базе данных пользователю: «активный» или «неактивный».
Если у вас есть еще примеры, просьба написать в комментариях — думаю дополнительный опыт будет только плюсом.
Источник: imakebots.ru
Получение токена бота в Telegram — как узнать, назначение и использование кода
Интересное в тг
Автор Евгения А. На чтение 4 мин Просмотров 5.4к.
Понять, что такое токен бота в «Телеграмме», просто – это уникальный буквенно-цифровой идентификатор программы, однозначно связанный с нею. Применяется при работе через bot-API интерфейс для точной идентификации.
Токен и его назначение в Telegram
При образовании нового бота ему присваивается уникальный код, называемый токеном.
Его функция – однозначно идентифицировать приложение, обратившееся к сервису Bot-API мессенджера. В дальнейшем обращения к роботу осуществляются при помощи уникального номера.
Как использовать токен своего бота – пример
Все роботы при регистрации получают уникальный идентификатор вида 635421:DJQ-GSJ4321gh2v3-zyx15W1v3u321ew22. Все обращения к Bot API осуществляются запросами вида //api.telegram.org/bot/имя_метода. Строка обращения к API для данного токена примет вид //api.telegram.org/bot635421:DJQ-GSJ4321gh2v3-zyx15W1v3u321ew22/getMe.
Способы узнать токен бота в «Телеграме»
Узнавать токен бота можно несколькими способами, такими как:
- подбор требуемого значения путем перебора всех возможных комбинаций, на профессиональном сленге «брутфорс», при длине идентификатора в 40 символов на решение задачи могут уйти десятки лет;
- взлом переписки с ботом, выдающим токены, однако, по утверждению создателя «Телеграма», это невозможно, такие случаи до сих пор неизвестны;
- захват учетной записи, которой принадлежит bot, для чего потребуется доступ к смартфону владельца.
Для рядового пользователя вероятность завладеть ботом мала. Отсюда следует, что предложение услуг и программного обеспечения для взлома представляется попыткой продать некачественный товар или неисполнимые обязательства, т. е. мошенничеством.
Чужого бота
Получение чужого токена равносильно его взлому, может преследоваться согласно административному или уголовному законодательству. Попытки узнать код обманным путем также преследуются по закону. Для обмана Telegram-bot написаны скрипты, главной задачей которых есть попытка запутать программу, сломать сценарий ее работы. Я уделю внимание мерам предосторожности, уменьшающим вероятность взлома аккаунта:
- не пользуйтесь услугами сторонних лиц по взлому бота или аккаунта;
- не применяйте программ взлома аккаунта через «брутфорс»;
- не доверяйте фотографиям, якобы доказывающим действенность методов вскрытия, скорее всего, они окажутся скриншотами, отредактированными в графическом пакете;
- проверяйте написание username для обнаружения похожих названий, с целью обмана может быть создана учетная запись, отличная от оригинала на 1 символ.
- ни при каких обстоятельствах не делайте авансовых платежей, что бы ни обещали вам.
Несмотря на заявления и премию в $300 000, обещанную создателем мессенджера, еще никто не смог найти решение задачи.
Своего бота
Также читайте: Места хранения файлов и видео из Telegram на компе, на iOS и андроид или windows phone и как посмотреть загрузки
Необходимо зайти в свой аккаунт и выполнить следующие действия:
- запустить BotFather;
- набрать команду /mybots;
- выбрать из списка требуемое наименование;
- нажать кнопку API token;
- сохранить значение.
Как получить токен для бота в ТГ
Простой и быстрый способ получения токена в «Телеграме» – использовать специализированные программы, информация о которых размещена на официальном сайте мессенджера. Действия для получения идентификатора:
При отсутствии зарегистрированных роботов в аккаунте идентификатор не выводится. Проверить правильность функционирования системы можно путем создания нового робота командой /newbots. Удачное выполнение всех инструкций завершится выводом токена в окно мессенджера.
Обзор
Источник: instaguru.online
Telegram разрешил авторизироваться на сайтах с помощью своего аккаунта
Команда разработчиков мессенджера Telegram неожиданно добавила в него новую функциональную возможность, которая должна сделать весь сервис для общения еще более популярным. Теперь авторизироваться на различных веб-сайтах можно с помощью своей учетной записи, что позволяет отказаться от регистрации на новых интернет-ресурсах. Всем разработчики предоставили специальные API, позволяющие добавить на сайт поддержку новой функциональной возможности.
Чтобы войти через учетную запись мессенджера необходимо найти на сайте виджет «Telegram Login» который может иметь различный вид, но в классическом варианте он указан как «Войти через Telegram». После нажатия на эту кнопку потребуется ввести номер, на который зарегистрирован мессенджер, а затем подтвердить вход с помощью кода, который приходит на номер телефона или же прямо в рамках всего сервиса в виде электронного сообщения.
Разработчики для внедрения новой функции должны использовать специального бота, позволяющего пользователю авторизироваться на сайте. Команда Telegram утверждает, что новый способ авторизации на сайтах абсолютно безопасен, потому как личные данные пользователи не передаются стороннему веб-сайту, за исключением основных – никнейма и имени. При необходимости, прямо в настройках мессенджера, пользователь может отменить авторизацию на конкретных отдельных сайтах.
Также в настройках Telegram теперь есть специальный раздел, в котором отображается полный перечень всех сайтов, в которых была произведена авторизация через мессенджер. Новая функциональная возможность однозначно придется по вкусу всем пользователям этого сервиса для общения, а еще она должна сделать его более популярным, поскольку теперь достаточно иметь один аккаунт для авторизации везде, но конечное слово за разработками, которые должны добавить такую возможность на свой сайт.
Проверить работу новой функции можно здесь.
Источник: akket.com