早上好。我正在尝试编写一个 Telegram 机器人来帮助我在 Telegram 上发送格式化的帖子。我对代码没有任何具体问题,而是很好奇:根据当前的设置方式,查看日志,我了解到机器人始终在运行,并且每 10 次就会收到不断的更新秒。由于我没有经常使用它,而是偶尔使用,是否可以将其发送到睡眠模式,然后只需单击 /start 命令即可将其唤醒?
日志:
2024-05-04 12:22:05,706 - INFO - Scheduler started
2024-05-04 12:22:05,707 - INFO - Application started
2024-05-04 12:22:15,955 - INFO - HTTP Request: POST
https://api.telegram.org/bot{TOKEN}/getUpdates "HTTP/1.1 200 OK"
2024-05-04 12:22:20,117 - INFO - HTTP Request: POST
https://api.telegram.org/bot{TOKEN}/getUpdates "HTTP/1.1 200 OK"
2024-05-04 12:22:20,418 - INFO - HTTP Request: POST
https://api.telegram.org/bot{TOKEN}/sendMessage "HTTP/1.1 200 OK"
2024-05-04 12:22:26,449 - INFO - HTTP Request: POST
https://api.telegram.org/bot{TOKEN}/getUpdates "HTTP/1.1 200 OK"
主要:
def main():
app = ApplicationBuilder() \
.read_timeout(100) \
.write_timeout(100) \
.token(os.environ["TG_BOT_TOKEN"]) \
.build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("stop", stop))
.
.
.
.
.
app.run_polling()
if __name__ == '__main__':
main()
使用长轮询方法,你不能这样做。但是,对于使用 webhook 的机器人来说就是这种情况。每当有更新(例如传入消息)时,Telegram Bot API 服务器都会向您的 webhook 发送请求。您的 webhook 代码不必一直监听
/getUpdates
,而是充当传入请求的 Web 服务器,它只是处理并完成操作。
希望这有帮助。