Python Telegram Bot中CallbackQueryHandler触发后回复新消息而非编辑原消息
解决方案
报错原因
触发CallbackQueryHandler的更新数据中,update.message默认为空值,回调关联的原消息对象存放在update.callback_query.message属性中,直接调用空值的reply_text方法就会抛出属性不存在报错。
正确实现代码
def callback(update, context): # 先应答回调请求,避免用户端按钮长时间显示加载状态 update.callback_query.answer() # 从回调对象中获取原消息,调用回复方法发送新消息 update.callback_query.message.reply_text("response") ... updater.dispatcher.add_handler(CallbackQueryHandler(self.callback))
内容的提问来源于stack exchange,提问作者room13
相关产品推荐
相关产品推荐

