aboutsummaryrefslogtreecommitdiff
path: root/message-scheduler.js
diff options
context:
space:
mode:
authorjacob janzen <53062115+JacobJanzen@users.noreply.github.com>2024-12-11 21:40:39 -0600
committerGitHub <noreply@github.com>2024-12-11 21:40:39 -0600
commitc25197dbe7a054022739190e41c12d09e79f4c04 (patch)
tree272cb9caf95933c49102a6711827c2a74596f381 /message-scheduler.js
parent36066ad3d8d92855bbfdf4273a53066c6092fa45 (diff)
Add Buttons; Remove Unschedule Command (#5)
Diffstat (limited to 'message-scheduler.js')
-rw-r--r--message-scheduler.js13
1 files changed, 12 insertions, 1 deletions
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);
}