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> {
|
async setHidden(id: number, hidden: boolean): Promise<void> {
|
||||||
await this.cases.update(
|
await this.cases.update(
|
||||||
{ id },
|
{ id },
|
||||||
|
|
|
@ -1039,7 +1039,6 @@ export class ModActionsPlugin extends ZeppelinPlugin {
|
||||||
|
|
||||||
const user = this.bot.users.get(args.userId);
|
const user = this.bot.users.get(args.userId);
|
||||||
const userName = user ? `${user.username}#${user.discriminator}` : "Unknown#0000";
|
const userName = user ? `${user.username}#${user.discriminator}` : "Unknown#0000";
|
||||||
const prefix = this.knub.getGuildData(this.guildId).config.prefix;
|
|
||||||
|
|
||||||
if (cases.length === 0) {
|
if (cases.length === 0) {
|
||||||
msg.channel.createMessage(`No cases found for ${user ? `**${userName}**` : "the specified user"}`);
|
msg.channel.createMessage(`No cases found for ${user ? `**${userName}**` : "the specified user"}`);
|
||||||
|
@ -1082,7 +1081,7 @@ export class ModActionsPlugin extends ZeppelinPlugin {
|
||||||
|
|
||||||
${lines.join("\n")}
|
${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);
|
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.command("hidecase", "<caseNum:number>")
|
||||||
@d.permission("hidecase")
|
@d.permission("hidecase")
|
||||||
async hideCaseCmd(msg: Message, args: { caseNum: number }) {
|
async hideCaseCmd(msg: Message, args: { caseNum: number }) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue