mirror of
https://github.com/arthur-pbty/gestion-perso.git
synced 2026-06-03 23:36:35 +02:00
35 lines
1.3 KiB
TypeScript
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] });
|
|
},
|
|
}; |