【发布时间】:2021-06-02 08:25:18
【问题描述】:
我有两个应用程序,一个是 main.py,它是我的主文件,另一个是 Loops.py,我在其中使用 Cogs 和任务,所以出现了问题。我有一个功能可以更改我的机器人的昵称每秒换一个这样的名字:
botsnick = cycle(['????','????????','????????????','????????????????','????????????????????','????????????????????????','????????????????????????????','???????????????????????????? ????','???????????????????????????? ????????','???????????????????????????? ????????????','???????????????????????????? ????????????????'])
@tasks.loop(seconds=1)
async def change_nick():
server = client.get_guild(771043820157534228)
bots = server.get_member(848887911884521502)
await bots.edit(nick=next(botsnick))
它在 main.py 中正常工作,但只要我将此代码实现到 Loops.py 和 Cog 中,就像这样:
class Loops(commands.Cog):
def __init__(self,client):
self.client = client
self.change_nick.start()
botsnick = cycle(['????','????????','????????????','????????????????','????????????????????','????????????????????????','????????????????????????????','???????????????????????????? ????','???????????????????????????? ????????','???????????????????????????? ????????????','???????????????????????????? ????????????????'])
@tasks.loop(seconds=1)
async def change_nick(self):
server = self.client.get_guild(771043820157534228)
bots = server.get_member(848887911884521502)
await bots.edit(nick=next(self.botsnick))
def setup(client):
client.add_cog(Loops(client))
我收到此错误:
bots = server.get_member(848887911884521502)
AttributeError: 'NoneType' object has no attribute 'get_member'
但是如果我使用这个函数,main.py 中没有错误,有什么问题?
【问题讨论】:
-
我可能完全错了,但我认为 server 不是有效的方法,请尝试使用 guild.get_member 而不是 server.get_member
标签: python-3.x discord discord.py