你好,当使用InlineKeyboard时,我想在callback_data(list
、json
、dict
任何东西(中传递多个数据
,如下所示:
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]