我正在使用齿轮来缩短和整理我的不和谐机器人。但是,在尝试“事件”齿轮时,尽管字面上是关于on_ready命令的,但我仍面临未定义changePlaying的NameError
A:我忘了导入discord.ext,因此也导入了它。 B:我尝试过在changePlaying事件中更改可能状态列表的位置
PlayingList = [Maximus.py.","!help"]
async def changePlaying(self):
while True:
await self.bot.change_presence(game=Game(name=random.choice(PlayingList)))
await asyncio.sleep(120)
async def on_ready(self):
print('Logged in as')
print(self.bot.user.name)
print(self.bot.user.id)
print('-----------------------------------------')
print('Log in complete')
for x in range(5):
print("")
self.bot.loop.create_task(changePlaying(self))
好吧,我认为很明显可以达到预期的结果,但是要弄清楚该机器人应该启动。它确实在线并且确实听命令,但是状态栏没有改变
答案 0 :(得分:0)
鉴于方法的self
参数,我看到它们在嵌齿轮中。您应该将PlayingList
用作嵌齿轮的属性,即在其__init__
中添加self.PlayingList = ["Maximus.py.","!help"]
,然后在方法中通过self.
访问它。
所以答案是:您没有正确使用方法。您必须self.changePlaying()
而不是changePlaying(self)
。
顺便说一句,如果您不打算通过执行修改它,请使用元组而不是列表。变量名不应以大写字母开头,因为它通常保留给类。参见PEP 8。