向用户添加“动态”角色 discord.py

时间:2021-02-25 19:20:17

标签: python-3.x discord.py

我正在尝试制作一个可以做很多事情的机器人,我得到了大部分,但我遇到的一个问题是试图让某人添加他们想要的任何角色。我有赋予用户特定角色的命令,这是一个例子

@commands.command()
async def aroleStreamer(self, ctx, user : discord.Member):
    Streamer = discord.utils.get(user.guild.roles, name="Streamer")
    await user.add_roles(Streamer)
    await ctx.send(f"{user} now has {Streamer}")      

这一切都有效,但我希望它能让人们选择他们想要的特定角色,这样我就不必为我们创建的每个角色编写代码。我试过这个代码:

@commands.command()
 async def arole(self, ctx, *, role : discord.Guild.roles, user : discord.Member):
    xrole = discord.utils.get(user.guild.roles, name=(role))
    await user.add_roles(xrole)
    await ctx.send(f"{user} now has {xrole}")

但我没有运气。我得到的错误是:Converting to "property" failed for parameter "role". 有没有人有可以帮助我的代码?

编辑:我意识到我使用了删除角色命令,将其更改为添加角色命令

1 个答案:

答案 0 :(得分:1)

应该打字提示为简单的 discord.Role

async def artole(self, ctx, role: discord.Role, user: discord.User):