warns can now be deleted ig
This commit is contained in:
parent
2b851c813c
commit
ceef16e01f
1 changed files with 75 additions and 52 deletions
|
@ -16,7 +16,7 @@ export default {
|
|||
name: 'warns',
|
||||
aliases: [ 'warnings', 'infractions', 'infraction' ],
|
||||
description: 'Show all user infractions',
|
||||
syntax: '/warns; /warns @username; /warns @username export-csv',
|
||||
syntax: '/warns; /warns @username ["export-csv"]; /warns rm [ID]',
|
||||
run: async (message: Message, args: string[]) => {
|
||||
if (!await isModerator(message.member!)) return message.reply(NO_MANAGER_MSG);
|
||||
|
||||
|
@ -42,6 +42,27 @@ export default {
|
|||
|
||||
message.reply(msg.substr(0, 1999));
|
||||
} else {
|
||||
switch(args[0]?.toLowerCase()) {
|
||||
case 'delete':
|
||||
case 'remove':
|
||||
case 'rm':
|
||||
case 'del':
|
||||
let id = args[1];
|
||||
if (!id) return message.reply('No infraction ID provided.');
|
||||
let inf: Infraction|null = await client.db.get('infractions').findOneAndDelete({
|
||||
_id: { $eq: id.toUpperCase() },
|
||||
server: message.channel?.server_id
|
||||
});
|
||||
|
||||
if (!inf) return message.reply('I can\'t find that ID.');
|
||||
|
||||
message.reply(`## Infraction deleted\n\u200b\n`
|
||||
+ `ID: \`${inf._id}\`\n`
|
||||
+ `Reason: \`${inf.reason}\` `
|
||||
+ `(${inf.type == InfractionType.Manual ? await fetchUsername(inf.createdBy ?? '') : 'System'})\n`
|
||||
+ `Created ${Day(inf.date).fromNow()}`);
|
||||
break;
|
||||
default:
|
||||
let user = await parseUser(args[0]);
|
||||
if (!user) return message.reply('Unknown user');
|
||||
|
||||
|
@ -104,6 +125,8 @@ export default {
|
|||
}
|
||||
} else message.reply(msg);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} as Command;
|
||||
|
|
Loading…
Reference in a new issue