aboutsummaryrefslogtreecommitdiff
path: root/message-scheduler.js
diff options
context:
space:
mode:
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);
}