Здравствуй. (Если это актуально)
Бот выполняет команду так:
1. Создание цикла с объектом "bot.guilds".
2. Поиск в 1-ом пункте "member" на всём сервере.
3. Поиск ID роли по названию. (Или сам думай как сделать по айди, у меня ошибка что нельзя выдавать роль по ID)
4. Выдача роли по действию из 3-го пункта.
5. Отчет.
Сами коды, я использую коги, поэтому есть 2 варианта.
Коги:
@commands.command() # начало команды
@commands.has_permissions(administrator = True) # нужны права администратора? - да
async def ar(self, ctx, autoroles): #сама команда и что ей надо указать, это prefix, комаду и НАЗВАНИЕ роли.
for guild in self.bot.guilds: # оно ищет на сервере людей
for member in guild.members: # и тут делается все работа для member-a
autoroles2 = discord.utils.get(ctx.message.guild.roles, name = autoroles) # нахождение айди по названию, иначе будет ошибка(у меня)
await member.add_roles(autoroles2) # само добавление роли
emb = discord.Embed(description = 'Роли успешно добавлены ВСЕМ участникам Discord сервера.')
await ctx.send(embed = emb) # теперь бот сообщает что всё вышло.
Не коги:
@bot.command() # начало команды
@bot.has_permissions(administrator = True) # нужны права администратора? - да
async def ar(ctx, autoroles): #сама команда и что ей надо указать, это prefix, комаду и НАЗВАНИЕ роли.
for guild in bot.guilds: # оно ищет на сервере людей
for member in guild.members: # и тут делается все работа для member-a
autoroles2 = discord.utils.get(ctx.message.guild.roles, name = autoroles) # нахождение айди по названию, иначе будет ошибка(у меня)
await member.add_roles(autoroles2) # само добавление роли
emb = discord.Embed(description = 'Роли успешно добавлены ВСЕМ участникам Discord сервера.')
await ctx.send(embed = emb) # теперь бот сообщает что всё вышло.