text: 'use strict';
  
  const Command = require('../../utils/Command.js');
  const moment = require("moment")
  
  class Help extends Command {
      constructor() {
          super({
              name: 'create-clan',
              category: '<:clan:954795686623313960> Clan',
              description: 'Crée un clan. Vous devez être niveau 5',
              options: [{
                      type: "STRING",
                      name: "clan_name",
                      description: "Le nom du clan que vous souhaitez créer",
                      required: true,
                  },
                  {
                      type: "BOOLEAN",
                      name: "clan_private",
                      description: "Si tout le monde peut rejoindre votre clan ou non",
                      required: true,
                  },
                  {
                      type: "NUMBER",
                      name: "clan_min_level",
                      description: "Le niveau minimum requis pour rejoindre votre clan",
                      required: false,
                  },
                  {
                      type: "NUMBER",
                      name: "entry_price",
                      description: "Le prix à payer pour rejoindre votre clan",
                      required: false,
                  },
              ],
              example: [],
          })
      }
  
      async run(ctx, userDB) {
          if (!userDB.done) return ctx.errorMessage("Calme ! Vous devez terminer la configuration de votre compte ! Fais `/setup-profile`")
          if (userDB.clan) return ctx.errorMessage("Vous êtes déjà membre d'un clan. Veuillez quitter celui-ci avant de créer un clan.")
          if (5 > userDB.level) return ctx.errorMessage("Euh non! Vous devez être au moins niveau **5** pour créer un clan !\nVous voulez gagner des niveaux plus rapidement ? Consultez notre [Premium](https://wizardbot.xyz/premium)")
          if (userDB.hasBeenInAClan && userDB.hasBeenInAClan.date) {
              if (Date.now() >= userDB.hasBeenInAClan.date + (1000 * 60 * 60 * 24 * 7)) {} else {
                  const d = moment(userDB.hasBeenInAClan.date + (1000 * 60 * 60 * 24 * 7));
                  const discordDate = `<t:${d.unix()}:R>`;
                  return ctx.errorMessage("Doucement ! Vous avez quitté un clan la semaine dernière.\n Vous devez attendre " + discordDate + "  avant de rejoindre un autre clan")
              }
          }
          const clanName = ctx.args.getString("clan_name").slice(0, 50)
          const isPrivate = ctx.args.getBoolean("clan_private")
          const clan_min_level = ctx.args.getNumber("clan_min_leve")
          const entry_price = ctx.args.getNumber("entry_price")
          const clanId = ctx.database.uniqID(4)
          const clanData = {
              clanID: clanId,
              clanName: clanName,
              creation_date: Date.now(),
              private: isPrivate,
              verified_clan: false,
              coins: 0,
              ressources: {
                  wood: 0
              },
              clan_owner: ctx.author.id,
              admins: [],
              members: [],
              entry_price: entry_price ? entry_price : 0,
              min_level: clan_min_level ? clan_min_level : 0,
          }
          clanData.admins.push(`${ctx.author.id}`)
          clanData.members.push(`${ctx.author.id}`)
          ctx.database.insertClan(clanData)
          userDB.clan = clanId;
          if (!userDB.hasBeenInAClan) {
              userDB.hasBeenInAClan = { date: Date.now() }
              ctx.reply(`**<:mineria:952822521361731634> Mineria**: Nice **${ctx.author}** vous avez créé votre premier clan avec succès ! Félicitations !\n\nQue pouvez-vous faire dans un clan ? Lorsque vous rejoignez un clan, vous pouvez lui donner des ressources et retirer de l'or ou du bois avec l'autorisation du membre supérieur. Ensuite, s'ils acceptent, vous pouvez obtenir des ressources pour acheter des objets. Vous pouvez également participer à une guerre <a:sword:954795538451144784>\n\n<:clan:954795686623313960> Lien d'invitation de votre clan : https://wizardbot.xyz/c/${clanId}`)
          } else {
              ctx.reply(`**<:mineria:952822521361731634> Mineria**: Nice **${ctx.author}** ton clan **${clanName}** a été créé avec succès ! \n<:clan:954795686623313960> Clan Id: ${clanId} \n\nDites à vos amis de faire \`/clan-join ${clanId}\` pour rejoindre votre clan ou partagez ce lien : https://wizardbot.xyz/c/${clanId}`)
              userDB.hasBeenInAClan = { date: Date.now() }
          }
          userDB.save()
      }
  
  }
  
  module.exports = new Help;