Files
gestion-perso/commands/utils/addbtnurl.ts
T
2024-03-15 20:35:35 +01:00

35 lines
1.3 KiB
TypeScript

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] });
},
};