我编写了一个Python Telegram程序,但我需要一些帮助来导航内联键盘。当用户单击其中一个自定义键盘按钮[反馈]时,将显示一个内联键盘:
"Message: Do you find this app useful"
[No], [Yes], [Leave Comments].
按[否]时,只显示一条短信“谢谢你,我们希望你能留下一些评论如何改进应用程序”,回到主菜单。
按[是]时,会出现第二个内嵌按钮消息,上面写着“请投票给这个应用程序!”哪个超链接到外部网站。
按[Leave Comments]时,用户需要输入保存到数据库中的注释。
我的问题是在按下任何3个内联按钮时,它会导致相同的功能“insert_UserFeedback”。
我的部分代码如下。
keyboard03 = [[InlineKeyboardButton("No", callback_data='no'),
InlineKeyboardButton("Yes", callback_data='yes')],
[InlineKeyboardButton("Leave Comments", callback_data='comments')]]
reply_markup03 = InlineKeyboardMarkup(keyboard03)
update.message.reply_text('Do you find the app useful?',
reply_markup=reply_markup03)
user = update.message.from_user
return FEEDBACK
FEEDBACK: [MessageHandler(Filters.text,
insert_UserFeedback,
pass_user_data=True),
def insert_UserFeedback(bot, update, user_data):
user = update.message.from_user
#some codes..
sql10 = "UPDATE `subscribers` SET `feedback`='" + userFeedbackTxt + "',
`feedbackDate`='" + todaydatestamp + "' WHERE `id`=" + str(user.id) + ";"
cc.execute(sql10)
copp.commit()
copp.close()
update.message.reply_text(user.first_name + ', thank you for your feedback!')
return KEYBOARDVAL
因此,无论我选择哪个内联按钮,都会调用“insert_UserFeedback”,然后要求用户编写注释,因为程序事先并不知道选择了哪个内联按钮。