Как сделать, чтобы бот не реагировал на пользователя, у которого роль = боту или выше его?
import disnake
from disnake.ext import commands
import asyncio
...
@bot.slash_command(name="localban", description="Локальная блокировка за крупное нарушение")
async def lban(ctx, member : disnake.Member, time = None, reason = None):
if member == ctx.author:
embed1 = disnake.Embed(title='Локальный бан', description=f'Невозможно заблокировать самого себя.', color=color)
embed1.set_footer(text=footer, icon_url=bot_icon)
await ctx.send(embed=embed1)
endif
#пытался сделать так:
if ctx.member.role >= ctx.bot.role
...
Ответы (1 шт):
Автор решения: q r t s
→ Ссылка
Есть такой метод. Это обычная проверка на то, вызвала ли функция ошибку или продолжила работу.
try:
#ваша функция бана, например: await member.ban
except:
#обработка ошибки
embed = discord.Embed(title="Я не могу забанить этого пользователя.")
await ctx.send(embed=embed)
return
#если ошибок не возникло
embed = discord.Embed(title="Вы забанили пользователя ...")
await ctx.send(embed=embed)
return