首页 > 解决方案 > webhook 处于活动状态时无法使用 getUpdates 方法;使用 deleteWebhook 先删除 webhook (DELETEWEBHOOK DOESN'T WORK)

问题描述

我已经为电报做了一个机器人,它可以工作,但几天前它出现了一个问题。

“webhook 处于活动状态时无法使用getUpdates方法;用于deleteWebhook先删除 webhook”

我使用deleteWebhook但它不起作用(使用 python-telegram-bot)。我使用的是 Python 3.6.12 版本

data = {"url": ""}
    bot = telegram.Bot('XXXXXX ')

    if (normalize(update.message.text).upper() == 'HOLA'):
        chat_id = update.message.chat_id
        bot.sendMessage(chat_id, 'HOLA')
      
        
        #pload = {'chat_id':chat_id,'message_id':'123'}
        #r = requests.get('https://api.telegram.org/botXXXXXX/deleteWebhook')
        #r = requests.post('https://api.telegram.org/botXXXXXX/deleteWebhook',data = pload)
        r = requests.post('https://api.telegram.org/botXXXXXX/setWebhook',data = data)
        respuesta = bot.deleteWebhook()
        bot.sendMessage(chat_id, respuesta)
        respuesta = bot.deleteWebhook()

你能告诉我这是否有问题吗?我该如何解决?

谢谢

标签: botswebhooks

解决方案


首先,我强烈建议如果您是 python 电报机器人的新手,请遵循他们的机器人教程。像您一样使用裸机 API 很困难并且容易出错,只需按照此步骤逐步操作,直到您更轻松地启动和运行基本机器人:

https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-Your-first-Bot

至于问题,您在“r = requests....”处的代码正在设置一个 webhook。这不是您只需打开和关闭的东西,它是一种完全不同的方式来接收和发送信息到 Telegram 服务器,并且需要大量设置。我真的不能推荐修复,因为您的代码混合了很多东西。


推荐阅读