Python 如何使用discord.py/my discord bot向用户添加角色?

Python 如何使用discord.py/my discord bot向用户添加角色?,python,python-3.x,discord,discord.py,discord.py-rewrite,Python,Python 3.x,Discord,Discord.py,Discord.py Rewrite,我用python制作了一个小的discord bot来在我的服务器上运行它,但我不想在我的服务器上有随机项,所以我创建了这个命令。 当执行“代码”(也可以看作密码)时,用户获得用户角色(从访问者角色) 我的代码: @client.command() 异步def测试(ctx): user=ctx.message.author 等待user.add_角色(discord.utils.get(user.guild.roles,id=…) 我得到的错误是: discord.ext.commands.e

我用python制作了一个小的discord bot来在我的服务器上运行它,但我不想在我的服务器上有随机项,所以我创建了这个命令。
当执行“代码”(也可以看作密码)时,用户获得用户角色(从访问者角色)

我的代码:

@client.command()
异步def测试(ctx):
user=ctx.message.author
等待user.add_角色(discord.utils.get(user.guild.roles,id=…)
我得到的错误是:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception:
Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
到目前为止,我尝试的是:

  • 授予bot所有权限
  • 在最高层次上提升bot

那么,有人能帮我吗?

我发现了一个与此类似的问题,有一些答案,所以我调整了代码以找出答案,试试这个,它对我有效:

@client.command()
async def test(ctx):
    user= ctx.message.author
    role = (discord.utils.get(user.guild.roles, id=insert id here))
    await ctx.author.add_roles(role)
    await ctx.send("Successfully assigned {}!".format(role.mention))

client.run('token for obvious reasons here')

您可以在处看到错误代码,错误代码50013是
您没有执行该操作的权限
,或者bot无法执行您希望它执行的操作

注意:您的代码可能有问题


你能试着用
user=ctx.message.author
更改
user=ctx.author
吗?我做了这个更改,但没有影响结果。你如何拆分get角色并添加角色我尝试了多个选项,但都没有帮助,这也没有帮助。我收到了同样的错误信息,那么可能这部分代码不是问题所在,而是其他字符串?