Files
lbf-bot/apps/discord-bot/src/commands/icone.ts

44 lines
1.6 KiB
TypeScript

import { EmbedBuilder } from "discord.js";
import { searchPlayer, getClanInfo } from "~/wov";
import { replyError } from "~/discord";
import type { Command } from "./index";
import { noMention } from "~/discord";
export const iconeCommand: Command = {
help: "Affiche l'icone et le nom du clan d'un joueur",
handler: async (message, args) => {
const playerName = args[0];
if (!playerName) {
await replyError(message, "Usage:`@LBF icone NOM_JOUEUR`, exemple: `@LBF icone Yuno`.\n**Attention les majuscules sont importantes**");
return;
}
const player = await searchPlayer(playerName);
if (!player) {
await replyError(message, "Joueur·euse non trouvé·e.\n**Attention les majuscules sont importantes**");
return;
}
if (!player.clanId) {
await replyError(message, "Cette personne __n'a pas de clan__ ou __a caché son clan__.\n**Attention les majuscules sont importantes**");
return;
}
const clan = await getClanInfo(player.clanId);
if (!clan) {
await replyError(message, "Impossible de récupérer les informations du clan.");
return;
}
await message.reply({
options: noMention,
content: clan.tag,
embeds: [
new EmbedBuilder()
.setDescription(`### ✅ Informations du clan\n\n**Nom:** \`\`\`${clan.name}\`\`\`\n**Tag:** \`\`\`${clan.tag}\`\`\``)
.setColor(65280)
],
});
},
};