Discord.py | Добавить роли

#discord.py #discord.py-rewrite

#discord.py

Вопрос:

Я новичок в создании ботов в discord и не могу понять, как я могу добавить роль нескольким пользователям, просто написав сообщение в чате. Я пытался искать различные методы в Интернете, но все, что я добавляю роль автору сообщения, в то время как мне нужно, чтобы добавить роль конкретным пользователям

Комментарии:

1. Можете ли вы показать какой-нибудь код, что вы уже пробовали?

Ответ №1:

Вы можете добавить команду с помощью discord.ext.commands.

 @bot.command(pass_context=True)
@bot.has_permissions(manage_roles=True)
async def add_role(ctx, role: discord.Role, *users: discord.Member):
    for user in users:
        await user.add_roles(role)
  

Вы должны назвать это следующим образом {prefix}add_role @role @user1 @user2

Ваша настройка должна выглядеть следующим образом

 import discord
from discord.ext import commands, tasks
bot = commands.Bot(command_prefix="$")

#code here

bot.run("TOKEN")
  

Комментарии:

1. Привет, я пытаюсь использовать ваш код, но, к сожалению, это не работает. Не могли бы вы помочь мне еще раз? Я думаю, что проблема в цикле for, потому что, если я добавлю печать до этого, консоль напечатает слово, и мне пришлось изменить command.command в client.command

2. Привет, я попробовал еще раз, но теперь это вызывает у меня проблему в коде, в котором говорится, что: «Экземпляр ‘Bot’ не имеет ‘has_permissions’ memberpylint (no-member)», в то время как если я попытаюсь перейти с bot.has_permissions на commands.has_permissions, он не выдает мне больше ошибок и, похоже, зависает в ожидании

3. Вы должны оставить его в формате, который я дал. Убедитесь, что у него есть разрешение в гильдии, чтобы manage roles предоставить ему роль с этим разрешением.