如何使用 python-telegram-bot 向电报频道发送消息

时间:2021-03-13 11:01:35

标签: python telegram telegram-bot python-telegram-bot

我创建了一个电报机器人并将其添加到我的电报频道。现在,当我的 python 程序中发生某些事情时,我想用它向我的频道发送消息。例如,我有一个 Python 程序,它每 15 秒检查一次天气,当天气发生变化时,我希望我的机器人将新的天气信息发送到我的电报频道。

所以我的问题是,我该怎么做?我被卡住了,因为 python-telegram-bot 需要来自用户的消息来触发,或者预定的订单,而我无法安排它,因为我不知道什么时候天气会改变。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用请求方法。 Telegram 提供了一个很酷的 API 来与您的机器人发送消息,您需要使用链接来发送消息,例如:

https://api.telegram.org/bot<yourbottoken>/sendMessage?chat_id=<yourchatid>&text=Hello World!

它的作用是将 Hello World 消息发送到某个聊天 ID。 如果您不知道如何获取聊天 ID,则需要 DM 您的机器人,您可以使用此链接:

https://api.telegram.org/bot<yourbottoken>/getUpdates

页面中会有相当多的JSON数据,需要使用Control + F搜索不带@的电报用户名并搜索聊天ID

如果您想在 Python 代码中执行此操作,则需要使用 requests 模块。

import requests
requests.post('https://api.telegram.org/bot<yourbottoken>/sendMessage?chat_id=<yourchatid>&text=Hello World!')