SELECT * FROM Vzakladke.net

Статьи об автоматизации и программировании


Как настроить бота в Telegram

 

 

Бот в Telegram – это аккаунт, настроенный с помощью команд на выполнение определенных задач, для создания и настройки ботов существует отдельный API.

Сперва Бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather https://web.telegram.org/#/im?p=@BotFather.

Пишем ему /start и получаем список всех его команд.

Дальше надо писать команду /newbot и бот ответит что надо придумать имя Вашему боту. В ответ "BotFather" вернет токен бота и ссылку для быстрого добавления бота в контакты.

 

Что далее делать с полученной парой ключ-токен (далее [KeyID:TOKEN]) 

 

Сначала надо пройти по ссылке и получить информацию о своем боте

https://api.telegram.org/bot[KeyID:TOKEN]/getMe 

Здесь Вы скорее всего увидите свою информацию, т.к. пользователей кроме Вас больше не было и Вы получите свой идентификатор [ID]


https://api.telegram.org/bot[KeyID:TOKEN]/getUpdates?offset=0 

И теперь .вы можете отправить себе сообщение на указанный идентификатор Вашего профиля [ID]

https://api.telegram.org/bot[KeyID:TOKEN]/sendMessage?text=test&chat_id=[ID]

 

 

Давайте представим реализацию на PHP нашего бота, который по расписанию через CRON будет отправлять Вам сообщения с сервера.

 

$bot_id = "<bot ID generated by BotFather>";
$chat_id ='123456789';
// next step 
$url = 'https://api.telegram.org/bot' . $bot_id . 
'/sendMessage?text='.urlencode($text).
'&chat_id='.intval($chat_id);
$result = file_get_contents($url);
$result = json_decode($result, true);

var_dump($result['result']); 

 

Где $chat_id является частью пары ключа-токена взятой до знака ":". В этом  $chat_id как раз и кроется неудобство, что каждому пользователю чтобы отправлять сообщение, необходимо делать отдельный запрос, то есть 100 пользователей = 100 запусков скрипта. Где то пишут, что надо просто бота добавить в канал администратором, но на деле его можно добавить только в группу, а там нет администраторов. С этим вообщем пока остались неясности.

 

Но можно использовать бот Телеграмма просто для отправки сообщения приветствия:

$telegram=json_decode(file_get_contents('php://input'),true);
file_get_contents('https://api.telegram.org/bot'.$bot_id.
'/sendMessage?disable_web_page_preview=1&chat_id='.$telegram['message']['chat']['id']
 .'&text='.urlencode('Привет 
'.$telegram['message']['chat']['first_name'].' '.$telegram['message']['chat']['last_name']));

 

Конечно можно преследовать и серьезные цели, например создание чата на сайт для общения с клиентами, например:

https://github.com/Surzhikov/TelegramSiteHelper

 

Дата публикации: 2015-11-04 23:47:59

PHP

1

Отзывы:

Иван
Да, Телеграм стал модный сейчас. Я недавно тоже разбирался с его API. Сделал уведомления для пользователей. Если интересно, описал процесс в своем блоге - http://freelancer.kiev.ua/blog/как-создать-бота-telegram-на-php-часть-2/ Но популярность у пользователей моего сайта пока средняя. Около 5% пользуются...

Ваше имя:

Ваш e-mail (необязательно):

Сообщение:

Captcha