我正在制作一个discord.py机器人,并且我正在尝试实现一个命令,该命令将告诉您在这段时期结束之前还有多少时间。该代码本身可以工作,但是如果我尝试将其实现到机器人程序中,则会出现此错误:
NameError:名称'timee'未定义
(该变量称为“ timee”,因为我稍后还将使用time.sleep()函数)
这是它有问题的代码:
def setTime():
global timee
print(timee)
if timee > 59 and timee < 100:
timee -= 100
timee += 60
elif timee > 159 and timee < 200:
timee -= 100
timee += 60
elif timee > 259 and timee < 300:
timee -= 100
timee += 60
我在那里有print(timee)
来测试它是否认为已定义(不是)。
这是我的代码,它调用setTime
函数(还应设置timee)
if currentTime < start:
timee = start - currentTime
print(timee)
setTime()
doThing()
await client.send_message(message.channel, content = "School hasn't started yet! It starts in %s:%s" % (hours, minutes))
print("%s got the time left." % message.author)
编辑:'timee'变量在if语句和函数之外声明。
编辑2:我尝试了某人发表的评论,(该评论现在被删除了),它正在执行def setTime(timee):
而不是
def setTime():
global timee
那行得通。我不知道这是效率低下还是什么,但是可以。此外,如果不在不和谐的bot中,则完全相同的代码也可以使用。