我知道之前已经有人问过这个问题,但是我的问题有所不同,我该如何创建一个赋予其他人角色的命令?例如
[p]giverole @user
会给他们一个角色吗?我知道如何使用discord.py赋予作者角色,但无法弄清楚如何将其赋予所提到的人。感谢您的帮助
答案 0 :(得分:0)
您可以在以下命令中使用参数:
@bot.command()
async def giverole(ctx, member: discord.Member=None):
# if no member is provided, the bot will give the role to the cmd author
if not member:
member = ctx.author
role = ctx.guild.get_role(112233445566778899) # role ID goes there
await member.add_roles(role)
await ctx.send(f"Successfully gave {member} the {role.name} role!")
与使用on_message()
事件相比,这是首选方法,因为使用装饰器中注册的命令时,处理参数要容易得多。
参考:
Guild.get_role()
Member.add_roles()