import { Message, Client, ButtonStyle, ButtonBuilder, ActionRowBuilder } from "discord.js"; module.exports = { aliases: ['addbuttonurl', 'addurlbtn', 'addurlbutton'], description: 'Ajoute un bouton url', emote: '🔗', utilisation: '[url] [message ID] [label]', permission: 10, async execute(message: Message, args: string[], client: Client) { if (!args[0]) return message.reply('Veuillez fournir une url'); if (!args[1]) return message.reply('Veuillez fournir un ID de message'); if (!args[2]) return message.reply('Veuillez fournir un label'); const url = args[0]; const messageId = args[1]; const label = args.slice(2).join(' '); if (url && !/^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url)) { return message.reply('Veuillez fournir une URL valide'); } const button = new ButtonBuilder() .setLabel(label) .setURL(url) .setStyle(ButtonStyle.Link); const row: any = new ActionRowBuilder() .addComponents(button); const msg = await message.channel.messages.fetch(messageId); if (!msg) return message.reply('Message introuvable'); if (msg.author.id !== client.user?.id) return message.reply('Ce message n\'a pas été envoyé par moi'); msg.edit({ components: [row] }); }, };