Статья сборная, про Telegram и веб разработку в связке с ним.
В связи с блокировкой Telegram на территории РФ, для всех манипуляций в браузере нужно пользоваться Tor Browser или VPN, а для отправки сообщений использовать прокси (в роли которого может выступить Tor).
Как создать бота в Telegram
- Открываем диалог с @BotFather, пишем
/newbot
; - Заполняем имя бота. Может быть любым;
- Вводим ярлык бота. Заполняется латиницей, цифрами, дефисом и подчёркиванием. Обязательно оканчивается на
bot
. Например: MyTest13413513423_bot; - Копируем и сохраняем выданный токен API для управления ботом, храним его в секрете. У нас в примере это
827640201:AAEpgTZjmIQOwC-RxrZTcvFnjX9B4dKp2OQ
.
Отправка сообщений себе в Telegram из PHP
- Создаём нового бота (по примеру выше).
- Стартуем с ним диалог, пишем пару-тройку любых сообщений. Это нужно затем, чтобы бот мог отправлять вам личные сообщения.
- Далее есть 2 пути. Либо общаемся с ботом @ShowJsonBot и выуживаем оттуда chat id, либо открываем в браузере
https://api.telegram.org/bot[token]/getUpdates
. Вместо[token]
подставляем токен API бота. У нас в примере этоhttps://api.telegram.org/bot827640201:AAEpgTZjmIQOwC-RxrZTcvFnjX9B4dKp2OQ/getUpdates
. - Получаем результат, из которого нам нужно выудить ваш ID. На него бот будет слать сообщения.
Если result пустой, как на скриншоте, то попробуйте отправить ещё несколько сообщений боту
Код PHP для отправки сообщений в Telegram
/** * Отправка сообщений в Telegram */ function sheensay_php_send_to_telegram( $msg = 'Тест' ) { $token = '827640201:AAEpgTZjmIQOwC-RxrZTcvFnjX9B4dKp2OQ'; // токен API бота $chat_id = '123456789'; // ваш ID // CURL отправка сообщения $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, 'https://api.telegram.org/bot' . $token . '/sendMessage' ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, 'chat_id=' . $chat_id . '&text=' . urlencode( $msg ) ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 ); // Настройки прокси, это часто необходимо $torSocks5Proxy = "socks5://127.0.0.1:9050"; curl_setopt( $ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5 ); curl_setopt( $ch, CURLOPT_PROXY, $torSocks5Proxy ); /*$proxy = '1.2.23.4:8080'; $auth = 'login:password'; curl_setopt( $ch, CURLOPT_HTTPPROXYTUNNEL, 1 ); curl_setopt( $ch, CURLOPT_PROXY, $proxy ); curl_setopt( $ch, CURLOPT_PROXYUSERPWD, $auth );*/ $result = curl_exec( $ch ); curl_close( $ch ); }
Используя функцию выше, в коде PHP можно в нужный момент отправлять сообщения в Telegram:
sheensay_php_send_to_telegram( $msg = 'Отправляем тестовое сообщение себе' );
Свежие комментарии