#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Хорошо, итак, у меня есть бот, который выполняет каждую команду, которую я пишу @commands.has_permissions(administrator = True)
, но теперь я хочу выполнить некоторые команды в dm, однако, когда я собираюсь это сделать, бот выдает ошибку и говорит, что у меня нет прав администратора. Я могу изменить строку на @commands.is_owner()
, но тогда это могу сделать только я, поэтому я попытался использовать оба, но это все равно сработало только для меня. Я искал везде, но ничего не нашел. Итак, мой вопрос… Как я могу сказать боту отвечать либо администратору, либо мне (владельцу)?
Вот моя тестовая функция, на которой я остановился.
@bot.command(name="ping")
@commands.has_permissions(administrator = True)
async def ping(ctx):
await ctx.channel.send("pong")
Ответ №1:
@bot.command(name="ping")
async def ping(ctx):
user = ctx.author
if await bot.is_owner(user):
await ctx.channel.send("pong")
return
roles = user.roles
for role in roles:
if role.Permissions.administrator:
await ctx.channel.send("pong")
return
Комментарии:
1. Это выдало ошибку
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Member' object has no attribute 'permissions'