bots - 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()
你能告诉我这是否有问题吗?我该如何解决?
谢谢
解决方案
首先,我强烈建议如果您是 python 电报机器人的新手,请遵循他们的机器人教程。像您一样使用裸机 API 很困难并且容易出错,只需按照此步骤逐步操作,直到您更轻松地启动和运行基本机器人:
https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-Your-first-Bot
至于问题,您在“r = requests....”处的代码正在设置一个 webhook。这不是您只需打开和关闭的东西,它是一种完全不同的方式来接收和发送信息到 Telegram 服务器,并且需要大量设置。我真的不能推荐修复,因为您的代码混合了很多东西。
推荐阅读
- spring - 同步执行状态动作
- reactjs - 如何在 React native 的嵌套数组中选中和取消选中复选框?
- javascript - 我无法在 socketcluster 的 socket.on 中访问我的变量
- c# - 如何使用rest api为现在服务史诗或用户故事中的引用字段设置值
- node.js - 如何在 test-cafe 中使用数据发出 post 请求?
- c# - Web API 使用 C# 向 SQL Server 发布身份验证
- angular - 如何使用 Angular js 在 ionic 4 中显示图像
- angular - angular/cdk 简单拖动不适用于带有 ngFor 的 div
- flutter - 如何仅从 DateTime.now() 中提取时间;
- c - 迭代 C 中的列表时,我是否看到优化错误?