如何在pyTelegramBotApi中创建自定义的callback_data?

问题描述

我的消息中有一个嵌入式键盘,因此我想通过回调传输一些数据,例如在此示例中(obv,这不起作用,因为callback_data必须是字符串)

item1 = types.InlineKeyboardButton('DO IT!',callback_data={'tp':'adm','com':'addf','con':info})

我希望我的回调处理程序处理一些数据,但是我真的不知道如何写

解决方法

无论类型如何,都可以从数据中创建字符串。对于python dict,您可以使用json库:

import json
data = {'tp':'adm','com':'addf','con':info}
item1 = types.InlineKeyboardButton('DO IT!',callback_data=json.dumps(data))

但是仅供参考,它仅支持64个字符的最大长度(source)。因此,要么适合它,要么找到压缩数据的方法。