Телеграм бот на PHP отправляющий сообщения с сайта
Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто.
Так же стояла задача отправлять сообщения не только владельцу сайта, но и дублировать их в группу сотрудников компании.
Было решено создать телеграм бота, который будет принимать данные с помощью API и отправлять их пользователям.
Содержание
Шаг 1. Создание телеграм бота
Боты в Telegram создаются через другого специального бота @BotFather. Нужно найти его и отправить ему команду /start.
Для создания нового бота отправляем следующую команду /newbot. После чего бот запросит имя вашего нового бота, оно обязательно должно заканчиваться на Bot. В случае успеха в ответ получаем уникальный токен бота, который понадобится для дальнейшей работы. И не забудьте добавить вновь созданного бота в ваши контакты отправив ему команду /start
Шаг 2. Получить токен и chat id бота
Чтобы отправить сообщение пользователю через бота достаточно вызвать определенный URL из PHP скрипта содержащий токен бота и внутренний ID чата chat id.
Токен бота у нас уже есть, а chat id можно получить 2 способами:
- Написать боту @ShowJsonBot любой текст. В ответ он вернет вам некие данные в JSON формате. Находим объект chat и в нем id — это и есть ваш chat id.
- В адресной строке ввести https://api.telegram.org/bot<YourBOTToken>/getUpdates где
<YourBOTToken>
— это ранее полученный токен вашего бота. Находим объект chat и в нем id — это и есть ваш chat id.
Шаг 3. Разработка PHP скрипта для отправки сообщений в Telegram
Чтобы бот отправил сообщение, нужно сделать запрос к определенному URL содержащему токен бота, ваш chat id и значение text — текст, который бот выведет пользователю.
Поиск строительных материалов и комплектующих https://aveprice.ru. Ведение статистики, мониторинг, сравнение и история цен на стройматериалы. В одном месте собраны поставщики, заводы-производители, ритейлеры и различные распространители строительных материалов и комплектующих.
Проверить работоспособность можно и напрямую через адресную строку браузера. Пример строки:
https://api.telegram.org/bot<YourBOTToken>/sendMessage?chat_id=<YourCHATID>&text=<YourMESSAGE>
<YourBOTToken>
— это токен вашего бота, <YourCHATID>
— ваш chat id и <YourMESSAGE>
— это текст сообщения.
Запрос к URL будем делать с помощью cURL :
// токен бота define('TELEGRAM_TOKEN', '123456789:XXXXXXXXXXXXXXXXXXXXXXX'); // ваш внутренний ID define('TELEGRAM_CHATID', '123456789'); $message = 'Сообщение'; $ch = curl_init('https://api.telegram.org/bot'.TELEGRAM_TOKEN.'/sendMessage?chat_id='.TELEGRAM_CHATID.'&text='.$message); // URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Не возвращать ответ curl_exec($ch); // Делаем запрос curl_close($ch); // Завершаем сеанс cURL
Как видите все довольно просто. В переменной $message
можно передавать любой текст, который будет отправляться ботом пользователю.
Прокси для телеграм бота
В связи с блокировкой телеграм возможно сообщения не будут отправляться, так как скрипт не сможет запросить нужный URL. Для этого можно воспользоваться прокси сервером.
Нужен ремонт телефонов краснодар? Качественный, проверенный и надежный сервис оказывает услуги по ремонту телефонов любой сложности за короткий срок.
Прокси сервера можно найти на сайтах-списках прокси или купить. Чтобы соединиться через прокси-сервер в параметрах вызова cURL добавляем несколько строк
curl_setopt ($ch, CURLOPT_PROXY, "127.0.03.1:8080"); curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
Где 127.0.03.1:8080
— это адрес и порт прокси-сервера и CURLPROXY_SOCKS5
— это тип соединения, в данном случае SOCKS5
Добавить бота в группу телеграм
Чтобы бот мог отправлять сообщения в группу, необходимо его туда добавить. Сделать это можно в настройках группы в разделе Добавить участника. В поиске необходимо ввести имя вашего бота и нажать OK.
Теперь в настройках скрипта нужно изменить chat id пользователя, на chat id нужной группы. Для этого предварительно нужно написать любое сообщение в чат, а затем в адресной строке ввести https://api.telegram.org/bot<YourBOTToken>/getUpdates где <YourBOTToken>
— это ранее полученный токен вашего бота. После находим объект chat и в нем id — это и будет chat id группы.
Заключение
Как видите отправлять сообщения в телеграм не так уж и сложно. А пример PHP скрипта приведенный здесь, можно модернизировать под любые нужны.
А если немного изучить документацию, по аналогии можно создавать аналогичных ботов для приема заявок с сайта в Viber или например ВКонтакте.
А на этом сайте есть экологичная паркетная доска
Assalomu alekum qayerliksilar
Спасибо, ваш сайт очень полезный!