python - “用户”对象没有属性“添加角色”
问题描述
当尝试执行await member.add_roles(role)
where member
is 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)
解决方案
您正在尝试将角色添加到user
对象,但只能将它们添加到member
对象。而 auser
代表不和谐的用户 amember
代表公会的成员。
有关文档中成员的更多信息
推荐阅读
- php - 如何在 laravel 8 的“/”中路由任何用户控制器?
- powershell - 如何使用 PowerShell 访问 Access 数据库中的特定表
- php - 新项目在列末尾添加两次
- reactjs - 如何选择不同的 mui timepicker 变体
- c++ - 非立方区域的莫顿曲线,是 2 的幂
- .net - System.Windows.Forms DataGridView 显示尾随文本而不是前导文本 PowerShell
- r - 如何将 R 脚本和 R markdown 合并到一个文件中?
- javascript - 画布径向渐变以匹配 css 径向渐变
- timestamp - Ecto insert 不会自动填充时间戳字段
- loops - 在groovy中使用循环分配类变量