首页 > 解决方案 > “用户”对象没有属性“添加角色”

问题描述

当尝试执行await member.add_roles(role)where memberis a User 时,它给了我以下错误:

'User' object has no attribute 'add_roles'

但是,当我在网上查看时,并没有提到这样的错误,暗示这个错误不应该发生。

如果有帮助,这是发生此错误的代码部分:

@bot.event
async def on_raw_reaction_add(payload):
    EMOJI = '✅'
    guild = discord.utils.get(bot.guilds, name='The Molehill')
    channel = bot.get_channel(740608959207047250)
    member = await bot.fetch_user(payload.user_id)
    message = await channel.fetch_message(payload.message_id)
    MESSAGE = "{user.name} is now part of the Mole Workforce!"
    rules_message = message=await channel.fetch_message(740891855666806866)
    role = discord.utils.get(guild.roles, name="Worker Mole", id=739514340465705027)
    if payload.emoji.name == EMOJI:
        if message == rules_message:
            await member.add_roles(role)
            await bot.send(MESSAGE)

标签: pythondiscorddiscord.pydiscord.py-rewrite

解决方案


您正在尝试将角色添加到user对象,但只能将它们添加到member对象。而 auser代表不和谐的用户 amember代表公会的成员。 有关文档中成员的更多信息


推荐阅读