@NeW_CodeR
Аферюга

Как сделать команду которая дает роль тому кто её напишет?

ПОКА ЧТО ЕСТЬ ЭТО НО ЕСЛИ ЭТО НАПИСАТЬ БОТ ПРОИГНОРИРУЕТ
@client.command(name="админ")
async def _admin(ctx):
    author = message.author  # получаем автора сообщения
    guild = self.get_guild(808127714543534111)  # получаем объект сервера*
    role = guild.get_role(808380458740088873)  # получаем объект роли*
    await author.add_roles(role)  # выдаем автору роль
    await message.channel.send(f"{author.mention}, роль выдана!")
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
1.self, это параметр, указываемый в методе класса, для работы с его полями и методами:
guild = self.get_guild(808127714543534111)
В общем случае - это будет работать только если:
а. _admin является методом класса.
б. в параметрах _admin указан self
в. в классе есть метод get_guild
2. последовательно отлаживайте код - проверяйте, видит ли бот сообщение (а не просто "игнорирует", из-за неправильного кода) находит ли гильдию, находит ли роль и т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы