async LoadPrefixCommands() {
    const files = (await glob(`dist/prefixCommands/**/*.js`)).map((filePath) =>
      path.resolve(filePath)
    );

    files.map(async (file: string) => {
      const command: PrefixCommand = new (await import(file)).default(
        this.client
      );

      if (!command.command)
        return (
          delete require.cache[require.resolve(file)] &&
          console.log(
            `${file.split("/").pop()} does not have command property.`
          )
        );

      if (!command.category)
        return (
          delete require.cache[require.resolve(file)] &&
          console.log(
            `${file.split("/").pop()} does not have category property.`
          )
        );

      this.client.prefixCommands.set(command.command, command as PrefixCommand);

      return delete require.cache[require.resolve(file)];
    });
  }