Python Telegram Bot在使用InlineKeyboard时使用多个回调数据



你好,当使用InlineKeyboard时,我想在callback_data(listjsondict任何东西(中传递多个数据
,如下所示:

def help_command(update: Update, context: CallbackContext) -> None:
update.message.reply_text("Use /start to test this bot.")
keyboard = [[InlineKeyboardButton("Test", callback_data=['1','2'])]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Please choose:', reply_markup=reply_markup)

任何解决这个问题的方案,谢谢。

这在电报中是不可能的,回调支持的数据类型是64字节。对于您发送的数据来说,这可能也不够大。

明智的选择是启动一个全局字典,并将数据添加为值,将用户id添加为键。

示例:

在文件顶部声明一个字典。。。。

TINY_DB = {}

添加

global TINY_DB
TINY_DB[chat_id] = ["this is my big data", 1, 2, "another data"]

检索。。。

if chat_id in TINY_DB: .... no data
else data = TINY_DB[chat_id]

最新更新