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

时间:2020-09-13 17:26:00

标签: python python-3.x discord discord.py discord.py-rewrite

我已经在python中制作了一个小不和谐的bot来在服务器上运行它,但是我不想在服务器中使用随机变量,所以我创建了此命令。
当执行“代码”(也可以看作是密码)时,用户将获得用户角色(来自访问者角色)

我的代码:

@client.command()                                                                   
async def test(ctx):                                                               
    user = ctx.message.author                                                       
    await user.add_roles(discord.utils.get(user.guild.roles, id=...))

我得到的错误:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception:
Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

到目前为止我尝试过的事情:

  • 授予机器人所有权限
  • 将漫游器提升到最高层次。

那么,有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

我发现了与此问题类似的问题,并且有一些答案,所以我调整了代码以找出一些问题,尝试一下,它对我有用:

@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')

答案 1 :(得分:0)

您可以在The discord developer portal看到错误代码,错误代码50013为You lack permissions to perform that action,否则该漫游器无法执行您想要的操作。 More Info here

注意:您的代码可能存在问题。