Бот Discord: Как раздавать роли через команду? - PullRequest
0 голосов
/ 07 апреля 2020

Итак, этот код может выглядеть очень плохо, потому что на самом деле он плохой, но я искал похожий код часами и не мог найти работающий. Я новичок в разработке бота разногласий и слышал, что разногласия требуют "обновленного" кода, и я не могу найти ничего, что могло бы помочь с этой проблемой.

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

I также пытался с событием: (не работает)

@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 голосов
/ 07 апреля 2020

Так что код, который Бенджин отправил в разделе комментариев, помог мне решить мою проблему. Если вы боретесь с тем же, что и я, используйте код, который вы должны использовать:

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