aboutsummaryrefslogtreecommitdiff
path: root/src/commands/moderation/ModlogCommand.ts
diff options
context:
space:
mode:
authorTymanWasTaken <32660892+tymanwastaken@users.noreply.github.com>2021-05-11 10:52:26 -0600
committerTymanWasTaken <32660892+tymanwastaken@users.noreply.github.com>2021-05-11 10:52:26 -0600
commit199d413119f3656d9f2da118f91a22a3cc55f6bb (patch)
tree7d1ba161a51bb6303e5a537f8043d07cfc325a76 /src/commands/moderation/ModlogCommand.ts
parente0b2b559219d642d6b5353490ab60ae1a754b560 (diff)
downloadtanzanite-199d413119f3656d9f2da118f91a22a3cc55f6bb.tar.gz
tanzanite-199d413119f3656d9f2da118f91a22a3cc55f6bb.tar.bz2
tanzanite-199d413119f3656d9f2da118f91a22a3cc55f6bb.zip
whoops forgot about these
Diffstat (limited to 'src/commands/moderation/ModlogCommand.ts')
-rw-r--r--src/commands/moderation/ModlogCommand.ts143
1 files changed, 0 insertions, 143 deletions
diff --git a/src/commands/moderation/ModlogCommand.ts b/src/commands/moderation/ModlogCommand.ts
deleted file mode 100644
index ea35198..0000000
--- a/src/commands/moderation/ModlogCommand.ts
+++ /dev/null
@@ -1,143 +0,0 @@
-import { BotCommand } from '../../lib/extensions/BotCommand';
-import { Message } from 'discord.js';
-import { Modlog } from '../../lib/types/Models';
-import { MessageEmbed } from 'discord.js';
-import moment from 'moment';
-import { stripIndent } from 'common-tags';
-import { Argument } from 'discord-akairo';
-
-export default class ModlogCommand extends BotCommand {
- constructor() {
- super('modlog', {
- aliases: ['modlog', 'modlogs'],
- args: [
- {
- id: 'search',
- prompt: {
- start: 'What modlog id or user would you like to see?'
- }
- },
- {
- id: 'page',
- type: 'number'
- }
- ],
- userPermissions: ['MANAGE_MESSAGES']
- });
- }
- *args(): unknown {
- const search = yield {
- id: 'search',
- type: Argument.union('user', 'string'),
- prompt: {
- start: 'What modlog id or user would you like to see?'
- }
- };
- if (typeof search === 'string') return { search, page: null };
- else {
- const page = yield {
- id: 'page',
- type: 'number',
- prompt: {
- start: 'What page?',
- retry: 'Not a number. What page?',
- optional: true
- }
- };
- return { search, page };
- }
- }
- async exec(
- message: Message,
- { search, page }: { search: string; page: number }
- ): Promise<void> {
- const foundUser = await this.client.util.resolveUserAsync(search);
- if (foundUser) {
- const logs = await Modlog.findAll({
- where: {
- guild: message.guild.id,
- user: foundUser.id
- },
- order: [['createdAt', 'ASC']]
- });
- const niceLogs: string[] = [];
- for (const log of logs) {
- niceLogs.push(stripIndent`
- ID: ${log.id}
- Type: ${log.type.toLowerCase()}
- User: <@!${log.user}> (${log.user})
- Moderator: <@!${log.moderator}> (${log.moderator})
- Duration: ${
- log.duration
- ? moment.duration(log.duration, 'milliseconds').humanize()
- : 'N/A'
- }
- Reason: ${log.reason || 'None given'}
- ${this.client.util.ordinal(logs.indexOf(log) + 1)} action
- `);
- }
- const chunked: string[][] = this.client.util.chunk(niceLogs, 3);
- const embedPages = chunked.map(
- (e, i) =>
- new MessageEmbed({
- title: `Modlogs page ${i + 1}`,
- description: e.join(
- '\n-------------------------------------------------------\n'
- ),
- footer: {
- text: `Page ${i + 1}/${chunked.length}`
- }
- })
- );
- if (page) {
- await message.util.send(embedPages[page - 1]);
- return;
- } else {
- await message.util.send(embedPages[0]);
- return;
- }
- } else if (search) {
- const entry = await Modlog.findByPk(search);
- if (!entry) {
- await message.util.send('That modlog does not exist.');
- return;
- }
- await message.util.send(
- new MessageEmbed({
- title: `Modlog ${entry.id}`,
- fields: [
- {
- name: 'Type',
- value: entry.type.toLowerCase(),
- inline: true
- },
- {
- name: 'Duration',
- value: `${
- entry.duration
- ? moment.duration(entry.duration, 'milliseconds').humanize()
- : 'N/A'
- }`,
- inline: true
- },
- {
- name: 'Reason',
- value: `${entry.reason || 'None given'}`,
- inline: true
- },
- {
- name: 'Moderator',
- value: `<@!${entry.moderator}> (${entry.moderator})`,
- inline: true
- },
- {
- name: 'User',
- value: `<@!${entry.user}> (${entry.user})`,
- inline: true
- }
- ]
- })
- );
- }
- }
-}