48 lines
No EOL
1.2 KiB
JavaScript
48 lines
No EOL
1.2 KiB
JavaScript
import Command from "../../classes/command.js";
|
|
import { endBroadcast, startBroadcast } from "../../utils/misc.js";
|
|
|
|
class BroadcastCommand extends Command {
|
|
async run() {
|
|
const owners = process.env.OWNER.split(",");
|
|
if (!owners.includes(this.author.id)) {
|
|
this.success = false;
|
|
return "Only the bot owner can broadcast messages!";
|
|
}
|
|
const message = this.options.message ?? this.args.join(" ");
|
|
if (message?.trim()) {
|
|
startBroadcast(this.client, message);
|
|
if (process.env.PM2_USAGE) {
|
|
process.send({
|
|
type: "process:msg",
|
|
data: {
|
|
type: "broadcastStart",
|
|
message
|
|
}
|
|
});
|
|
}
|
|
return "Started broadcast.";
|
|
} else {
|
|
endBroadcast(this.client);
|
|
if (process.env.PM2_USAGE) {
|
|
process.send({
|
|
type: "process:msg",
|
|
data: {
|
|
type: "broadcastEnd"
|
|
}
|
|
});
|
|
}
|
|
return "Ended broadcast.";
|
|
}
|
|
}
|
|
|
|
static flags = [{
|
|
name: "message",
|
|
type: 3,
|
|
description: "The message to broadcast"
|
|
}];
|
|
|
|
static description = "Broadcasts a playing message until the command is run again or the bot restarts";
|
|
static adminOnly = true;
|
|
}
|
|
|
|
export default BroadcastCommand; |