Как выдать роль всем участникам сервера дискорд
Перейти к содержимому

Как выдать роль всем участникам сервера дискорд

Как удалить/добавить роль всем участникам сервера?

Уважаемые кодеры, пытался написать сам, но увы не получилось, поэтому обращаюсь к вам.

В общем команда выглядит так !clearrole @role (!addrolem@role) соответственно это упоминание роли.

Насколько я понял, сначала надо узнать ID роли по упоминанию, а потом по итератору убрать/добавить ее всем участник сервера.

У меня была то одна ошибка, то бот не находил роль, из-за того, что я еще начинающий в библиотеки discord.py у меня не получилось, поэтому буду благодарен тем, кто напишет правильный и рабочий код.

  • Вопрос задан более двух лет назад
  • 1686 просмотров

Комментировать
Решения вопроса 1

fixator10

discord.py имеет «расширение» для команд, с вещью, под названием «конвертеры», используйте их.
https://discordpy.readthedocs.io/en/stable/ext/com.

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

Как раздать одну роль Дискорд НЕСКОЛЬКИМ ЧЕЛОВЕКАМ за одну команду Discord.py

Бот должен раздавать роли дискорд сервера нескольким людям за одно сообщение (команду) без использования реакций и доп.кнопок. Но я никак не могу это сделать. Получилось раздать роль только автору сообщения. Что я делаю не так и как это исправить? Код, дающий роль только автору этого сообщения:

import discord from discord.utils import get from discord.ext import commands client = commands.Bot(command_prefix="/", help_command=None) @client.command() async def test(ctx): member = ctx.message.author role_1 = member.guild.get_role("id of role") await member.add_roles(role_1) await ctx.channel.send(member) client.run("token") 

Отслеживать
задан 11 сен 2020 в 10:30
Чернов Алексей Чернов Алексей
43 2 2 серебряных знака 8 8 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

members = [список_нужных_участников] role_1 = member.guild.get_role("id of role") for member in members: await client.add_roles(member, role_1) 

Сам список формируйте из объектов member :

first = discord.utils.get(message.guild.members, name='Sam') members.append(first) 

UPDATE Вот так должен выглядеть ваш код (нужно использовать контекст ctx):

import discord from discord.ext import commands client = commands.Bot(command_prefix="/", help_command=None) @client.command(name="test") async def test(ctx): members = ['name1', 'name2'] role_1 = discord.utils.get(ctx.guild.roles, for member in members: current = discord.utils.get(ctx.message.guild.members, name=member) await current.add_roles(role_1) client.run("API_key") 

Как добавить роль в Дискорде

Роли в Discord позволяют расширить полномочия определенных пользователей на выбранных серверах и каналах. Такой “трюк” хорошо работает, когда есть большое количество людей и необходимо привести эту систему в порядок (создать импровизированную иерархию). О том, как правильно назначить роль участнику в Discord, расскажем в статье.

Добавление ролей в Дискорде на ПК

Создание подобных привилегий не является чем-то за гранью фантастики. Вам необходимо лишь уверенно обращаться с программой и знать немного о настройках серверов. К примеру, последовательность действий по введению должности администратора будет выглядеть следующим образом:

  • Переходим в настройки нужного сервера.
  • Кликаем по кнопке, выделенной на скриншоте.
  • Вводим данные: название, цвет значка, плюс включаем требуемые параметры, например, расширяя стандартные права.

Как выдать всем участникам сразу роль в дискорд?

Ставишь в дискорд канал бота Dyno ( https://dyno.gg/ ). После просто пишешь? role all Название роли. Дальше просто ждёшь. Обычно на 1 пользователя уходит примерно 1-2 секунды.

Денчик ЗайцевУченик (108) 3 года назад

а как потом забрать роль? допустим я сделал выдать роль мута у меня все замутились, а потом как так же быстро у всех забрать роль ?

Fluffy_C_a_T Знаток (414) Если ты всем роль мута выдал, то это как-то.. тупо.. Если ты применил это к 50+ людям, то иди сюда копайся (https://dyno.gg/commands#/Manager), если там человек 30, то легче и быстрее вручную сделать. Ну или ты можешь удалить роль мута, а потом мучатся пол часа, чтобы её восстановить.

МаксимУченик (191) 5 месяцев назад
25 минут сказал мне бот XD я без шуток кста 1542 участника

Fluffy_C_a_T Знаток (414) Максим, могло быть и хуже

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *