#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.
Примечание: в моем коде могут быть синтаксические проблемы, потому что я сейчас на мобильном телефоне. Если возникнет какая-либо проблема, просто прокомментируйте.