Но вот незадача — для отправки сообщения нужен ID чата, в который это самое сообщение отправлять. Нужно его каким-то образом получить. Итак, начнем. Для начала делаем канал публичным. После получения id можно будет снова сделать его частным, если требуется. Вводим адрес в строку браузера, изменив выделенное на своё:
https://api.telegram.org/botBOT:TOKEN/getChat?chat_id=@имяканала
BOT:TOKEN
— токен бота, полученный при его создании.
@имяканала
— создается при переводе канала в публичный.
В ответ получите закодированное в json сообщение:
{"ok":true,"result":{"id":-100ХХХХХХХХХ,"title":"ХХХХХХХХХ","username":"ХХХХХХХХХ","type":"channel"}}
Расшифровывается оно так: ok: true
— запрос успешно выполнен id: -100xxxxxxx
— это и буде ID чата, вводится со знаком минус.
После, того как Вы выполнили все эти шаги, вы сможете отправлять сообщения в канал с помощью простых 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;