Add softban command. Mod action fixes and tweaks.

This commit is contained in:
Dragory 2018-08-02 00:51:25 +03:00
parent 3e7aff5b1f
commit a0f5114f62
7 changed files with 139 additions and 40 deletions

View file

@ -6,5 +6,6 @@ export enum CaseType {
Kick,
Mute,
Unmute,
Expunged
Expunged,
Softban
}

View file

@ -8,6 +8,7 @@
"MEMBER_BAN": "🔨 **{user.username}#{user.discriminator}** (`{user.id}`) was banned by {mod.username}#{mod.discriminator}",
"MEMBER_UNBAN": "🔓 User (`{userId}`) was unbanned by {mod.username}#{mod.discriminator}",
"MEMBER_FORCEBAN": "🔨 User (`{userId}`) was forcebanned by {mod.username}#{mod.discriminator}",
"MEMBER_SOFTBAN": "🔨 **{member.user.username}#{member.user.discriminator}** (`{member.id}`) was softbanned by {mod.username}#{mod.discriminator}",
"MEMBER_JOIN": "📥 **{member.user.username}#{member.user.discriminator}** (`{member.id}`) joined{new} (created {account_age} ago)",
"MEMBER_LEAVE": "📤 **{member.user.username}#{member.user.discriminator}** (`{member.id}`) left the server",
"MEMBER_ROLE_ADD": "🔑 **{member.user.username}#{member.user.discriminator}** (`{member.id}`) role added **{role.name}** by {mod.username}#{mod.discriminator}",

View file

@ -1,5 +1,6 @@
import knex from "../knex";
import Case from "../models/Case";
import CaseNote from "../models/CaseNote";
export class GuildCases {
protected guildId: string;
@ -26,12 +27,12 @@ export class GuildCases {
return result ? new Case(result) : null;
}
async getCaseNotes(caseId: number): Promise<Case[]> {
async getCaseNotes(caseId: number): Promise<CaseNote[]> {
const results = await knex("case_notes")
.where("case_id", caseId)
.select();
return results.map(r => new Case(r));
return results.map(r => new CaseNote(r));
}
async getByUserId(userId: string): Promise<Case[]> {
@ -43,6 +44,14 @@ export class GuildCases {
return results.map(r => new Case(r));
}
async findFirstCaseNote(caseId: number): Promise<CaseNote> {
const result = await knex("case_notes")
.where("case_id", caseId)
.first();
return result ? new CaseNote(result) : null;
}
async create(data): Promise<number> {
return knex
.insert({

View file

@ -8,6 +8,7 @@ export enum LogType {
MEMBER_BAN,
MEMBER_UNBAN,
MEMBER_FORCEBAN,
MEMBER_SOFTBAN,
MEMBER_JOIN,
MEMBER_LEAVE,
MEMBER_ROLE_ADD,