ModActions: add !cases cmd without user, tweak old !cases response message
This commit is contained in:
parent
0c974e1d16
commit
147dcc973d
2 changed files with 35 additions and 2 deletions
|
@ -70,6 +70,20 @@ export class GuildCases extends BaseRepository {
|
|||
});
|
||||
}
|
||||
|
||||
async getRecent(count: number): Promise<Case[]> {
|
||||
return this.cases.find({
|
||||
relations: this.getRelations(),
|
||||
where: {
|
||||
guild_id: this.guildId,
|
||||
is_hidden: 0,
|
||||
},
|
||||
take: count,
|
||||
order: {
|
||||
case_number: "DESC",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
async setHidden(id: number, hidden: boolean): Promise<void> {
|
||||
await this.cases.update(
|
||||
{ id },
|
||||
|
|
|
@ -1039,7 +1039,6 @@ export class ModActionsPlugin extends ZeppelinPlugin {
|
|||
|
||||
const user = this.bot.users.get(args.userId);
|
||||
const userName = user ? `${user.username}#${user.discriminator}` : "Unknown#0000";
|
||||
const prefix = this.knub.getGuildData(this.guildId).config.prefix;
|
||||
|
||||
if (cases.length === 0) {
|
||||
msg.channel.createMessage(`No cases found for ${user ? `**${userName}**` : "the specified user"}`);
|
||||
|
@ -1082,7 +1081,7 @@ export class ModActionsPlugin extends ZeppelinPlugin {
|
|||
|
||||
${lines.join("\n")}
|
||||
|
||||
Use \`${prefix}case <num>\` to see more info about individual cases
|
||||
Use the \`case <num>\` command to see more info about individual cases
|
||||
`);
|
||||
|
||||
createChunkedMessage(msg.channel, finalMessage);
|
||||
|
@ -1090,6 +1089,26 @@ export class ModActionsPlugin extends ZeppelinPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
@d.command("cases")
|
||||
@d.permission("view")
|
||||
async recentCasesCmd(msg: Message) {
|
||||
const recentCases = await this.cases.with("notes").getRecent(5);
|
||||
if (recentCases.length === 0) {
|
||||
msg.channel.createMessage(errorMessage("No cases"));
|
||||
} else {
|
||||
const lines = recentCases.map(c => this.cases.getSummaryText(c));
|
||||
const finalMessage = trimLines(`
|
||||
Most recent 5 cases:
|
||||
|
||||
${lines.join("\n")}
|
||||
|
||||
Use the \`case <num>\` command to see more info about individual cases
|
||||
Use the \`cases <user>\` command to see a specific user's cases
|
||||
`);
|
||||
createChunkedMessage(msg.channel, finalMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@d.command("hidecase", "<caseNum:number>")
|
||||
@d.permission("hidecase")
|
||||
async hideCaseCmd(msg: Message, args: { caseNum: number }) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue