import {
  ActionRowBuilder,
  ButtonBuilder,
  ButtonStyle,
  channelMention,
  codeBlock,
} from "discord.js";
import { config } from "../config.js";

function sendMessage(client, type) {
  const channel = client.channels.cache.get(config.textChannelId);
  var message = { content: "Message réservé" };

  if (type && type === "invitation") {
    message.content = inviteMessage();
  } else if (type && type === "jukebox") {
    message = jukeboxMessage();
  }

  channel.send(message);
}

function inviteMessage() {
  var message =
    "Pour inviter quelqu'un, il faut utiliser cette invitation temporaire !\n";

  message = message + codeBlock(config.inviteLink);

  message =
    message +
    "*Pour une invitation permanente, il suffit d'attribuer le role*" +
    " ***Hangaround*** " +
    "*à la personne concernée.*\n\n" +
    "​";

  return message;
}

function jukeboxMessage() {
  const description =
    "Yo ! 😺\n\n" +
    `J'ai installé un jukebox dans ${channelMention(config.voiceChannelId)} !\n` +
    "Tu peux le contrôler facilement via une petite interface ! 😽.\n\n" +
    "Clique sur le bouton ci-dessous pour ouvrir le tableau de bord.\n\n";

  const buttonRow = new ActionRowBuilder().addComponents(
    new ButtonBuilder()
      .setLabel("Ouvrir le Jukebox 🎵")
      .setStyle(ButtonStyle.Link)
      .setURL("https://palico-bot.shinuwa.fr/jukebox/")
  );

  return {
    content: description,
    components: [buttonRow],
  };
}

export { sendMessage, inviteMessage, jukeboxMessage };
