text: const { canModifyQueue, logErr } = require("../util/Util");
  const i18n = require("../util/i18n");
  
  module.exports = {
    name: "deploy",
    description: i18n.__("deploy.description"),
    async execute(message) {
      const commands = [
        {
          name: "clip",
          description: i18n.__mf("clip.description"),
          options: [
            {
              name: "file",
              description: i18n.__mf("clip.options.file"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "clips",
          description: i18n.__mf("clips.description")
        },
        {
          name: "help",
          description: i18n.__mf("help.description")
        },
        {
          name: "invite",
          description: i18n.__mf("invite.description")
        },
        {
          name: "loop",
          description: i18n.__mf("loop.description")
        },
        {
          name: "lyrics",
          description: i18n.__mf("lyrics.description")
        },
        {
          name: "move",
          description: i18n.__mf("move.description"),
          options: [
            {
              name: "position",
              description: i18n.__mf("move.options.position"),
              type: 3,
              required: true
            },
            {
              name: "newposition",
              description: i18n.__mf("move.options.newposition"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "nowplaying",
          description: i18n.__mf("nowplaying.description")
        },
        {
          name: "pause",
          description: i18n.__mf("pause.description")
        },
        {
          name: "ping",
          description: i18n.__mf("ping.description")
        },
        {
          name: "play",
          description: i18n.__mf("play.description"),
          options: [
            {
              name: "song",
              description: i18n.__mf("play.options.query"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "playlist",
          description: i18n.__mf("playlist.description"),
          options: [
            {
              name: "list",
              description: i18n.__mf("playlist.options.list"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "pruning",
          description: i18n.__mf("pruning.description")
        },
        {
          name: "queue",
          description: i18n.__mf("queue.description")
        },
        {
          name: "remove",
          description: i18n.__mf("remove.description"),
          options: [
            {
              name: "position",
              description: i18n.__mf("remove.options.position"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "resume",
          description: i18n.__mf("resume.description")
        },
        {
          name: "search",
          description: i18n.__mf("search.description"),
          options: [
            {
              name: "query",
              description: i18n.__mf("search.options.query"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "shuffle",
          description: i18n.__mf("shuffle.description")
        },
        {
          name: "skip",
          description: i18n.__mf("skip.description")
        },
        {
          name: "skipto",
          description: i18n.__mf("skipto.description"),
          options: [
            {
              name: "position",
              description: i18n.__mf("skipto.options.skipto"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "stop",
          description: i18n.__mf("stop.description")
        },
        {
          name: "twitch",
          description: i18n.__mf("twitch.description"),
          options: [
            {
              name: "stream",
              description: i18n.__mf("skipto.options.skipto"),
              type: 3,
              required: true
            }
          ]
        },
        {
          name: "uptime",
          description: i18n.__mf("uptime.description")
        },
        {
          name: "volume",
          description: i18n.__mf("volume.description"),
          options: [
            {
              name: "level",
              description: i18n.__mf("volume.options.level"),
              type: 3,
              required: true
            }
          ]
        }
      ];
      try {
        await message.guild.commands.set(commands);
        await message.reply(i18n.__mf("deploy.result")).catch(console.error);
      } catch (error) {
        logErr(error);
        if (error.message == "Missing Access") {
          return await message
            .reply(i18n.__mf("deploy.error", { prefix: message.client.prefix }))
            .catch(console.error);
        }
        return await message.reply(error.message).catch(console.error);
      }
    }
  };
  