Discord Bot:如何通过命令赋予角色?

时间:2020-04-07 08:31:34

标签: python discord discord.py

因此,此代码可能看上去真的很糟糕,这是因为它实际上很糟糕,但是我一直在寻找一个类似的代码好几个小时,却找不到有效的代码。 我是这个不和谐机器人开发的初学者,听说不和谐需要“更新的”代码,而我找不到任何可以解决此问题的东西。

@client.command()
async def role(ctx):
    role = discord.utils.get(member.server.roles, id="id-here")
    await bot.add_roles(member, role)

我也尝试了一个事件:(不起作用)

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if message.content == 'give me admin':
        role = get(message.server.roles, id='also id here')
        await client.add_roles(message.author, role)

1 个答案:

答案 0 :(得分:0)

所以Benjin在注释部分发送的代码帮助我解决了我的问题。如果您和我一样在做同样的事情,那么您应该使用以下代码:

@client.command()
async def giverole(ctx, arg: discord.Member):
    await ctx.send(arg)
    knownrole = discord.utils.get(ctx.guild.roles, name="the name of the role")
    await arg.add_roles(knownrole)