@bot.slash_command(guild_ids = АЙДИ, name = "ban", description = "блокирует члена сервера")
@commands.has_permissions(ban_members = True, administrator = True)
async def ban(ctx, member: commands(disnake.Member, description = "Кого вы хотите заблокировать?"), reason: commands(str, description = "Почему?", required = False)):
if member.id == ctx.author.id:
await ctx.respond("BRUH! You can't ban yourself!")
elif member.guild_permissions.administrator:
await ctx.respond("Хватит пытаться заблокировать админа!")
else:
if reason == None:
reason = f"Ни один не предоставлен {ctx.author}"
await member.ban(reason = reason)
await ctx.respond(f"<@{ctx.author.id}>, <@{member.id}> был успешно заблокирован на этом сервере!\n\nПричина: {reason}")
@ban.error
async def banerror(ctx, error):
if isinstance(error, MissingPermissions):
await ctx.respond("Для этого вам нужны права Ban Members и Administrator!")
else:
await ctx.respond("Что-то пошло не так...") #most likely due to missing permissions
raise error
@bot.slash_command(guild_ids = АЙДИ, name = "kick", description = "исключает члена сервера")
@commands.has_permissions(kick_members = True, administrator = True)
async def kick(ctx, member: Option(discord.Member, description = "Кого вы хотите исключить?"), reason: commands(str, description = "Why?", required = False)):
if member.id == ctx.author.id: #checks to see if they're the same
await ctx.respond("BRUH! You can't kick yourself!")
elif member.guild_permissions.administrator:
await ctx.respond("Хватит пытаться исключить админа! :rolling_eyes:")
else:
if reason == None:
reason = f"Ни один не предоставлен {ctx.author}"
await member.kick(reason = reason)
await ctx.respond(f"<@{ctx.author.id}>, <@{member.id}> был исключён с этого сервера!\n\nПричина: {reason}")
@kick.error
async def kickerror(ctx, error):
if isinstance(error, MissingPermissions):
await ctx.respond("Для этого вам нужны права Kick Members и администратора!")
else:
await ctx.respond("Что-то пошло не так...") #most likely due to missing permissions
raise error
Как это решить?