html-ified some commands, removed some others
This commit is contained in:
parent
080e957655
commit
e66945fccd
7 changed files with 4 additions and 180 deletions
|
@ -12,10 +12,10 @@ class Base64Command extends Command {
|
|||
this.success = true;
|
||||
if (command === "decode") {
|
||||
const b64Decoded = Buffer.from(string, "base64").toString("utf8");
|
||||
return `\`\`\`\n${await clean(b64Decoded)}\`\`\``;
|
||||
return { html: `<pre><code>${await clean(b64Decoded)}</pre></code>` };
|
||||
} else if (command === "encode") {
|
||||
const b64Encoded = Buffer.from(string, "utf8").toString("base64");
|
||||
return `\`\`\`\n${b64Encoded}\`\`\``;
|
||||
return { html: `<pre><code>${b64Encoded}</pre></code>` };
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
import Command from "../../classes/command.js";
|
||||
import database from "../../utils/database.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)) {
|
||||
this.success = false;
|
||||
return "Only the bot owner can broadcast messages!";
|
||||
}
|
||||
const message = this.options.message ?? this.args.join(" ");
|
||||
if (message?.trim()) {
|
||||
await database.setBroadcast(message);
|
||||
startBroadcast(this.client, message);
|
||||
if (process.env.PM2_USAGE) {
|
||||
process.send({
|
||||
type: "process:msg",
|
||||
data: {
|
||||
type: "broadcastStart",
|
||||
message
|
||||
}
|
||||
});
|
||||
}
|
||||
return "Started broadcast.";
|
||||
} else {
|
||||
await database.setBroadcast(null);
|
||||
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;
|
||||
static dbRequired = true;
|
||||
}
|
||||
|
||||
export default BroadcastCommand;
|
|
@ -1,53 +0,0 @@
|
|||
import db from "../../utils/database.js";
|
||||
import Command from "../../classes/command.js";
|
||||
|
||||
class ChannelCommand extends Command {
|
||||
async run() {
|
||||
this.success = false;
|
||||
if (!this.guild) return "This command only works in servers!";
|
||||
const owners = process.env.OWNER.split(",");
|
||||
if (!this.member.permissions.has("ADMINISTRATOR") && !owners.includes(this.member.id)) return "You need to be an administrator to enable/disable me!";
|
||||
if (this.args.length === 0) return "You need to provide whether I should be enabled or disabled in this channel!";
|
||||
if (this.args[0] !== "disable" && this.args[0] !== "enable") return "That's not a valid option!";
|
||||
|
||||
const guildDB = await db.getGuild(this.guild.id);
|
||||
|
||||
if (this.args[0].toLowerCase() === "disable") {
|
||||
let channel;
|
||||
if (this.args[1]?.match(/^<?[@#]?[&!]?\d+>?$/) && this.args[1] >= 21154535154122752n) {
|
||||
const id = this.args[1].replaceAll("@", "").replaceAll("#", "").replaceAll("!", "").replaceAll("&", "").replaceAll("<", "").replaceAll(">", "");
|
||||
if (guildDB.disabled.includes(id)) return "I'm already disabled in this channel!";
|
||||
channel = this.guild.channels.get(id) ?? await this.client.rest.channels.get(id);
|
||||
} else {
|
||||
if (guildDB.disabled.includes(this.channel.id)) return "I'm already disabled in this channel!";
|
||||
channel = this.channel;
|
||||
}
|
||||
|
||||
await db.disableChannel(channel);
|
||||
this.success = true;
|
||||
return `I have been disabled in this channel. To re-enable me, just run \`${guildDB.prefix}channel enable\`.`;
|
||||
} else if (this.args[0].toLowerCase() === "enable") {
|
||||
let channel;
|
||||
if (this.args[1]?.match(/^<?[@#]?[&!]?\d+>?$/) && this.args[1] >= 21154535154122752n) {
|
||||
const id = this.args[1].replaceAll("@", "").replaceAll("#", "").replaceAll("!", "").replaceAll("&", "").replaceAll("<", "").replaceAll(">", "");
|
||||
if (!guildDB.disabled.includes(id)) return "I'm not disabled in that channel!";
|
||||
channel = this.guild.channels.get(id) ?? await this.client.rest.channels.get(id);
|
||||
} else {
|
||||
if (!guildDB.disabled.includes(this.channel.id)) return "I'm not disabled in this channel!";
|
||||
channel = this.channel;
|
||||
}
|
||||
|
||||
await db.enableChannel(channel);
|
||||
this.success = true;
|
||||
return "I have been re-enabled in this channel.";
|
||||
}
|
||||
}
|
||||
|
||||
static description = "Enables/disables classic commands in a channel (use server settings for slash commands)";
|
||||
static arguments = ["[enable/disable]", "{id}"];
|
||||
static slashAllowed = false;
|
||||
static directAllowed = false;
|
||||
static dbRequired = true;
|
||||
}
|
||||
|
||||
export default ChannelCommand;
|
|
@ -1,44 +0,0 @@
|
|||
import db from "../../utils/database.js";
|
||||
import Command from "../../classes/command.js";
|
||||
import * as collections from "../../utils/collections.js";
|
||||
|
||||
class CommandCommand extends Command {
|
||||
async run() {
|
||||
this.success = false;
|
||||
if (!this.guild) return "This command only works in servers!";
|
||||
const owners = process.env.OWNER.split(",");
|
||||
if (!this.member.permissions.has("ADMINISTRATOR") && !owners.includes(this.member.id)) return "You need to be an administrator to enable/disable me!";
|
||||
if (this.args.length === 0) return "You need to provide whether you want to enable/disable a command!";
|
||||
if (this.args[0] !== "disable" && this.args[0] !== "enable") return "That's not a valid option!";
|
||||
if (!this.args[1]) return "You need to provide what command to enable/disable!";
|
||||
if (!collections.commands.has(this.args[1].toLowerCase()) && !collections.aliases.has(this.args[1].toLowerCase())) return "That isn't a command!";
|
||||
|
||||
const guildDB = await db.getGuild(this.guild.id);
|
||||
const disabled = guildDB.disabled_commands ?? guildDB.disabledCommands;
|
||||
const command = collections.aliases.get(this.args[1].toLowerCase()) ?? this.args[1].toLowerCase();
|
||||
|
||||
if (this.args[0].toLowerCase() === "disable") {
|
||||
if (command === "command") return "You can't disable that command!";
|
||||
if (disabled?.includes(command)) return "That command is already disabled!";
|
||||
|
||||
await db.disableCommand(this.guild.id, command);
|
||||
this.success = true;
|
||||
return `The command has been disabled. To re-enable it, just run \`${guildDB.prefix}command enable ${command}\`.`;
|
||||
} else if (this.args[0].toLowerCase() === "enable") {
|
||||
if (!disabled?.includes(command)) return "That command isn't disabled!";
|
||||
|
||||
await db.enableCommand(this.guild.id, command);
|
||||
this.success = true;
|
||||
return `The command \`${command}\` has been re-enabled.`;
|
||||
}
|
||||
}
|
||||
|
||||
static description = "Enables/disables a classic command for a server (use server settings for slash commands)";
|
||||
static aliases = ["cmd"];
|
||||
static arguments = ["[enable/disable]", "[command]"];
|
||||
static slashAllowed = false;
|
||||
static directAllowed = false;
|
||||
static dbRequired = true;
|
||||
}
|
||||
|
||||
export default CommandCommand;
|
|
@ -20,7 +20,7 @@ class DonateCommand extends Command {
|
|||
} catch (e) {
|
||||
// no-op
|
||||
}
|
||||
return `${prefix}Like esmBot? Consider supporting the developer on Patreon to help keep it running! https://patreon.com/TheEssem`;
|
||||
return `${prefix}Like esmBot (or mrmBot)? Consider supporting Essem on Patreon to help keep it running! https://patreon.com/TheEssem`;
|
||||
}
|
||||
|
||||
static description = "Learn more about how you can support esmBot's development";
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
import Command from "../../classes/command.js";
|
||||
|
||||
class PingCommand extends Command {
|
||||
async run() {
|
||||
if (this.type === "classic") {
|
||||
const pingMessage = await this.client.rest.channels.createMessage(this.message.channelID, Object.assign({
|
||||
content: "🏓 Ping?"
|
||||
}, this.reference));
|
||||
await pingMessage.edit({
|
||||
content: `🏓 Pong!\n\`\`\`\nLatency: ${pingMessage.timestamp - this.message.timestamp}ms${this.message.guildID ? `\nShard Latency: ${Math.round(this.client.shards.get(this.client.guildShardMap[this.message.guildID]).latency)}ms` : ""}\n\`\`\``
|
||||
});
|
||||
} else {
|
||||
await this.interaction.createMessage({
|
||||
content: "🏓 Ping?"
|
||||
});
|
||||
const pingMessage = await this.interaction.getOriginal();
|
||||
await this.interaction.editOriginal({
|
||||
content: `🏓 Pong!\n\`\`\`\nLatency: ${pingMessage.timestamp - Math.floor((this.interaction.id / 4194304) + 1420070400000)}ms${this.interaction.guildID ? `\nShard Latency: ${Math.round(this.client.shards.get(this.client.guildShardMap[this.interaction.guildID]).latency)}ms` : ""}\n\`\`\``
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
static description = "Pings Discord's servers";
|
||||
static aliases = ["pong"];
|
||||
}
|
||||
|
||||
export default PingCommand;
|
|
@ -16,7 +16,7 @@ class QrReadCommand extends Command {
|
|||
const qrBuffer = jsqr(rawData.data, rawData.info.width, rawData.info.height);
|
||||
if (!qrBuffer) return "I couldn't find a QR code!";
|
||||
this.success = true;
|
||||
return `\`\`\`\n${await clean(qrBuffer.data)}\n\`\`\``;
|
||||
return { html: `<pre><code>${await clean(qrBuffer.data)}</pre></code>` };
|
||||
}
|
||||
|
||||
static description = "Reads a QR code";
|
||||
|
|
Loading…
Reference in a new issue