如何通过Token检查Telegram Bot实例是否已运行?
检查Telegram Bot是否已运行的实用方法
调用getUpdates接口验证
先给Bot发送一条带唯一标识的测试消息(比如测试标识:202405201530),然后调用接口:GET https://api.telegram.org/bot<你的BotToken>/getUpdates
如果返回结果里找不到这条测试消息,说明已有其他运行中的Bot实例拉取并处理了这条消息,即Bot正通过其他源运行;如果能获取到,说明当前没有其他持续轮询的实例在运行。检查Webhook配置
调用接口查看Bot的Webhook状态:GET https://api.telegram.org/bot<你的BotToken>/getWebhookInfo
如果返回的webhook_url不为空且显示last_error_message无异常,说明Bot可能通过Webhook方式在其他源运行(长轮询实例不会触发Webhook,所以这个方法仅针对Webhook部署的场景)。结合getMe接口辅助判断
先调用GET https://api.telegram.org/bot<你的BotToken>/getMe确认Token有效(返回Bot的基本信息),再结合上面的getUpdates或Webhook检查,就能更准确判断Bot是否已在其他地方运行。
内容的提问来源于stack exchange,提问作者Денис Вережников
相关产品推荐
相关产品推荐

