【问题标题】:Discord.py on_raw_reaction_add() missing 1 required positional argument: 'user'Discord.py on_raw_reaction_add() 缺少 1 个必需的位置参数:“用户”
【发布时间】:2020-08-25 06:01:19
【问题描述】:

我想让我的机器人在有人对特定消息做出反应时赋予某人特定角色

代码:

@client.event
async def on_raw_reaction_add(reaction, user):
    if reaction.message.id == 747566918466273300 and reaction.emoji in "✅":
        role = discord.utils.get(user.server.roles, name="Member")
        await bot.add_roles(user, role)

我得到错误:

Ignoring exception in on_raw_reaction_add
Traceback (most recent call last):
  File "C:\Users\Bruker\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\client.py", line 312, in _run_event
    await coro(*args, **kwargs)
TypeError: on_raw_reaction_add() missing 1 required positional argument: 'user'

谢谢

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    您收到此异常是因为on_reaction_add 事件不采用userreaction 参数,您必须改用payload,例如:

    @client.event
    async def on_raw_reaction_add(payload):
        # Code here
    

    然后对于您的其余代码:

    if payload.message.id == 747566918466273300 and payload.emoji.name == "✅":
        role = discord.utils.get(payload.guild.roles, name="Member")
            await payload.author.add_roles(role)
    

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 1970-01-01
      • 2019-01-03
      • 2021-06-05
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2021-01-16
      相关资源
      最近更新 更多