python - 在我的视野开始轮询并在电报上发送消息后,CallbackContext 错误一直显示在 cmd 上
问题描述
import logging
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)
logger = logging.getLogger(__name__)
TOKEN = "xxxxxxxxxxxxxxxxxx"
def start(bot, update):
print(update)
author = update.message.from_user.first_name
reply = "Hi! {}".format(author)
bot.send_message(chat_id=update.message.chat_id, text=reply)
def _help(bot, update):
help_txt = "Hey! This is a help text."
bot.send_message(chat_id = update.message.chat_id, text=help_txt)
def echo_text(bot, update ):
reply=update.message.text
bot.send_message(chat_id=update.message.chat_id, text=reply)
def echo_sticker(bot, update ):
bot.send_sticker(chat_id=update.message.chat_id, sticker=update.message.sticker.file_id)
def error(bot, update):
logger.error("Update '%s' caused error '%s'", update, update.error)
def main():
updater=Updater(TOKEN, use_context=True)
dp=updater.dispatcher
dp.add_handler(CommandHandler("start",start))
dp.add_handler(CommandHandler("help", _help))
dp.add_handler(MessageHandler(Filters.text, echo_text))
dp.add_handler(MessageHandler(Filters.sticker, echo_sticker))
dp.add_error_handler(error)
updater.start_polling()
logger.info("STARTED POLLING...")
updater.idle()
if __name__ == '__main__':
main()
显示的错误是:2020-06-30 09:20:00,924 - main - 错误 - 更新 '<telegram.ext.callbackcontext.CallbackContext object at 0x00000188F64EC0C8>' 导致错误 ''CallbackContext' object has no attribute 'message''
解决方案
推荐阅读
- java - 为什么在前序遍历(二叉搜索树)上使用递归?
- android - 带有标题和边框的布局,类似于 Delphi 或 VB.NET GroupBox
- c# - 如何使用正则表达式查找不同的电话数字模式
- perl - 使用 perl 脚本比较日期(以字符串格式)的正确方法
- javascript - 有效地点击一个选项 javascript
- java - 如何确保我的 Java 程序不使用 Oracle JVM?
- ios - 通过 Firebase 获取 iOS 应用的下载次数
- apache-flex - 继承的 Flex 应用程序
- docker - Openshift:创建持久卷后应用程序目录为空
- objective-c - 类别判断字符串是否为空不起作用