56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { DiscordenoMessage } from '@discordeno';
|
|
|
|
import config from '~config';
|
|
|
|
import auditCommands from 'commands/auditCmd/_index.ts';
|
|
|
|
import dbClient from 'db/client.ts';
|
|
import { queries } from 'db/common.ts';
|
|
|
|
import { failColor } from 'embeds/colors.ts';
|
|
|
|
import utils from 'utils/utils.ts';
|
|
|
|
export const audit = (message: DiscordenoMessage, args: string[]) => {
|
|
// Light telemetry to see how many times a command is being run
|
|
dbClient.execute(queries.callIncCnt('audit')).catch((e) => utils.commonLoggers.dbError('audit.ts:16', 'call sproc INC_CNT on', e));
|
|
|
|
// Local apiArg in lowercase
|
|
const auditArg = (args[0] || 'help').toLowerCase();
|
|
|
|
// Makes sure the user is authenticated to run the API command
|
|
if (message.authorId === config.api.admin) {
|
|
switch (auditArg) {
|
|
case 'help':
|
|
case 'h':
|
|
// [[audit help or [[audit h
|
|
// Shows API help details
|
|
auditCommands.auditHelp(message);
|
|
break;
|
|
case 'db':
|
|
// [[audit db
|
|
// Shows current DB table sizes
|
|
auditCommands.auditDB(message);
|
|
break;
|
|
case 'guilds':
|
|
// [[audit guilds
|
|
// Shows breakdown of guilds and details on them
|
|
auditCommands.auditGuilds(message);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
} else {
|
|
message
|
|
.send({
|
|
embeds: [
|
|
{
|
|
color: failColor,
|
|
title: `Audit commands are powerful and can only be used by ${config.name}'s owner.`,
|
|
},
|
|
],
|
|
})
|
|
.catch((e: Error) => utils.commonLoggers.messageSendError('audit.ts:51', message, e));
|
|
}
|
|
};
|