gpt4 book ai didi

python - Telepot 错误不断出现

转载 作者:行者123 更新时间:2023-12-05 06:07:21 37 4
gpt4 key购买 nike

我为 telegram 组创建了一个机器人,但是每当有人发送一个poll 时,这个错误就会一次又一次地出现。

不断给出错误的 API 消息:

{"update_id":869921319,
"poll":{"id":"5427146762856956026","question":"[4/10] Qui \u00e9tait le ma\u00eetre de Grey","options":[{"text":"Oul","voter_count":6},{"text":"Grandin\u00e9","voter_count":0},{"text":"Leon","voter_count":0},{"text":"Mavis","voter_count":2}],"total_voter_count":8,"is_closed":true,"is_anonymous":false,"type":"quiz","allows_multiple_answers":false,"correct_option_id":0}}

我的代码:

import telepot
def on_chat_message(msg):
try:
content_type, chat_type, chat_id = telepot.glance(msg)
except Exception as e:
return "Oops!", e.__class__, "occurred."
def on_callback_query(msg):
query_id, chat_id, query_data = telepot.glance(msg, flavor='callback_query')

TOKEN = "BOT TOKEN"
bot = telepot.Bot(TOKEN)
MessageLoop(bot, {'chat': on_chat_message,
'callback_query': on_callback_query}).run_as_thread()
print('Listening ...')

while 1:
time.sleep(10)

错误:

Traceback (most recent call last):
File "C:\Python38\lib\site-packages\telepot\loop.py", line 67, in run_forever
self._update_handler(update)
File "C:\Python38\lib\site-packages\telepot\loop.py", line 153, in <lambda>
collectloop.input_queue.put(_extract_message(update)[1]))
File "C:\Python38\lib\site-packages\telepot\loop.py", line 103, in _extract_message
key = _find_first_key(update, ['message',
File "C:\Python38\lib\site-packages\telepot\__init__.py", line 68, in _find_first_key
raise KeyError('No suggested keys %s in %s' % (str(keys), str(d)))
KeyError: "No suggested keys ['message', 'edited_message', 'channel_post', 'edited_channel_post', 'callback_query', 'inline_query', 'chosen_inline_result', 'shipping_query', 'pre_checkout_query'] in {'update_id': 869921319, 'poll': {'id': '5427146762856956026', 'question': '[4/10] Qui était le maître de Grey', 'options': [{'text': 'Oul', 'voter_count': 6}, {'text': 'Grandiné', 'voter_count': 0}, {'text': 'Leon', 'voter_count': 0}, {'text': 'Mavis', 'voter_count': 2}], 'total_voter_count': 8, 'is_closed': True, 'is_anonymous': False, 'type': 'quiz', 'allows_multiple_answers': False, 'correct_option_id': 0}}"

最佳答案

您可能知道,telepot 已经有一段时间没有维护了。在我看来它像 this pull request试图解决这个问题,但从未合并。继续使用 telepot 可能是不可取的。

但是,您可以查看 forks .也许其中一个实际上仍然有效。

这个问题很可能是由于 telegram 端 API 的更改,以及 telepot 中意外值的不干净处理造成的。

由于这样的消息,我自己的机器人最近也停止工作了。我在没有进行太多审查的情况下切换到 this fork - 我不再投资于我的机器人,所以必须这样做。根据您的使用情况,这可能是也可能不是一个好的途径。

如果你选择去做,那只是一个

python2.7 -m pip install --user https://github.com/MoumenKhadr/telepot.git

或者只是

pip install https://github.com/MoumenKhadr/telepot.git

取决于您的设置。

关于python - Telepot 错误不断出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65487195/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com