【发布时间】:2018-03-14 17:30:56
【问题描述】:
我想在 python 中为 Telegram 创建一个 InlineKeyboardButton,如下面的函数,但我想动态地做。此功能将两个按钮组合在一行中,并将一个按钮添加到第二行。我想每行做两个按钮。
def options(bot, update):
keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'),
InlineKeyboardButton("Option 2", callback_data='2')],
[InlineKeyboardButton("Option 3", callback_data='3')]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Please choose:', reply_markup = reply_markup)
但是无论我尝试什么,我都会收到类似的错误消息
data['inline_keyboard'].append([x.to_dict() for x in inline_keyboard])
AttributeError: 'list' object has no attribute 'to_dict'
我的代码如下:
def create_options(self, gid, Events):
opts = []
o = []
keyboard = []
for i, events in enumerate(Events):
if (events.gid == gid):
o.append([[InlineKeyboardButton(events.etkinlik + u" ????", callback_data=i),InlineKeyboardButton(events.etkinlik + u" ????", callback_data=i)]])
opts.append(o)
keyboard.append(opts)
return InlineKeyboardMarkup(keyboard)
你能建议我在哪里做错了吗?
非常感谢您的帮助
【问题讨论】:
标签: python telegram-bot python-telegram-bot