Сегодня я опишу основы, как можно отправлять сообщения, фото, видео или аудио в ваш telegram канал с помощью JavaScript или PHP.
Для начала вам нужно создать бота, здесь нет ничего сложного, программировать ничего не надо.
В телеграме нужно найти, через поиск, бота BotFather, и добавить его в телеграм. С помощью бота BotFather, мы будем создавать своих ботов. Для этого заходим в бот BotFather, пишем /newbot и отправляем сообщение боту.
После того, как вы отправили /newbot, вам нужно придумать название для ваше бота. В моем случае, я назвал бот myddr64_bot
Теперь нужно придумать еще имя пользователя для нашего бота, одно из условий, имя должно заканчиваться на окончание “bot”. У меня, что имя бота, что имя пользователя, называются одинаково, хотя в названии бота, не обязательно использовать окончание “bot”.
После того, как вы придумаете имя пользователя, и отправите его боту, вы в ответ получите токен (715125500:AAHJCKYqq9AR_3yvn6EI7m5VTs_2ThYaav0), с помощью которого, вы будете иметь доступ к вашему созданному боту.
Сразу скажу, бот, который я привожу в примере, я уже удалил.
По этому принципу создаются все боты, но в нашем случае, мы не будем создавать программу под нашего бота. Наша задача, через бота отправлять сообщения в наш телеграм канал. Для этого, нужно зайти в настройки телеграм канала, и добавить нашего бота, как администратора.
На этом настройки телеграм канал закончены, единственное, мы предполагаем, что у нас канал публичный и имеет вид ссылки @your_channel
По сути, чтобы отправить сообщение в телеграм канал, нам достаточно в адресной строки нашего браузера создать запрос определенного формата.
Пример:
1 2 3 |
https://api.telegram.org/bot715125500:AAHJCKYqq9AR_3yvn6EI7m5VTs_2ThYaav0/sendMessage?chat_id=@your channel&parse_mode=HTML&text=Это текст для бота |
Для того, чтобы понимать, какие API команды понимает бот телеграма, вам нужно перейти на страницу справки. Там описаны все команды, и формат записи.
Когда вы сделаете запрос, пример которого, был показан выше, вы получите JSON ответ, который будет содержать небольшой отчет.
Пример:
1 2 3 |
{"ok":true,"result":{"message_id":9197,"chat":{"id":-1002517665581,"title":"ERROR","type":"channel"},"date":1540043380,"text":"\u0422\u0435\u0441\u0442"}} |
Что для нас здесь интересно, первое, это отправляя запрос к нашему боту и указывая id канала через @your_channel, мы в ответ получаем цифровое id нашего канала. Это очень полезная информация, т.к. этот id постоянный, и он не меняется, даже если вы поменяете название вашего канала, или сделаете канал частным, и он уже не будет доступен по ссылке @your_channel
Поэтому, в дальнейших запросах лучше сразу использовать полученный id.
Пример с полученным id:
1 2 3 |
https://api.telegram.org/bot715125500:AAHJCKYqq9AR_3yvn6EI7m5VTs_2ThYaav0/sendMessage?chat_id=-1002517665581&parse_mode=HTML&text=Это текст для бота |
Что касается параметра в запросе parse_mode=HTML, этот параметр позволяет обрабатывать наши теги, которые мы можем передавать в запросе.
Например, если мы захотим сделать наш текст жирным, то нужно использовать тег <b>.
Тегов не очень много, например:
- <b> – Жирный текст;
- <i> – Наклонный текст;
- <a> – URL ссылка.
Для перевода строки используем \n
Теперь приведу пример простой функции на JQuery, для отправки сообщения в телеграм канал.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var chatid = "-1002517665581"; var token = "715125500:AAHJCKYqq9AR_3yvn6EI7m5VTs_2ThYaav0"; var text = "Текст для <b>нашего</b> бота"; //Отправляем текст в наш телеграм канал otpravka(token,text,chatid); function otpravka(token,text,chatid){ var z=$.ajax({ type: "POST", url: "https://api.telegram.org/bot"+token+"/sendMessage?chat_id="+chatid, data: "parse_mode=HTML&text="+encodeURIComponent(text), }); }; |
А вот так, будет выглядеть код на PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$chatid = "-1002517665581"; $token = "715125500:AAHJCKYqq9AR_3yvn6EI7m5VTs_2ThYaav0"; $text = "Текст для нашего бота"; otpravka($token,$text,$chatid); function otpravka($token,$text,$chatid){ $text=urlencode($text); $url="https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chatid."&parse_mode=HTML&text=".$text; @file_get_contents($url); } |
Вот таким нехитрым способ, можно, например, настроить дублирующие уведомления о новых заказах (помимо почты), вашего интернет магазина, в telegram канал.