Update revolt.js, switch to ESM (🤢)
This commit is contained in:
parent
e718827432
commit
e4a408ff30
30 changed files with 150 additions and 133 deletions
|
@ -2,17 +2,17 @@
|
||||||
"name": "revolt-automod",
|
"name": "revolt-automod",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"type": "module",
|
||||||
|
"exports": "./index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "rm -rf dist && tsc",
|
"build": "rm -rf dist && tsc",
|
||||||
"start": "node dist/index",
|
"start": "node --experimental-specifier-resolution=node dist/index",
|
||||||
"dev": "yarn build && yarn start"
|
"dev": "yarn build && yarn start"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@janderedev/revolt.js": "^5.1.0-alpha.9-patch.0",
|
|
||||||
"@types/monk": "^6.0.0",
|
"@types/monk": "^6.0.0",
|
||||||
"axios": "^0.22.0",
|
"axios": "^0.22.0",
|
||||||
"dayjs": "^1.10.7",
|
"dayjs": "^1.10.7",
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"log75": "^2.2.0",
|
"log75": "^2.2.0",
|
||||||
"monk": "^7.3.4",
|
"monk": "^7.3.4",
|
||||||
|
"revolt.js": "^5.2.3",
|
||||||
"ulid": "^2.3.0",
|
"ulid": "^2.3.0",
|
||||||
"xlsx": "^0.17.3"
|
"xlsx": "^0.17.3"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { ulid } from "ulid";
|
import { ulid } from "ulid";
|
||||||
import { client } from "../..";
|
import { client } from "../../index";
|
||||||
import Infraction from "../../struct/antispam/Infraction";
|
import Infraction from "../../struct/antispam/Infraction";
|
||||||
import InfractionType from "../../struct/antispam/InfractionType";
|
import InfractionType from "../../struct/antispam/InfractionType";
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
|
||||||
import { hasPerm, parseUser } from "../util";
|
import { hasPerm, parseUser } from "../util";
|
||||||
import ServerConfig from "../../struct/ServerConfig";
|
import ServerConfig from "../../struct/ServerConfig";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import { User } from "@janderedev/revolt.js/dist/maps/Users";
|
import { User } from "revolt.js/dist/maps/Users";
|
||||||
import MessageCommandContext from "../../struct/MessageCommandContext";
|
import MessageCommandContext from "../../struct/MessageCommandContext";
|
||||||
|
|
||||||
const SYNTAX = '/admin add @user; /admin remove @user; /admin list';
|
const SYNTAX = '/admin add @user; /admin remove @user; /admin list';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { inspect } from 'util';
|
import { inspect } from 'util';
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'help',
|
name: 'help',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Member } from "@janderedev/revolt.js/dist/maps/Members";
|
import { Member } from "revolt.js/dist/maps/Members";
|
||||||
import { ulid } from "ulid";
|
import { ulid } from "ulid";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import Infraction from "../../struct/antispam/Infraction";
|
import Infraction from "../../struct/antispam/Infraction";
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { isBotManager, NO_MANAGER_MSG, parseUser } from "../util";
|
import { isBotManager, NO_MANAGER_MSG, parseUser } from "../util";
|
||||||
import ServerConfig from "../../struct/ServerConfig";
|
import ServerConfig from "../../struct/ServerConfig";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import { User } from "@janderedev/revolt.js/dist/maps/Users";
|
import { User } from "revolt.js/dist/maps/Users";
|
||||||
import MessageCommandContext from "../../struct/MessageCommandContext";
|
import MessageCommandContext from "../../struct/MessageCommandContext";
|
||||||
|
|
||||||
const SYNTAX = '/mod add @user; /mod remove @user; /mod list';
|
const SYNTAX = '/mod add @user; /mod remove @user; /mod list';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import ServerConfig from "../../struct/ServerConfig";
|
import ServerConfig from "../../struct/ServerConfig";
|
||||||
import { DEFAULT_PREFIX } from "../modules/command_handler";
|
import { DEFAULT_PREFIX } from "../modules/command_handler";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { decodeTime } from 'ulid';
|
import { decodeTime } from 'ulid';
|
||||||
import { isModerator, parseUser } from "../util";
|
import { isModerator, parseUser } from "../util";
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import AutomodSettings from "../../struct/antispam/AutomodSettings";
|
import AutomodSettings from "../../struct/antispam/AutomodSettings";
|
||||||
import AntispamRule from "../../struct/antispam/AntispamRule";
|
import AntispamRule from "../../struct/antispam/AntispamRule";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { exec } from 'child_process';
|
import { exec } from 'child_process';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'test',
|
name: 'test',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { User } from "@janderedev/revolt.js/dist/maps/Users";
|
import { User } from "revolt.js/dist/maps/Users";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import Command from "../../struct/Command";
|
import Command from "../../struct/Command";
|
||||||
import MessageCommandContext from "../../struct/MessageCommandContext";
|
import MessageCommandContext from "../../struct/MessageCommandContext";
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Log75, { LogLevel } from 'log75';
|
import Log75, { LogLevel } from 'log75';
|
||||||
|
|
||||||
let logger = new Log75(process.env.NODE_ENV == 'production' ? LogLevel.Standard : LogLevel.Debug);
|
// Thanks to being forced to switch to ESM this broke somehow?
|
||||||
|
let logger = new (Log75 as any).default(process.env.NODE_ENV == 'production' ? LogLevel.Standard : LogLevel.Debug);
|
||||||
|
|
||||||
export default logger;
|
export default logger;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { ulid } from "ulid";
|
import { ulid } from "ulid";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import AntispamRule from "../../struct/antispam/AntispamRule";
|
import AntispamRule from "../../struct/antispam/AntispamRule";
|
||||||
|
|
|
@ -7,83 +7,92 @@ import ServerConfig from "../../struct/ServerConfig";
|
||||||
import { antispam } from "./antispam";
|
import { antispam } from "./antispam";
|
||||||
import checkCustomRules from "./custom_rules/custom_rules";
|
import checkCustomRules from "./custom_rules/custom_rules";
|
||||||
import MessageCommandContext from "../../struct/MessageCommandContext";
|
import MessageCommandContext from "../../struct/MessageCommandContext";
|
||||||
|
import { fileURLToPath } from 'url';
|
||||||
|
|
||||||
|
// thanks a lot esm
|
||||||
|
const filename = fileURLToPath(import.meta.url);
|
||||||
|
const dirname = path.dirname(filename);
|
||||||
|
|
||||||
const DEFAULT_PREFIX = process.env['PREFIX']
|
const DEFAULT_PREFIX = process.env['PREFIX']
|
||||||
?? process.env['BOT_PREFIX']
|
?? process.env['BOT_PREFIX']
|
||||||
?? process.env['COMMAND_PREFIX']
|
?? process.env['COMMAND_PREFIX']
|
||||||
?? '/';
|
?? '/';
|
||||||
|
|
||||||
let commands: Command[] = fs.readdirSync(path.join(__dirname, '..', 'commands'))
|
(async () => {
|
||||||
.filter(file => file.endsWith('.js'))
|
let commands: Command[] = (await Promise.all(
|
||||||
.map(file => require(path.join(__dirname, '..', 'commands', file)).default as Command);
|
fs.readdirSync(path.join(dirname, '..', 'commands'))
|
||||||
|
.filter(file => file.endsWith('.js'))
|
||||||
|
.map(async file => await import(path.join(dirname, '..', 'commands', file)) as Command)
|
||||||
|
)).map(c => (c as any).default)
|
||||||
|
|
||||||
client.on('message', async msg => {
|
client.on('message', async msg => {
|
||||||
logger.debug(`Message -> ${msg.content}`);
|
logger.debug(`Message -> ${msg.content}`);
|
||||||
|
|
||||||
if (typeof msg.content != 'string' ||
|
if (typeof msg.content != 'string' ||
|
||||||
msg.author_id == client.user?._id ||
|
msg.author_id == client.user?._id ||
|
||||||
!msg.channel?.server) return;
|
!msg.channel?.server) return;
|
||||||
|
|
||||||
// Send message through anti spam check and custom rules
|
// Send message through anti spam check and custom rules
|
||||||
if (!await antispam(msg)) return;
|
if (!await antispam(msg)) return;
|
||||||
checkCustomRules(msg);
|
checkCustomRules(msg);
|
||||||
|
|
||||||
let args = msg.content.split(' ');
|
let args = msg.content.split(' ');
|
||||||
let cmdName = args.shift() ?? '';
|
let cmdName = args.shift() ?? '';
|
||||||
|
|
||||||
let config: ServerConfig = (await client.db.get('servers').findOne({ 'id': msg.channel?.server_id })) ?? {};
|
|
||||||
let guildPrefix = config.prefix ?? DEFAULT_PREFIX;
|
|
||||||
|
|
||||||
if (cmdName.startsWith(`<@${client.user?._id}>`)) {
|
let config: ServerConfig = (await client.db.get('servers').findOne({ 'id': msg.channel?.server_id })) ?? {};
|
||||||
cmdName = cmdName.substr(`<@${client.user?._id}>`.length);
|
let guildPrefix = config.prefix ?? DEFAULT_PREFIX;
|
||||||
if (!cmdName) cmdName = args.shift() ?? ''; // Space between mention and command name
|
|
||||||
} else if (cmdName.startsWith(guildPrefix)) {
|
|
||||||
cmdName = cmdName.substr(guildPrefix.length);
|
|
||||||
if (config.spaceAfterPrefix && !cmdName) cmdName = args.shift() ?? '';
|
|
||||||
} else return;
|
|
||||||
|
|
||||||
if (!cmdName) return;
|
if (cmdName.startsWith(`<@${client.user?._id}>`)) {
|
||||||
|
cmdName = cmdName.substr(`<@${client.user?._id}>`.length);
|
||||||
|
if (!cmdName) cmdName = args.shift() ?? ''; // Space between mention and command name
|
||||||
|
} else if (cmdName.startsWith(guildPrefix)) {
|
||||||
|
cmdName = cmdName.substr(guildPrefix.length);
|
||||||
|
if (config.spaceAfterPrefix && !cmdName) cmdName = args.shift() ?? '';
|
||||||
|
} else return;
|
||||||
|
|
||||||
let cmd = commands.find(c => c.name == cmdName || (c.aliases?.indexOf(cmdName!) ?? -1) > -1);
|
if (!cmdName) return;
|
||||||
if (!cmd) return;
|
|
||||||
|
|
||||||
let ownerIDs = process.env['BOT_OWNERS'] ? process.env['BOT_OWNERS'].split(',') : [];
|
let cmd = commands.find(c => c.name == cmdName || (c.aliases?.indexOf(cmdName!) ?? -1) > -1);
|
||||||
if (cmd.restrict == 'BOTOWNER' && ownerIDs.indexOf(msg.author_id) == -1) {
|
if (!cmd) return;
|
||||||
logger.warn(`User ${msg.author?.username} tried to run owner-only command: ${cmdName}`);
|
|
||||||
msg.reply('🔒 Access denied');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let serverCtx = msg.channel?.server;
|
let ownerIDs = process.env['BOT_OWNERS'] ? process.env['BOT_OWNERS'].split(',') : [];
|
||||||
|
if (cmd.restrict == 'BOTOWNER' && ownerIDs.indexOf(msg.author_id) == -1) {
|
||||||
if (config.linkedServer) {
|
logger.warn(`User ${msg.author?.username} tried to run owner-only command: ${cmdName}`);
|
||||||
try {
|
msg.reply('🔒 Access denied');
|
||||||
serverCtx = client.servers.get(config.linkedServer)
|
return;
|
||||||
|| await client.servers.fetch(config.linkedServer);
|
|
||||||
} catch(e) {
|
|
||||||
msg.reply(`# Error\n` +
|
|
||||||
`Failed to fetch linked server. This command will be executed in the context of this server.\n\n` +
|
|
||||||
`Error: \`\`\`js\n${e}\n\`\`\``);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
let message: MessageCommandContext = msg as MessageCommandContext;
|
let serverCtx = msg.channel?.server;
|
||||||
message.serverContext = serverCtx;
|
|
||||||
|
|
||||||
logger.info(`Command: ${message.author?.username} in ${message.channel?.server?.name}: ${message.content}`);
|
if (config.linkedServer) {
|
||||||
|
try {
|
||||||
|
serverCtx = client.servers.get(config.linkedServer)
|
||||||
|
|| await client.servers.fetch(config.linkedServer);
|
||||||
|
} catch(e) {
|
||||||
|
msg.reply(`# Error\n` +
|
||||||
|
`Failed to fetch linked server. This command will be executed in the context of this server.\n\n` +
|
||||||
|
`Error: \`\`\`js\n${e}\n\`\`\``);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create document for server in DB, if not already present
|
let message: MessageCommandContext = msg as MessageCommandContext;
|
||||||
if (JSON.stringify(config) == '{}') await client.db.get('servers').insert({ id: message.channel?.server_id });
|
message.serverContext = serverCtx;
|
||||||
|
|
||||||
if (cmd.removeEmptyArgs !== false) {
|
logger.info(`Command: ${message.author?.username} in ${message.channel?.server?.name}: ${message.content}`);
|
||||||
args = args.filter(a => a.length > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
// Create document for server in DB, if not already present
|
||||||
cmd.run(message, args);
|
if (JSON.stringify(config) == '{}') await client.db.get('servers').insert({ id: message.channel?.server_id });
|
||||||
} catch(e) {
|
|
||||||
message.reply(`### An error has occurred:\n\`\`\`js\n${e}\n\`\`\``);
|
if (cmd.removeEmptyArgs !== false) {
|
||||||
}
|
args = args.filter(a => a.length > 0);
|
||||||
});
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
cmd.run(message, args);
|
||||||
|
} catch(e) {
|
||||||
|
message.reply(`### An error has occurred:\n\`\`\`js\n${e}\n\`\`\``);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
export { DEFAULT_PREFIX }
|
export { DEFAULT_PREFIX }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import CustomRuleAction from "../../../../struct/antispam/CustomRuleAction";
|
import CustomRuleAction from "../../../../struct/antispam/CustomRuleAction";
|
||||||
|
|
||||||
async function execute(message: Message, action: CustomRuleAction) {
|
async function execute(message: Message, action: CustomRuleAction) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { client } from "../../../..";
|
import { client } from "../../../..";
|
||||||
import CustomRuleAction from "../../../../struct/antispam/CustomRuleAction";
|
import CustomRuleAction from "../../../../struct/antispam/CustomRuleAction";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import CustomRuleAction from "../../../../struct/antispam/CustomRuleAction";
|
import CustomRuleAction from "../../../../struct/antispam/CustomRuleAction";
|
||||||
import { storeInfraction } from '../../../util';
|
import { storeInfraction } from '../../../util';
|
||||||
import Infraction from "../../../../struct/antispam/Infraction";
|
import Infraction from "../../../../struct/antispam/Infraction";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { client } from "../../..";
|
import { client } from "../../..";
|
||||||
import ServerConfig from "../../../struct/ServerConfig";
|
import ServerConfig from "../../../struct/ServerConfig";
|
||||||
import logger from "../../logger";
|
import logger from "../../logger";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { client } from "../../..";
|
import { client } from "../../..";
|
||||||
import CustomRuleTrigger from "../../../struct/antispam/CustomRuleTrigger";
|
import CustomRuleTrigger from "../../../struct/antispam/CustomRuleTrigger";
|
||||||
import VM from 'vm';
|
import VM from 'vm';
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Member } from "@janderedev/revolt.js/dist/maps/Members";
|
import { Member } from "revolt.js/dist/maps/Members";
|
||||||
import { Server } from "@janderedev/revolt.js/dist/maps/Servers";
|
import { Server } from "revolt.js/dist/maps/Servers";
|
||||||
import { client } from "../..";
|
import { client } from "../..";
|
||||||
import Infraction from "../../struct/antispam/Infraction";
|
import Infraction from "../../struct/antispam/Infraction";
|
||||||
import LogMessage from "../../struct/LogMessage";
|
import LogMessage from "../../struct/LogMessage";
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { client } from "../..";
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import { FindOneResult } from "monk";
|
import { FindOneResult } from "monk";
|
||||||
import ScannedUser from "../../struct/ScannedUser";
|
import ScannedUser from "../../struct/ScannedUser";
|
||||||
import { Member } from "@janderedev/revolt.js/dist/maps/Members";
|
import { Member } from "revolt.js/dist/maps/Members";
|
||||||
import ServerConfig from "../../struct/ServerConfig";
|
import ServerConfig from "../../struct/ServerConfig";
|
||||||
import logger from "../logger";
|
import logger from "../logger";
|
||||||
import { sendLogMessage } from "../util";
|
import { sendLogMessage } from "../util";
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { Member } from "@janderedev/revolt.js/dist/maps/Members";
|
import { Member } from "revolt.js/dist/maps/Members";
|
||||||
import { User } from "@janderedev/revolt.js/dist/maps/Users";
|
import { User } from "revolt.js/dist/maps/Users";
|
||||||
import { client } from "..";
|
import { client } from "..";
|
||||||
import Infraction from "../struct/antispam/Infraction";
|
import Infraction from "../struct/antispam/Infraction";
|
||||||
import ServerConfig from "../struct/ServerConfig";
|
import ServerConfig from "../struct/ServerConfig";
|
||||||
import FormData from 'form-data';
|
import FormData from 'form-data';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Server } from "@janderedev/revolt.js/dist/maps/Servers";
|
import { Server } from "revolt.js/dist/maps/Servers";
|
||||||
import LogConfig from "../struct/LogConfig";
|
import LogConfig from "../struct/LogConfig";
|
||||||
import LogMessage from "../struct/LogMessage";
|
import LogMessage from "../struct/LogMessage";
|
||||||
import { ColorResolvable, MessageAttachment, MessageEmbed, WebhookClient } from "discord.js";
|
import { ColorResolvable, MessageAttachment, MessageEmbed, WebhookClient } from "discord.js";
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
require('dotenv').config();
|
import { config } from 'dotenv';
|
||||||
|
config();
|
||||||
|
|
||||||
import logger from './bot/logger';
|
import logger from './bot/logger';
|
||||||
import AutomodClient, { login } from './struct/AutomodClient';
|
import AutomodClient, { login } from './struct/AutomodClient';
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import * as Revolt from "@janderedev/revolt.js";
|
import * as Revolt from "revolt.js";
|
||||||
import { IMonkManager } from 'monk';
|
import { IMonkManager } from 'monk';
|
||||||
import logger from '../bot/logger';
|
import logger from '../bot/logger';
|
||||||
import { adminBotLog } from "../bot/logging";
|
import { adminBotLog } from "../bot/logging";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Message } from "@janderedev/revolt.js/dist/maps/Messages";
|
import { Message } from "revolt.js/dist/maps/Messages";
|
||||||
import { Server } from "@janderedev/revolt.js/dist/maps/Servers";
|
import { Server } from "revolt.js/dist/maps/Servers";
|
||||||
|
|
||||||
class MessageCommandContext extends Message {
|
class MessageCommandContext extends Message {
|
||||||
// The server to which the command should be applied.
|
// The server to which the command should be applied.
|
||||||
|
|
|
@ -24,9 +24,9 @@
|
||||||
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
|
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
|
||||||
|
|
||||||
/* Modules */
|
/* Modules */
|
||||||
"module": "commonjs", /* Specify what module code is generated. */
|
"module": "ES2020", /* Specify what module code is generated. */
|
||||||
"rootDir": "./src", /* Specify the root folder within your source files. */
|
"rootDir": "./src", /* Specify the root folder within your source files. */
|
||||||
// "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
|
"moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
|
||||||
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
||||||
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
||||||
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
||||||
|
|
82
yarn.lock
82
yarn.lock
|
@ -27,21 +27,15 @@
|
||||||
combined-stream "^1.0.8"
|
combined-stream "^1.0.8"
|
||||||
mime-types "^2.1.12"
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
"@janderedev/revolt.js@^5.1.0-alpha.9-patch.0":
|
"@insertish/exponential-backoff@3.1.0-patch.0":
|
||||||
version "5.1.0-alpha.9-patch.0"
|
version "3.1.0-patch.0"
|
||||||
resolved "https://registry.yarnpkg.com/@janderedev/revolt.js/-/revolt.js-5.1.0-alpha.9-patch.0.tgz#de1da9e4d09b6d07f341b9d7590a730f185de84a"
|
resolved "https://registry.yarnpkg.com/@insertish/exponential-backoff/-/exponential-backoff-3.1.0-patch.0.tgz#1fff134f70fc0906d11d09069d51183b542e42cf"
|
||||||
integrity sha512-9fzZ/hCy16//UOIHT0k7dDPyD+Wl/ijTU/wCM25EQcz2saUgBcwatjrVp2KJ0/jZmqiiYHQayCRCku2WJCyZcQ==
|
integrity sha512-1qhW81s3GDbssyaxRWdpBAn1cIw5s393HnrdYFjfa2i6rq3SEjQDK6U80g6dq/K0or6JRr2eCn75Wfc1IrGM0g==
|
||||||
dependencies:
|
|
||||||
axios "^0.21.4"
|
"@insertish/isomorphic-ws@^4.0.1":
|
||||||
eventemitter3 "^4.0.7"
|
version "4.0.1"
|
||||||
exponential-backoff "^3.1.0"
|
resolved "https://registry.yarnpkg.com/@insertish/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#5bcd6f73b93efa9ccdb6abf887ae808d40827169"
|
||||||
isomorphic-ws "^4.0.1"
|
integrity sha512-kFD/p8T4Hkqr992QrdkbW/cQ/W/q2d9MPCobwzBv2PwTKLkCD9RaYDy6m17qRnSLQQ5PU0kHCG8kaOwAqzj1vQ==
|
||||||
lodash.defaultsdeep "^4.6.1"
|
|
||||||
lodash.isequal "^4.5.0"
|
|
||||||
mobx "^6.3.2"
|
|
||||||
revolt-api "^0.5.3-alpha.8-patch.0"
|
|
||||||
ulid "^2.3.0"
|
|
||||||
ws "^8.2.2"
|
|
||||||
|
|
||||||
"@sapphire/async-queue@^1.1.8":
|
"@sapphire/async-queue@^1.1.8":
|
||||||
version "1.1.9"
|
version "1.1.9"
|
||||||
|
@ -275,20 +269,15 @@ exit-on-epipe@~1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
|
resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
|
||||||
integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
|
integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
|
||||||
|
|
||||||
exponential-backoff@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.0.tgz#9409c7e579131f8bd4b32d7d8094a911040f2e68"
|
|
||||||
integrity sha512-oBuz5SYz5zzyuHINoe9ooePwSu0xApKWgeNzok4hZ5YKXFh9zrQBEM15CXqoZkJJPuI2ArvqjPQd8UKJA753XA==
|
|
||||||
|
|
||||||
fflate@^0.7.1:
|
fflate@^0.7.1:
|
||||||
version "0.7.1"
|
version "0.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.1.tgz#56e87e87c3f2fe01b025fbb1c4ea835990c02fa2"
|
resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.1.tgz#56e87e87c3f2fe01b025fbb1c4ea835990c02fa2"
|
||||||
integrity sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw==
|
integrity sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw==
|
||||||
|
|
||||||
follow-redirects@^1.14.0:
|
follow-redirects@^1.14.0:
|
||||||
version "1.14.5"
|
version "1.14.6"
|
||||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381"
|
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd"
|
||||||
integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==
|
integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==
|
||||||
|
|
||||||
follow-redirects@^1.14.4:
|
follow-redirects@^1.14.4:
|
||||||
version "1.14.4"
|
version "1.14.4"
|
||||||
|
@ -338,16 +327,16 @@ isarray@~1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||||
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
||||||
|
|
||||||
isomorphic-ws@^4.0.1:
|
|
||||||
version "4.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
|
|
||||||
integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
|
|
||||||
|
|
||||||
lodash.defaultsdeep@^4.6.1:
|
lodash.defaultsdeep@^4.6.1:
|
||||||
version "4.6.1"
|
version "4.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6"
|
resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6"
|
||||||
integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==
|
integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==
|
||||||
|
|
||||||
|
lodash.flatten@^4.4.0:
|
||||||
|
version "4.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
|
||||||
|
integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
|
||||||
|
|
||||||
lodash.isequal@^4.5.0:
|
lodash.isequal@^4.5.0:
|
||||||
version "4.5.0"
|
version "4.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||||
|
@ -378,9 +367,9 @@ mime-types@^2.1.12:
|
||||||
mime-db "1.50.0"
|
mime-db "1.50.0"
|
||||||
|
|
||||||
mobx@^6.3.2:
|
mobx@^6.3.2:
|
||||||
version "6.3.7"
|
version "6.3.10"
|
||||||
resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.3.7.tgz#9ed85561e86da45141134c8fa20cf5f9c7246c3d"
|
resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.3.10.tgz#c3bc715c8f03717b9a2329f9697d42b7998d42e0"
|
||||||
integrity sha512-X7yU7eOEyxIBk4gjIi2UIilwdw48gXh0kcZ5ex3Rc+COJsJmJ4SNpf42uYea3aUqb1hedTv5xzJrq5Q55p0P5g==
|
integrity sha512-lfuIN5TGXBNy/5s3ggr1L+IbD+LvfZVlj5q1ZuqyV9AfMtunYQvE8G0WfewS9tgIR3I1q8HJEEbcAOsxEgLwRw==
|
||||||
|
|
||||||
mongodb@^3.2.3:
|
mongodb@^3.2.3:
|
||||||
version "3.7.2"
|
version "3.7.2"
|
||||||
|
@ -515,10 +504,27 @@ require-at@^1.0.6:
|
||||||
resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a"
|
resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a"
|
||||||
integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==
|
integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==
|
||||||
|
|
||||||
revolt-api@^0.5.3-alpha.8-patch.0:
|
revolt-api@^0.5.3-alpha.9:
|
||||||
version "0.5.3-alpha.8-patch.0"
|
version "0.5.3-alpha.11"
|
||||||
resolved "https://registry.yarnpkg.com/revolt-api/-/revolt-api-0.5.3-alpha.8-patch.0.tgz#3c9f981f8100a89aec1299bc110453cf01c51f89"
|
resolved "https://registry.yarnpkg.com/revolt-api/-/revolt-api-0.5.3-alpha.11.tgz#ed666c403676de0bc47b1fe3ed59c934c5fbd842"
|
||||||
integrity sha512-ghupcB1nJS7fCiD41L4u+QudFoBWGE381uW4s8cuHsQS3bFXgzAH1lgtjYNoFgrVUekqQAcHWote8Kn2sOABAQ==
|
integrity sha512-5obsvdSIaiW3oVcsFpXYG3FXTPUxwR+0gpPhP+89i2agGdeKhcygaRajZ5HK83/Zmr/VcZnJoSuHc+k3ZUTHyA==
|
||||||
|
|
||||||
|
revolt.js@^5.2.3:
|
||||||
|
version "5.2.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/revolt.js/-/revolt.js-5.2.3.tgz#770e7fc3256d7d153fadf143acd00f4c3377f4ef"
|
||||||
|
integrity sha512-tFGt1yij56A1y3EDjTf1HoPmwHskQ0xoks58tWNCPdMvyCyrTih9qBKdHNDDOMUWdGF0qn1pWZmdVSxHriAuOA==
|
||||||
|
dependencies:
|
||||||
|
"@insertish/exponential-backoff" "3.1.0-patch.0"
|
||||||
|
"@insertish/isomorphic-ws" "^4.0.1"
|
||||||
|
axios "^0.21.4"
|
||||||
|
eventemitter3 "^4.0.7"
|
||||||
|
lodash.defaultsdeep "^4.6.1"
|
||||||
|
lodash.flatten "^4.4.0"
|
||||||
|
lodash.isequal "^4.5.0"
|
||||||
|
mobx "^6.3.2"
|
||||||
|
revolt-api "^0.5.3-alpha.9"
|
||||||
|
ulid "^2.3.0"
|
||||||
|
ws "^8.2.2"
|
||||||
|
|
||||||
safe-buffer@^5.1.1, safe-buffer@^5.1.2:
|
safe-buffer@^5.1.1, safe-buffer@^5.1.2:
|
||||||
version "5.2.1"
|
version "5.2.1"
|
||||||
|
@ -622,9 +628,9 @@ word@~0.3.0:
|
||||||
integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==
|
integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==
|
||||||
|
|
||||||
ws@^8.2.2:
|
ws@^8.2.2:
|
||||||
version "8.2.3"
|
version "8.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.0.tgz#f05e982a0a88c604080e8581576e2a063802bed6"
|
||||||
integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==
|
integrity sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==
|
||||||
|
|
||||||
ws@^8.2.3:
|
ws@^8.2.3:
|
||||||
version "8.3.0"
|
version "8.3.0"
|
||||||
|
|
Loading…
Reference in a new issue