Роль заключенного, Discord.py 1.5.0а

#discord.py #discord.py-rewrite

#discord.py

Вопрос:

Я пытаюсь создать бота, который забирает все роли у пользователя, отправляет сообщение, в котором упоминаются все роли в канале, поэтому боту нужно удалить все роли и добавить роль «Заключенный» и отправить причину тюрьмы. Как мне это сделать? Я пытаюсь выполнить эту команду в течение 3 дней, но никто не мог мне помочь.

Ответ №1:

Вы можете попробовать это для удаления всех ролей и добавления роли заключенного:

 @client.command()
async def prison(ctx, member: discord.Member):
    member_roles = []
    for role in member.roles:
        member_roles.append(role) 
        await member.remove_roles(role)
    member_roles = ', '.join(member_roles) 
    await ctx.send(f'{member.mention} is in prison. His {member_roles} roles are deleted.')
    prisoner = discord.utils.get(ctx.guild.roles, name='Prisoner')
    await member.add_roles(prisoner)
  

После создания роли заключенного измените разрешения этой роли для всех каналов, кроме тюремного канала в Discord.

Примечание: в моем коде могут быть синтаксические проблемы, потому что я сейчас на мобильном телефоне. Если возникнет какая-либо проблема, просто прокомментируйте.