Allow for multiple bot owners to be set
This commit is contained in:
parent
fa14ce7c35
commit
340ef45b17
14 changed files with 28 additions and 15 deletions
|
@ -4,7 +4,8 @@ class BroadcastCommand extends Command {
|
||||||
// yet another very hacky command
|
// yet another very hacky command
|
||||||
run() {
|
run() {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can broadcast messages!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can broadcast messages!";
|
||||||
if (this.args.length !== 0) {
|
if (this.args.length !== 0) {
|
||||||
this.ipc.broadcast("playbroadcast", this.args.join(" "));
|
this.ipc.broadcast("playbroadcast", this.args.join(" "));
|
||||||
this.ipc.register("broadcastSuccess", () => {
|
this.ipc.register("broadcastSuccess", () => {
|
||||||
|
|
|
@ -4,7 +4,8 @@ import Command from "../../classes/command.js";
|
||||||
class ChannelCommand extends Command {
|
class ChannelCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (!this.message.channel.guild) return "This command only works in servers!";
|
if (!this.message.channel.guild) return "This command only works in servers!";
|
||||||
if (!this.message.member.permissions.has("administrator") && this.message.member.id !== process.env.OWNER) return "You need to be an administrator to enable/disable me!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!this.message.member.permissions.has("administrator") && !owners.includes(this.message.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.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!";
|
if (this.args[0] !== "disable" && this.args[0] !== "enable") return "That's not a valid option!";
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,8 @@ import * as collections from "../../utils/collections.js";
|
||||||
class CommandCommand extends Command {
|
class CommandCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (!this.message.channel.guild) return "This command only works in servers!";
|
if (!this.message.channel.guild) return "This command only works in servers!";
|
||||||
if (!this.message.member.permissions.has("administrator") && this.message.member.id !== process.env.OWNER) return "You need to be an administrator to enable/disable me!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!this.message.member.permissions.has("administrator") && !owners.includes(this.message.member.id)) return "You need to be an administrator to enable/disable me!";
|
||||||
if (this.args.length === 0) return "You need to provide what command to enable/disable!";
|
if (this.args.length === 0) return "You need to provide what command to enable/disable!";
|
||||||
if (this.args[0] !== "disable" && this.args[0] !== "enable") return "That's not a valid option!";
|
if (this.args[0] !== "disable" && this.args[0] !== "enable") return "That's not a valid option!";
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,8 @@ import Command from "../../classes/command.js";
|
||||||
|
|
||||||
class EvalCommand extends Command {
|
class EvalCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can use eval!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can use eval!";
|
||||||
const code = this.args.join(" ");
|
const code = this.args.join(" ");
|
||||||
try {
|
try {
|
||||||
const evaled = eval(code);
|
const evaled = eval(code);
|
||||||
|
|
|
@ -3,7 +3,8 @@ import Command from "../../classes/command.js";
|
||||||
|
|
||||||
class EvalRawCommand extends Command {
|
class EvalRawCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can use evalraw!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can use evalraw!";
|
||||||
const code = this.args.join(" ");
|
const code = this.args.join(" ");
|
||||||
try {
|
try {
|
||||||
const evaled = eval(code);
|
const evaled = eval(code);
|
||||||
|
|
|
@ -6,7 +6,8 @@ import Command from "../../classes/command.js";
|
||||||
|
|
||||||
class ExecCommand extends Command {
|
class ExecCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can use exec!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can use exec!";
|
||||||
const code = this.args.join(" ");
|
const code = this.args.join(" ");
|
||||||
try {
|
try {
|
||||||
const execed = await exec(code);
|
const execed = await exec(code);
|
||||||
|
|
|
@ -2,7 +2,8 @@ import Command from "../../classes/command.js";
|
||||||
|
|
||||||
class ImageReloadCommand extends Command {
|
class ImageReloadCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can reload the image servers!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can reload the image servers!";
|
||||||
const amount = await this.ipc.command("image", { type: "reload" }, true);
|
const amount = await this.ipc.command("image", { type: "reload" }, true);
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
return `Successfully connected to ${amount} image servers.`;
|
return `Successfully connected to ${amount} image servers.`;
|
||||||
|
|
|
@ -7,7 +7,7 @@ const exec = promisify(baseExec);
|
||||||
|
|
||||||
class InfoCommand extends Command {
|
class InfoCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
const owner = await this.ipc.fetchUser(process.env.OWNER);
|
const owner = await this.ipc.fetchUser(process.env.OWNER.split(",")[0]);
|
||||||
const stats = await this.ipc.getStats();
|
const stats = await this.ipc.getStats();
|
||||||
return {
|
return {
|
||||||
"embed": {
|
"embed": {
|
||||||
|
|
|
@ -6,7 +6,8 @@ class PrefixCommand extends Command {
|
||||||
if (!this.message.channel.guild) return "This command only works in servers!";
|
if (!this.message.channel.guild) return "This command only works in servers!";
|
||||||
const guild = await database.getGuild(this.message.channel.guild.id);
|
const guild = await database.getGuild(this.message.channel.guild.id);
|
||||||
if (this.args.length !== 0) {
|
if (this.args.length !== 0) {
|
||||||
if (!this.message.member.permissions.has("administrator") && this.message.member.id !== process.env.OWNER) return "You need to be an administrator to change the bot prefix!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!this.message.member.permissions.has("administrator") && !owners.includes(this.message.member.id)) return "You need to be an administrator to change the bot prefix!";
|
||||||
await database.setPrefix(this.args[0], this.message.channel.guild);
|
await database.setPrefix(this.args[0], this.message.channel.guild);
|
||||||
return `The prefix has been changed to ${this.args[0]}.`;
|
return `The prefix has been changed to ${this.args[0]}.`;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -4,7 +4,8 @@ class ReloadCommand extends Command {
|
||||||
// quite possibly one of the hackiest commands in the bot
|
// quite possibly one of the hackiest commands in the bot
|
||||||
run() {
|
run() {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
if (this.message.author.id !== process.env.OWNER) resolve("Only the bot owner can reload commands!");
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) resolve("Only the bot owner can reload commands!");
|
||||||
if (this.args.length === 0) resolve("You need to provide a command to reload!");
|
if (this.args.length === 0) resolve("You need to provide a command to reload!");
|
||||||
this.ipc.broadcast("reload", this.args[0]);
|
this.ipc.broadcast("reload", this.args[0]);
|
||||||
this.ipc.register("reloadSuccess", () => {
|
this.ipc.register("reloadSuccess", () => {
|
||||||
|
|
|
@ -2,7 +2,8 @@ import Command from "../../classes/command.js";
|
||||||
|
|
||||||
class RestartCommand extends Command {
|
class RestartCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can restart me!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can restart me!";
|
||||||
await this.client.createMessage(this.message.channel.id, Object.assign({
|
await this.client.createMessage(this.message.channel.id, Object.assign({
|
||||||
content: "esmBot is restarting."
|
content: "esmBot is restarting."
|
||||||
}, this.reference));
|
}, this.reference));
|
||||||
|
|
|
@ -4,7 +4,8 @@ class SoundReloadCommand extends Command {
|
||||||
// another very hacky command
|
// another very hacky command
|
||||||
run() {
|
run() {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
if (this.message.author.id !== process.env.OWNER) return "Only the bot owner can reload Lavalink!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (!owners.includes(this.message.author.id)) return "Only the bot owner can reload Lavalink!";
|
||||||
this.client.sendChannelTyping(this.message.channel.id);
|
this.client.sendChannelTyping(this.message.channel.id);
|
||||||
this.ipc.broadcast("soundreload");
|
this.ipc.broadcast("soundreload");
|
||||||
this.ipc.register("soundReloadSuccess", (msg) => {
|
this.ipc.register("soundReloadSuccess", (msg) => {
|
||||||
|
|
|
@ -11,7 +11,7 @@ class StatsCommand extends Command {
|
||||||
async run() {
|
async run() {
|
||||||
const uptime = process.uptime() * 1000;
|
const uptime = process.uptime() * 1000;
|
||||||
const connUptime = this.client.uptime;
|
const connUptime = this.client.uptime;
|
||||||
const owner = await this.ipc.fetchUser(process.env.OWNER);
|
const owner = await this.ipc.fetchUser(process.env.OWNER.split(",")[0]);
|
||||||
const stats = await this.ipc.getStats();
|
const stats = await this.ipc.getStats();
|
||||||
return {
|
return {
|
||||||
embed: {
|
embed: {
|
||||||
|
|
|
@ -22,14 +22,16 @@ class TagsCommand extends Command {
|
||||||
if (this.args[1] === undefined) return "You need to provide the name of the tag you want to delete!";
|
if (this.args[1] === undefined) return "You need to provide the name of the tag you want to delete!";
|
||||||
const getResult = await database.getTag(this.message.channel.guild.id, this.args[1].toLowerCase());
|
const getResult = await database.getTag(this.message.channel.guild.id, this.args[1].toLowerCase());
|
||||||
if (!getResult) return "This tag doesn't exist!";
|
if (!getResult) return "This tag doesn't exist!";
|
||||||
if (getResult.author !== this.message.author.id && !this.message.member.permissions.has("manageMessages") && this.message.author.id !== process.env.OWNER) return "You don't own this tag!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (getResult.author !== this.message.author.id && !this.message.member.permissions.has("manageMessages") && !owners.includes(this.message.author.id)) return "You don't own this tag!";
|
||||||
await database.removeTag(this.args[1].toLowerCase(), this.message.channel.guild);
|
await database.removeTag(this.args[1].toLowerCase(), this.message.channel.guild);
|
||||||
return `The tag \`${this.args[1].toLowerCase()}\` has been deleted!`;
|
return `The tag \`${this.args[1].toLowerCase()}\` has been deleted!`;
|
||||||
} else if (this.args[0].toLowerCase() === "edit") {
|
} else if (this.args[0].toLowerCase() === "edit") {
|
||||||
if (this.args[1] === undefined) return "You need to provide the name of the tag you want to edit!";
|
if (this.args[1] === undefined) return "You need to provide the name of the tag you want to edit!";
|
||||||
const getResult = await database.getTag(this.message.channel.guild.id, this.args[1].toLowerCase());
|
const getResult = await database.getTag(this.message.channel.guild.id, this.args[1].toLowerCase());
|
||||||
if (!getResult) return "This tag doesn't exist!";
|
if (!getResult) return "This tag doesn't exist!";
|
||||||
if (getResult.author !== this.message.author.id && !this.message.member.permissions.has("manageMessages") && this.message.author.id !== process.env.OWNER) return "You don't own this tag!";
|
const owners = process.env.OWNER.split(",");
|
||||||
|
if (getResult.author !== this.message.author.id && !this.message.member.permissions.has("manageMessages") && !owners.includes(this.message.author.id)) return "You don't own this tag!";
|
||||||
await this.setTag(this.args.slice(2).join(" "), this.args[1].toLowerCase(), this.message, true);
|
await this.setTag(this.args.slice(2).join(" "), this.args[1].toLowerCase(), this.message, true);
|
||||||
return `The tag \`${this.args[1].toLowerCase()}\` has been edited!`;
|
return `The tag \`${this.args[1].toLowerCase()}\` has been edited!`;
|
||||||
} else if (this.args[0].toLowerCase() === "own" || this.args[0].toLowerCase() === "owner") {
|
} else if (this.args[0].toLowerCase() === "own" || this.args[0].toLowerCase() === "owner") {
|
||||||
|
|
Loading…
Reference in a new issue