我有一个按钮,它应该返回ask_wikipedia函数,所以我使用了CallbackQueryHandler,但是当我想调用ask_wikipedia函数时,我收到属性错误! 为什么? 我该如何解决它?
def Click_Button(update, context) :
query = update.callback_query
if query.data == "Research":
ask_wikipedia(update, context)
query_handler = CallbackQueryHandler(Click_Button)
dispatcher.add_handler(query_handler)
def ask_wikipedia(update, context) :
update.message.reply_text('What do you want to know about ? 🔎')
return About
当我单击按钮时,出现此错误
AttributeError: 'NoneType' object has no attribute 'reply_text'
我该如何修复它?
回复短信(来自
MessageHandler
)时可以使用 update.message.reply_text
,但在您的情况下,传入消息由接收不同对象的 CallbackHandler 管理。update.callback_query.message.edit_text(message)
AttributeError: 'NoneType' object has no attribute 'reply_text'
错误。经过调查发现,当用户编辑原始消息时会引发该问题,因此在更新中我得到
edited_message
而不是
message
。所以我决定使用
update.effective_chat.send_message
而不是
update.message.reply_text
来避免这个问题。即使它不适合您,请记住它可能是更新中的
edited_message
而不是
message
。(写在这里是因为这个错误在谷歌中是第一个)