【问题标题】:I get this error when trying to removing a reaction尝试删除反应时出现此错误
【发布时间】:2020-12-10 17:42:02
【问题描述】:

当我删除对我的反应角色命令的反应时,我收到此错误。奇怪的是,这在我的电脑上运行得非常好,但是当我尝试在我的 linux vps 上运行它时,我得到了这个错误。谁知道这是什么原因造成的?

Ignoring exception in on_raw_reaction_remove
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/discord/client.py", line 333, in _run_event
    await coro(*args, **kwargs)
  File "reactionrole.py", line 335, in on_raw_reaction_remove
    await client.get_guild(payload.guild_id).get_member(payload.user_id).remove_roles(role3)
AttributeError: 'NoneType' object has no attribute 'remove_roles'

谢谢!!!

【问题讨论】:

  • 这可能是版本差异吗?当您缺少意图时,用户将显示为 NoneType 对象,如果您的电脑运行 discord.py 版本
  • 是的,你说得对,我需要启用意图

标签: python discord.py vps discord.py-rewrite


【解决方案1】:

您的问题很可能是该成员不再是该公会的成员。所以使用公会来获取使用公会的成员是行不通的。由于成员不再存在,因此没有角色。

如果您愿意,您可以使用它来获取用户。 bot.get_user(payload.user_id)

user = bot.get_guild(payload.guild_id).get_member(payload.user_id)
if user: # if user still in guild
    await user.remove_roles(role3)

【讨论】:

    【解决方案2】:

    发现了这个问题,奇怪的是我需要为此启用网关意图,所以我必须去申请那些不和谐的人。哈哈!

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 2015-12-08
      • 1970-01-01
      • 2014-04-22
      • 2014-05-01
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多