Главная страница

Теги. bot теги. Бот создан, настроен, но как его запустить Если сейчас мы перейдём в нашего бота и запустим его, то мы получим Ничего мы и не получим, т к. мы только создали бота


Скачать 1.86 Mb.
НазваниеБот создан, настроен, но как его запустить Если сейчас мы перейдём в нашего бота и запустим его, то мы получим Ничего мы и не получим, т к. мы только создали бота
Дата22.10.2022
Размер1.86 Mb.
Формат файлаodt
Имя файлаbot теги.odt
ТипДокументы
#747707
страница18 из 27
1   ...   14   15   16   17   18   19   20   21   ...   27

Как отправлять сообщения в закрытые каналы


Для того, чтобы отправлять сообщения в закрытые каналы, нужно:

1. Сделать канал публичным, установить для него username.
2. Добавить в канал бота.
3. Перейти по ссылке:

https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=@[USERNAME_КАНАЛА]&text=test

Пример такой ссылки:

https://api.telegram.org/bot5113845248:AAET1WWcrpZRjxbb4z4kcDwUstVtCfzLnhE/sendMessage?chat_id=@testdjhasdhiah&text=test

После перехода по ссылке будет выведен id канала, сохраняем его:




4. Делаем канал приватным.
5. Отправляем сообщения как и раньше:

bot.send_message(-1001387583605, "Привет!")

Также сообщения можно отправлять просто перейдя по этой ссылке, или отправив на неё запрос:

https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=[ID_КАНАЛА]&text=test

Что я и сделал в видео, использовав такую ссылку:

https://api.telegram.org/bot5113845248:AAET1WWcrpZRjxbb4z4kcDwUstVtCfzLnhE/sendMessage?chat_id=-1001654401360&text=test

Попробуйте создать такую же ссылку, перейти по ней, и посмотреть что произойдёт.

Что же за волшебная ссылка?


Каждое действие, которое совершает бот в телеграме, - совершается с помощью API. Бот отправляет запрос к API телеграма и получает ответ.

Ссылка, которая была использована в прошлом шаге, - ссылка API телеграма. Если её рассмотреть внимательно, то можно увидеть следующие её части:

А вот и сама ссылка:

https://api.telegram.org/bot5113845248:AAET1WWcrpZRjxbb4z4kcDwUstVtCfzLnhE/sendMessage?chat_id=@testdjhasdhiah&text=test

Эти "части" ссылок могут быть разные, и зависят от запросов, которые бот передаёт к API телеграма.

Примерно так ваш бот взаимодействует с телеграм API:



Давайте разберём взаимодействие подробнее. Допустим, мы хотим отправить сообщение "Привет" пользователю бота с chat_id 470208396:

1) Интерпетатор видит такую конструкцию:

bot.send_message(470208396, "Привет")

2) Отправляет запрос к API телеграма:

https://api.telegram.org/bot5221558431:AAGY2B6Vs80o5S_c88DxgFCmdA3kKhbepWg/sendMessage?chat_id=470208396&text=Привет

3) Сервер обрабатывает запрос. В данном случае всё указано правильно, поэтому сервер отправит сообщение, как мы его и просили:



Если бы в запросе была какая-то ошибка, он бы его не выполнил.

4) Сервер передаёт ответ обратно. С помощью него можно узнать, правильно ли мы отправили запрос, его статус, и другую информацию.

5) Мы получаем ответ в формате JSON:



JSON - это просто формат данных, с помощью которого серверам удобно передавать и получать информацию.

6) Интерпретатор обрабатывает JSON ответ и проверяет, получилось ли выполнить метод или нет. Если получилось - проходит дальше по коду, если нет - выбрасывает ошибку, в зависимости от ответа сервера. В данном случае сообщение отправилось, соответственно ошибок никаких не появилось.

 

Если посмотреть внимательно, то объект Message - это тоже JSON ответ, который был переконвертирован в словарь python:


1   ...   14   15   16   17   18   19   20   21   ...   27


написать администратору сайта