繁体   English   中英

Discord.py 添加反应角色问题

[英]Discord.py add reaction role issue

我已经开始为我的 discord 创建一个机器人,试图在用户反应后添加一个角色,但我仍然有 403 禁止(错误代码 50013):当我已经输入正确的权限时缺少权限 (8)到机器人。

@client.event
async def on_raw_reaction_add(payload):
    message_id = payload.message_id
    if message_id == 706945439945195551:
        guild_id = payload.guild_id
        guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)

        if payload.emoji.name == 'montmo':
            role = discord.utils.get(guild.roles, name='membre')
Traceback (most recent call last):
  File "D:\ProgramData\Python\lib\site-packages\discord\client.py", line 312, in _run_event
    await coro(*args, **kwargs)
  File "c:/Users/bntth/Documents/Python/Projets/Bot discord/bot_elogic.py", line 47, in on_raw_reaction_add
    await member.add_roles(role)
  File "D:\ProgramData\Python\lib\site-packages\discord\member.py", line 641, in add_roles
    await req(guild_id, user_id, role.id, reason=reason)
  File "D:\ProgramData\Python\lib\site-packages\discord\http.py", line 221, in request
    raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

您知道可能导致此错误的原因吗? 我是否忘记了配置或代码中的某些内容? 预先感谢您的帮助

机器人的最高角色必须高于您尝试添加的角色。

考虑以下角色列表:

  1. 行政
  2. 机器人
  3. 主持人
  4. 成员

Member是默认值。 他们无法将ModeratorBotAdmin分配给其他成员。
同样,拥有Moderator的人将无法分配BotAdmin ,但可以分配Member角色。
如果一个具有Bot角色的机器人试图将Admin分配给另一个用户,它就没有权限。 但是,它将有权分配ModeratorMember角色。

要解决此问题,只需将Bot角色移动到列表顶部,然后它将能够分配所有角色。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM