我最近阅读了
python-telegram-bot
docs,它解释了arbitrary_callback_data
的优点。我不明白文档中的这句话:
PTB 将回调数据对象存储在内存中。此外,它还存储 CallbackQuery.id 到相应 UUID 的映射。默认情况下,两个存储最多包含 1024 个项目。
1024代表什么?在我的代码中,我有一些内联按钮,例如从 Mongodb 中删除文档。就像下面的例子:
InlineKeyboardButton(text='title',callback_data=f'delete_doc_{the_id_of_doc}')
这是否意味着,例如,如果我有数百万个 id,它超出了默认设置为 1024 的限制?因为我的代码中每个按钮的
callback_data
都是唯一的。
1024是保存在内存中的完整键盘的数量。对于每个键盘,按钮的唯一标识符以及按钮的实际数据都保存在内存中。
请注意,只要
delete_doc_{the_id_of_doc}
少于 64 个字符,使用此功能可能不会给您带来太多额外好处。
免责声明:我目前是
python-telegram-bot
的维护者。