我创建了一个电报机器人并将其添加到我的电报频道。现在,当我的 python 程序中发生某些事情时,我想用它向我的频道发送消息。例如,我有一个 Python 程序,它每 15 秒检查一次天气,当天气发生变化时,我希望我的机器人将新的天气信息发送到我的电报频道。
所以我的问题是,我该怎么做?我被卡住了,因为 python-telegram-bot 需要来自用户的消息来触发,或者预定的订单,而我无法安排它,因为我不知道什么时候天气会改变。
答案 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!')