需要删除 Pickle 持久性文件才能使电报机器人工作

Pickle persistence file needs to be deleted for telegram bot to work

我正在使用 python 电报机器人 github 中提供的 PicklePersistence 示例。

https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/persistentconversationbot.py

有时机器人不/启动。排查后发现是pickle持久化文件的问题。要开始工作,我必须删除持久性文件。持久性文件似乎已损坏。

如何使 pickle 持久性文件更健壮地防止损坏?

我正在使用 python 电报机器人 12.4.2 和 python v3.7

我会回答我自己的问题。

无法重新进入 /start 的原因是由于机器人的状态机。因为启用了持久性,所以即使在 bot 关闭并重新启动后,也会始终记住此状态。

解决我的问题的方法是将 allow_reentry 设置为 True。已验证适用于我的情况。

https://python-telegram-bot.readthedocs.io/en/stable/telegram.ext.conversationhandler.html