【发布时间】:2020-02-14 22:42:17
【问题描述】:
我正在尝试使用他们的 ID 从不和谐服务器获取某些用户对象,但由于某种原因它无法获取公会对象。我的代码:
@botclient.event
async def on_ready():
for x in all_ids:
guild = botclient.get_guild(GUILD)
user=guild.get_member(x)
all_urls[x]=user.avatar_url
botclient.run(TOKEN)
[TOKEN 和 GUILD 上面有更详细的说明,我检查了很多次,似乎没有任何问题]
它以前在一个较小的服务器上工作过,我已经尝试了几种变体,但每个变体都给了我一个 AttributeError:
user=guild.get_member(x)
AttributeError: 'NoneType' object has no attribute 'get_member'
(有时在尝试获取头像 URL 时也会发生这种情况)
我启用了日志记录,并且在异常之后,它会输出(我已经删除了公会 ID)
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
INFO:discord.state:Processed a chunk for 107 members in guild ID -.
..这让我相信它实际上成功地获得了公会,但由于某种原因它在代码中不起作用
我找不到任何关于此的文档,如果有人能指出在哪里可以找到它/指出我犯的任何错误,那将不胜感激!
【问题讨论】:
-
看起来获得公会有时会失败。尝试将
guild=...行移到循环外 -
@PatrickHaugh 试过了,仍然给我一个
Ignoring exception in on_ready Traceback (most recent call last): File "C:\Users\Rev\AppData\Local\Programs\Thonny\lib\site-packages\discord\client.py", line 312, in _run_event await coro(*args, **kwargs) File "E:\Documents\Python Documents\bot\test.py", line 23, in on_ready all_urls[x]=user.avatar_url AttributeError: 'NoneType' object has no attribute 'avatar_url',然后继续所有INFO:discord.state:Processed a chunk for 1000 members in guild ID -.
标签: python-3.x discord.py