From c25197dbe7a054022739190e41c12d09e79f4c04 Mon Sep 17 00:00:00 2001 From: jacob janzen <53062115+JacobJanzen@users.noreply.github.com> Date: Wed, 11 Dec 2024 21:40:39 -0600 Subject: Add Buttons; Remove Unschedule Command (#5) --- message-scheduler.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'message-scheduler.js') diff --git a/message-scheduler.js b/message-scheduler.js index 12f868b..99d9b77 100644 --- a/message-scheduler.js +++ b/message-scheduler.js @@ -2,6 +2,7 @@ import "dotenv/config"; import cron from "node-cron"; import { v4 as uuidv4 } from "uuid"; import fs from "node:fs"; +import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js"; export class Message { constructor(message, channel_id, crontab, repeat = true, id = null) { @@ -49,12 +50,22 @@ export class MessageSchedule { if (valid) { this.jobs[message.id] = message; + const stop = new ButtonBuilder() + .setCustomId(`stop-${message.id}`) + .setLabel("Stop") + .setStyle(ButtonStyle.Danger); + this.crons[message.id] = cron.schedule( message.crontab, () => { this.state.client.channels.cache .get(message.channel_id) - .send(message.message); + .send({ + content: message.message, + components: [ + new ActionRowBuilder().addComponents(stop), + ], + }); if (!message.repeat) { this.unschedule(message.id); } -- cgit v1.2.3