问题描述
我已经为电报制作了一个机器人,它可以正常工作,但是几天前似乎出现了问题。
“在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()
您能告诉我这是否有问题吗?我该如何解决?
谢谢
解决方法
首先,我强烈建议如果您是python telegram bot的新手,请遵循其bot教程。在执行操作时使用裸机API很难并且容易出错,只需按照以下步骤操作,直到您更习惯启动并运行基本的bot:
https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-Your-first-Bot
对于该问题,您在“ r = request ....”处的代码正在设置一个Webhook。这不是您仅需打开和关闭的功能,而是将信息接收和发送到Telegram服务器的完全不同的方式,并且需要进行大量设置。我真的不能推荐一个修复程序,因为您的代码将很多东西混在一起了。