Как удалить/добавить роль всем участникам сервера?
Уважаемые кодеры, пытался написать сам, но увы не получилось, поэтому обращаюсь к вам.
В общем команда выглядит так !clearrole @role (!addrolem@role) соответственно это упоминание роли.
Насколько я понял, сначала надо узнать ID роли по упоминанию, а потом по итератору убрать/добавить ее всем участник сервера.
У меня была то одна ошибка, то бот не находил роль, из-за того, что я еще начинающий в библиотеки discord.py у меня не получилось, поэтому буду благодарен тем, кто напишет правильный и рабочий код.
@bot.command()
async def massrole(ctx, role: discord.Role): # discord.Role здесь будет использоваться как конвертер:
# https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.RoleConverter
for member in ctx.guild:
if role not in member.roles:
await member.add_roles(role)
Находим в документации Message.role_mentions и работаем с ним.
Находим в List[Role] первую упомянутую роль и очищаем её.
Теперь просто удаляем / добавляем роль людям.
P.S. message.guild.members ... add_roles/remove_roles
P.S.S. Извиняюсь, но я не знаю py от слова совсем, но надеюсь помог :3