Содержание
Примеры как зарегистрировать бота в Telegram, описание и взаимодействие с основными методами API. Документация на core.telegram.org и tlgrm.ru (неофициальный, на русском).
- Все запросы к API должны осуществляться по HTTPS, подойдет бесплатный сертификат «Let’s Encrypt».
- В связи с блокировкой Telegram в РФ, возможно придется использовать прокси (в зависимости от нахождения серверов хостинга).
Регистрация бота
Для регистрации нового бота нужно написать «папе ботов» @BotFather команду /newbot
Следующим сообщением отправляем название для бота, обязательно на конце имени должно быть слово «bot» или «_bot». Ответным сообщением получим токен:
Тут же можно настроить описание и аватарку:
/setname | Имя |
/setdescription | Краткое описание |
/setabouttext | Описание бота |
/setuserpic | Юзерпик |
Далее нужно поставить «Webhook» чтобы все сообщения из Telegram приходили на PHP скрипт ( https://example.com/bot.php ). Для этого нужно пройти по ссылке в которой подставлены полученный токен и адрес скрипта.
https://api.telegram.org/bot /setWebhook?url= https://example.com/bot.php
В ответе будет
При смене токена, установку вебхука нужно повторить.
Входящие сообщения
Сообщения приходят POST-запросом, с типом application/json . Получить его в PHP можно следующим образом:
Чтобы посмотреть входящие данные, их придется дампить в файл:
Опубликовано Антон Миронов в 16.02.2018
Бот для телеграм на php.
На данный момент telegram развивается очень активно и является одним из популярных мессенджеров, охватывающих огромную аудиторию. Одной из особенностей данного приложения является наличие ботов, выполняющих различные функции. К таким функциям относятся онлайн-чаты, информирование пользователя (например, о новой записи в блоге), различные игры или помощь пользователю в различных аспектах.
В этой статье будет рассказано о том, как создать самого простого бота на языке php.
А теперь перейдем подробнее к пошаговой инструкции, рассказывающей как создать бот для телеграм на php.
0. Подготовка
Самым первым делом необходимо отметить, что Телеграм позволяет размещать ботов только на доменах, защищенных сертификатом SSL. Если у вас еще нет такого сертификата, вам необходимо его приобрести. Возможно, вам также понадобится хостинг для размещения файлов бота. Для этих целей прекрасно подойдет хостинг от компании Бегет, предоставляющий бесплатные сертификаты. О его преимуществах подробно я расписал в этой статье .
kot488, Нет, bot.php только запускает бота, а его логика хранится в классе TestBot в файле test_bot.php
Для добавления новой команды "hi" в класс нужно добавить список команд:
И обработку команды:
А по-умолчанию есть только команды /start и /help
Класс TestBot наследуется от TelegramBot: https://github.com/webportnoy/telegram_bot/blob/ma.
До прям отличного примера еще далеко(много функционала не реализовано, но главную функцию выполняет):
бот для автопостинга из группы/паблика ВК в канал Телеграма, поддерживает несколько пабликов/каналов.
github vk-to-telegram-bot
Построено вот на этом: https://github.com/akalongman/php-telegram-bot
Это уже тянет на отличный пример бота.
На счет SSL: сразу советую купить себе VPS и поставить туда Let’s Encrypt, никаких проблем не будет, ну или сделать самоподписанный.