Как отправить сообщение в Telegram канал с помощью PHP?
Мессенджеры прочно вошли в нашу жизнь. С помощью них не просто общаются, но и создают целые бизнесы. Ну в рамках данной статьи до полноценного бизнеса далековато, поэтому сегодня я хочу Вам показать, как можно отправить сообщение в Telegram канал, с помощью PHP, например с собственного сайта.
Где это может быть полезно? Например, в разделе обратной связи данные из формы могут отсылаться не только на почту, но и в канал. А так как смартфон у нас практически всегда под рукой, то и сообщение можно увидеть намного быстрее и удобнее.
Или например, можно сделать систему уведомлений об ошибках на сайте. Если на сайте произойдет ошибка, вы сможете сразу увидеть ее и предпринять меры. Причем в сообщении может содержаться очень подробная информация.
Еще пример, ежедневная статистика посещаемости - в конце дня статистика по посещениям формируется на стороне сайта и отсылается Вам в канал.
В общем, придумать можно очень много всего - зависит от вашей фантазии и потребностей.
Теперь непосредственно сам алгоритм действий:
- Создаем канал Telegram
- Создаем бота Telegram
- Даем боту полномочия администратора в созданном канале
После, того как Вы выполнили все эти шаги, вы сможете отправлять сообщения в канал с помощью простых http-запросов:
https://api.telegram.org/bot%{BotApiKey}/sendMessage?chat_id=%{ChannelName}&text=%{Text}
- %{BotApiKey} - это секретный ключ, который создается отцом всех ботов BotFather при создании бота
- %{ChannelName - название вашего канала
- %{Text} - текст сообщения
Вызываем:
$botApiToken = ''; // токен бота
$data = [
'chat_id' => '', // название канала
'text' => 'Привет, Бот!'
];
$resp = file_get_contents("https://api.telegram.org/bot{$botApiToken}/sendMessage?" . http_build_query($data) );
print $resp;
Советую поэкспериментировать с переменной $resp, посмотреть какие ответы он возвращает, когда все хорошо и когда есть ошибка.
Вот так просто можно отправлять сообщения в Telegram канал с помощью PHP.
-
- Михаил Русаков
Комментарии (4):
'chat_id' => '', // название канала - в формате @my-channel-name
Ответить
А как сделать чтобы не отображался ответ от сервера Telegram?
Ответить
Покажите, пример, того, что Вы имеете ввиду
Ответить
https://drive.google.com/open?id=1usQDz7bilRACmvFKJ1mq9ysoPzJlpIBf
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.