audit logs wip
This commit is contained in:
parent
ee9736bcc2
commit
8de11bdac2
|
@ -0,0 +1,21 @@
|
|||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
* @returns { Promise<void> }
|
||||
*/
|
||||
exports.up = function(knex) {
|
||||
return knex.schema
|
||||
.createTable('auditLogs', table => {
|
||||
table.string('guild');
|
||||
table.string('channel');
|
||||
table.string('eventTypes');
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @param { import("knex").Knex } knex
|
||||
* @returns { Promise<void> }
|
||||
*/
|
||||
exports.down = function(knex) {
|
||||
return knex.schema
|
||||
.dropTable('auditLogs');
|
||||
};
|
|
@ -19,7 +19,8 @@ const bot = new Client({
|
|||
GatewayIntentBits.GuildMessageReactions,
|
||||
GatewayIntentBits.GuildMembers,
|
||||
GatewayIntentBits.MessageContent,
|
||||
GatewayIntentBits.DirectMessages
|
||||
GatewayIntentBits.DirectMessages,
|
||||
GatewayIntentBits.GuildModeration,
|
||||
],
|
||||
});
|
||||
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
import { Sticker, ThreadChannel, Message, User, Invite, GuildMember, GuildScheduledEvent, GuildEmoji, Channel } from 'discord.js';
|
||||
|
||||
export enum EventType {
|
||||
ChannelCreate,
|
||||
ChannelRename,
|
||||
ChannelDelete,
|
||||
|
||||
EmojiCreate,
|
||||
EmojiRename,
|
||||
EmojiDelete,
|
||||
|
||||
EventCreate,
|
||||
EventEdit,
|
||||
EventDelete,
|
||||
|
||||
InviteCreate,
|
||||
InviteUpdate,
|
||||
InviteDelete,
|
||||
|
||||
MemberBan,
|
||||
MemberUnban,
|
||||
MemberKick,
|
||||
MemberDisconnect,
|
||||
MemberNickname,
|
||||
MemberChangeRoles,
|
||||
|
||||
MessageDelete,
|
||||
MessageEdit,
|
||||
|
||||
StickerCreate,
|
||||
StickerRename,
|
||||
StickerDelete,
|
||||
|
||||
ThreadCreate,
|
||||
ThreadEdit,
|
||||
ThreadDelete,
|
||||
}
|
||||
|
||||
export type Event = {
|
||||
type: EventType.ChannelCreate,
|
||||
causer: User,
|
||||
channel: Channel,
|
||||
} | {
|
||||
type: EventType.ChannelRename,
|
||||
causer: User,
|
||||
channel: Channel,
|
||||
oldName: string, newName: string,
|
||||
} | {
|
||||
type: EventType.ChannelDelete,
|
||||
causer: User,
|
||||
channel: Channel,
|
||||
} | {
|
||||
type: EventType.EmojiCreate,
|
||||
causer: User,
|
||||
emoji: GuildEmoji,
|
||||
} | {
|
||||
type: EventType.EmojiRename,
|
||||
causer: User,
|
||||
emoji: GuildEmoji,
|
||||
oldName: string, newName: string,
|
||||
} | {
|
||||
type: EventType.EmojiDelete,
|
||||
causer: User,
|
||||
emoji: GuildEmoji,
|
||||
} | {
|
||||
type: EventType.EventCreate,
|
||||
causer: User,
|
||||
event: GuildScheduledEvent,
|
||||
} | {
|
||||
type: EventType.EventEdit,
|
||||
causer: User,
|
||||
oldEvent: GuildScheduledEvent,
|
||||
event: GuildScheduledEvent,
|
||||
} | {
|
||||
type: EventType.EventDelete,
|
||||
causer: User,
|
||||
event: GuildScheduledEvent,
|
||||
} | {
|
||||
type: EventType.InviteCreate,
|
||||
causer: User,
|
||||
invite: Invite,
|
||||
} | {
|
||||
type: EventType.InviteUpdate,
|
||||
causer: User,
|
||||
oldInvite: Invite,
|
||||
invite: Invite,
|
||||
} | {
|
||||
type: EventType.InviteDelete,
|
||||
causer: User,
|
||||
invite: Invite,
|
||||
} | {
|
||||
type: EventType.MemberBan,
|
||||
causer: User,
|
||||
member: GuildMember,
|
||||
reason: string,
|
||||
} | {
|
||||
type: EventType.MemberUnban,
|
||||
causer: User,
|
||||
member: GuildMember,
|
||||
reason: string,
|
||||
} | {
|
||||
type: EventType.MemberKick,
|
||||
causer: User,
|
||||
member: GuildMember,
|
||||
reason: string,
|
||||
} | {
|
||||
type: EventType.MemberDisconnect,
|
||||
causer: User,
|
||||
member: GuildMember,
|
||||
} | {
|
||||
type: EventType.MemberNickname,
|
||||
causer: User,
|
||||
member: GuildMember,
|
||||
oldNickname: string, newNickname: string,
|
||||
} | {
|
||||
type: EventType.MemberChangeRoles,
|
||||
causer: User,
|
||||
member: GuildMember,
|
||||
// TODO: huh
|
||||
} | {
|
||||
type: EventType.MessageDelete,
|
||||
causer: User,
|
||||
message: Message,
|
||||
} | {
|
||||
type: EventType.MessageEdit,
|
||||
causer: User,
|
||||
oldMessage: Message,
|
||||
message: Message,
|
||||
} | {
|
||||
type: EventType.StickerCreate,
|
||||
causer: User,
|
||||
sticker: Sticker,
|
||||
} | {
|
||||
type: EventType.StickerRename,
|
||||
causer: User,
|
||||
oldName: string, newName: string,
|
||||
} | {
|
||||
type: EventType.StickerDelete,
|
||||
causer: User,
|
||||
sticker: Sticker,
|
||||
} | {
|
||||
type: EventType.ThreadCreate,
|
||||
causer: User,
|
||||
thread: ThreadChannel,
|
||||
} | {
|
||||
type: EventType.ThreadEdit,
|
||||
causer: User,
|
||||
oldThread: ThreadChannel,
|
||||
thread: ThreadChannel,
|
||||
} | {
|
||||
type: EventType.ThreadDelete,
|
||||
causer: User,
|
||||
thread: ThreadChannel,
|
||||
};
|
||||
|
||||
export async function triggerEvent(event: Event) {
|
||||
|
||||
}
|
Loading…
Reference in New Issue