【发布时间】:2020-12-03 16:16:25
【问题描述】:
这是我见过的最简单的代码。我的 Python 机器人不起作用。
不起作用的事情是,当 /start 命令被发送到 bot 时,它不会开始做任何事情。逻辑上,它必须启动while 循环——它没有。
它甚至没有以函数 FirstNum() 开头。这个想法是在循环内使用 If - Else 语句。
有什么建议吗? 我是python编码的初学者,所以不要严格判断我)
@bot.message_handler(commands=['start'])
def Main(message):
a = 0
b = 0
c = 0
while a + b + c > 0:
if a == 0:
FirstNum(message)
break
if a > 0 & b == 0:
SecondNum(message)
break
if a > 0 & b > 0 & c == 0:
ThirdNum(message)
break
if a + b + c > 0:
bot.send_message(message.chat.id,a + b + c.format(message.from_user, bot.get_me()))
def FirstNum(message):
bot.send_message(message.chat.id,"Type your number > 0".format(message.from_user, bot.get_me()))
a = message.text
def SecondNum(message):
bot.send_message(message.chat.id,"Type your number > 0".format(message.from_user, bot.get_me()))
b = message.text
def ThirdNum(message):
bot.send_message(message.chat.id,"Type your number > 0".format(message.from_user, bot.get_me()))
c = message.text
【问题讨论】:
-
a > 0 & b是bitwise and。我想你的意思可能是a > 0 && b -
另外,你还没有真正说过什么“不起作用”。是否有错误、意外的输出?如果不描述当前和预期的行为,任何人都无法提供太多帮助。
-
你还没有调用你的函数,只是定义了它们,所以这些代码都不会运行
-
但是你被要求扩展“不起作用”并且你没有edit这个问题来增加实际问题的清晰度
-
@roganjosh 我确实编辑了我的问题,请尝试帮助我
标签: python bots telegram python-telegram-bot