Python 电报机器人不';CommandHandler启动后,无法应答
所以,我用Python创建了一个新的机器人。我正在使用PyPI(PY电报机器人)。这几天我学到了很多东西,甚至开始起作用了。在使用MessageHandler时,我几乎可以发送一条消息,机器人会返回一条文本或图片 但现在我想要一些不同的东西。我想开始为Telegram创建一个游戏,还要学习更多关于如何使用该库的知识 问题是:每次我想要机器人回答我,它都不工作。基本上,当进入rockpaperscissors函数时,我希望它显示一条文本,询问一个选项,然后,无论这个答案是什么,都会引导我找到机器人的答案。但每当我回答时,机器人都不会回答 这是源代码。我排除了多余的部分,这样就不会那么混乱了。感谢您的帮助:)Python 电报机器人不';CommandHandler启动后,无法应答,python,telegram,telegram-bot,pypi,python-telegram-bot,Python,Telegram,Telegram Bot,Pypi,Python Telegram Bot,所以,我用Python创建了一个新的机器人。我正在使用PyPI(PY电报机器人)。这几天我学到了很多东西,甚至开始起作用了。在使用MessageHandler时,我几乎可以发送一条消息,机器人会返回一条文本或图片 但现在我想要一些不同的东西。我想开始为Telegram创建一个游戏,还要学习更多关于如何使用该库的知识 问题是:每次我想要机器人回答我,它都不工作。基本上,当进入rockpaperscissors函数时,我希望它显示一条文本,询问一个选项,然后,无论这个答案是什么,都会引导我找到机器人
您的bot需要一个命令
/rps
,并且响应正确。但是,当您发送一条普通消息(而不是命令)时,bot就不知道该做什么。请注意,只有当用户发送以/rps
或/rps@yourbot
,但它永远不等于“摇滚乐”。因此,您的if
将永远不会执行
您必须添加一个函数并将另一个函数关联到消息处理
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, ConversationHandler, CallbackContext
import random
def rockpaperscissors(update, context):
update.message.reply_text('Rock, paper, scissors. Return an option')
msgUsr = str(update.message.text)
if msgUser == "rock":
update.message.reply_text("You chose 'rock'")
def main():
token ='(token)'
updater = Updater(token=token, use_context=True)
dispatcher.add_handler(CommandHandler('rps',rockpaperscissors))
updater.start_polling()
updater.idle()
if __name__ == "__main__":
main()