@quriza

Что делать, пропадают slash команды с менюшки?

Использую любую из написанных мною / команд, после чего все / команды пропадают из менюшки / команд, хотя бот в сети и все вроде нормально 64a6d4bd0ac56486556831.jpeg

Код

import os
import disnake
import datetime
from disnake.ext import commands

bot = commands.Bot(command_prefix=".", help_command=None, intents=disnake.Intents.all(), test_guilds=[1124993749949362287])



@bot.event
async def on_ready():
    print(f"Bot {bot.user} is ready to work!")


@bot.event
async def on_member_join(member):
    role = disnake.utils.get(member.guild.roles, id=1124998471049551872)
    channel = member.guild.system_channel

    embed = disnake.Embed(
        title="Новый участник!",
        description=f"{member.name}#{member.discriminator}",
        color=0xb3feff
    )

    await member.add_roles(role)
    await channel.send(embed=embed)


@bot.event
async def on_message(message):
    await bot.process_commands(message)

    for content in message.content.split(","):
        for censored_word in CENSORED_WORDS:
            if content.lower() == censored_word:
                await message.delete()
                await message.channel.send(f"{message.author.mention} мать это святое, балван!")


@bot.event
async def on_command_error(ctx, error):
   print(error)

   if isinstance(error, commands.MissingPermissions):
      await ctx.send(f"{ctx.author}, у вас недостаточно прав для выполнения данной команды!")
   elif isinstance(error, commands.UserInputError):
      await ctx.send(embed=disnake.Embed(
         description=f"Правильное использование команды:'{ctx.prefix}{ctx.command.name}' ({ctx.command.brief})\nExample: {ctx.prefix}{ctx.command.usage}"
      ))


@bot.command(usage="kick <@user> <причина>", brief="Данная команда исключает участника с сервера!" )
@commands.has_any_role("モデレータ | Moderator")
async def kick(ctx, member: disnake.Member, *, reason="Администратор не указал причину."):
  await ctx.send(f"Администратор {ctx.author.mention} исключил пользователя {member.mention}")
  await member.kick(reason=reason)

@bot.command(usage="ban <@user> <причина>", brief="Данная команда блокирует участника сервера!")
@commands.has_any_role("学芸員 | Curator")
async def ban(ctx, member: disnake.Member, *, reason="Администратор не указал причину."):
  await ctx.send(f"Администратор {ctx.author.mention} заблокировал пользователя {member.mention}")
  await member.ban(reason=reason)

@bot.command(usage="mute <@user> <причина>", brief="Данная команда забирает голос у участника сервера!") 
@commands.has_any_role("サポート | Support")
async def mute(ctx, member: disnake.Member, timelimit):
  await ctx.send(f"Администратор {ctx.author.mention} замутил пользователя {member.mention}")
  if "s" in timelimit:
    gettime = timelimit.strip("s")
    if int(gettime) > 2419000:
      await ctx.send("Сумма времени мута не может превышать 28 дней")
    else:
      newtime = datetime.timedelta(seconds=int(gettime))
      await member.edit(timeout=disnake.utils.utcnow() + newtime)
  elif "m" in timelimit:
    gettime = timelimit.strip("m")
    if int(gettime) > 40320:
      await ctx.send("Сумма времени мута не может превышать 28 дней")
    else:
      newtime = datetime.timedelta(minutes=int(gettime))
      await member.edit(timeout=disnake.utils.utcnow() + newtime)
  elif "h" in timelimit:
    gettime = timelimit.strip("h")
    if int(gettime) > 672:
      await ctx.send("Сумма времени мута не может превышать 28 дней")
    else:
      newtime = datetime.timedelta(hours=int(gettime))
      await member.edit(timeout=disnake.utils.utcnow() + newtime)


@bot.command() 
@commands.has_any_role("サポート | Support")
async def unmute(ctx, member:disnake.Member):
  await member.edit (timed_out_until=None)
  await ctx.send(f"Администратор {ctx.author.mention} размутил пользователя {member.mention}")

@bot.slash_command(description="Обычный калькулятор, не знаю зачем.")
async def calc(inter, a: int, oper: str, b: int):
    if oper == "+":
        result = a + b
    elif oper == "-":
        result = a - b
    else:
        result = "Неверный оператор."

    await inter.send(str(result))

@bot.slash_command(description="Данная команда блокирует участника сервера!")
@commands.has_any_role("学芸員 | Curator")
async def ban(ctx, member: disnake.Member, *, reason="Администратор не указал причину."):
  await ctx.send(f"Администратор {ctx.author.mention} заблокировал пользователя {member.mention}")
  await member.ban(reason=reason)

@bot.slash_command(description="Данная команда исключает участника с сервера!")
@commands.has_any_role("モデレータ | Moderator")
async def kick(ctx, member: disnake.Member, *, reason="Администратор не указал причину."):
    await ctx.send(f"Администратор {ctx.author.mention} исключил пользователя {member.mention}")
    await member.kick(reason=reason)

@bot.slash_command(description="Данная команда отдает голос участнику сервера!")
@commands.has_any_role("サポート | Support")
async def unmute(ctx, member:disnake.Member):
  await member.edit (timeout=None)
  await ctx.send(f"Администратор {ctx.author.mention} размутил пользователя {member.mention}")

@bot.slash_command(description="Данная команда забирает голос у участника сервера!")
@commands.has_any_role("サポート | Support")
async def mute(self, interactions, member: disnake.Member, time: str, reason: str):
   time = datetime.datetime.now() + datetime.timedelta(minutes=int(time))
   await member.timeout(reason=reason, until=time)
   await interactions.response.send_message(f"Timed out {member.mention} for {time} for {reason}", ephemeral=True)
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы