输入此代码时
def main() -> None:
update_queue = queue.Queue()
bot_token = "token"
bot = Bot(token=bot_token)
updater = Updater(
bot=bot,
update_queue=update_queue
)
conv_handler = ConversationHandler(
entry_points=[CommandHandler('book', book_appointment)],
states={
NAME: [MessageHandler(filters.TEXT & (~filters.COMMAND), book)],
PHONE: [MessageHandler(filters.TEXT & (~filters.COMMAND), phone)],
EMAIL: [MessageHandler(filters.TEXT & (~filters.COMMAND), email)],
ISSUE: [MessageHandler(filters.TEXT & (~filters.COMMAND), issue)],
TIME: [MessageHandler(filters.TEXT & (~filters.COMMAND), time)],
},
fallbacks=[CommandHandler('start', start)],
)
updater.add_handler(conv_handler)
updater.add_handler(CommandHandler("info", info))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()`
发出错误 - Updater'对象没有属性'add_handler
所有必需的库均已正确导入:
from telegram import Update, Inline Keyboard Button, InlineKeyboardMarkup from telegram.text import Updater, Command Handler, CallbackContext, CallbackQueryHandler, ConversationHandler, MessageHandler, filters import queue from telegram import Bot
,下载了最新版本的python-telegram-bot
如何解决这个问题?
add_handler
是 telegram.Update
的属性(不是 telegram.text.Updater
)。对于 v20 库,请使用此 wiki 来熟悉新的更新程序(位于 telegram.ext.Updater
)