diff --git a/src/interfaces/Channel.interface.ts b/src/interfaces/Channel.interface.ts index 674c312..fcf6601 100644 --- a/src/interfaces/Channel.interface.ts +++ b/src/interfaces/Channel.interface.ts @@ -1,5 +1,5 @@ -import { type Snowflake } from 'discord.js'; -import { type Model } from 'mongoose'; +import { Snowflake } from 'discord.js'; +import { Model } from 'mongoose'; export interface IOverwrite { id: Snowflake; // ID of the role or user this overwrite applies to @@ -28,6 +28,26 @@ export interface IChannelMethods { softDelete: () => void; } +export interface ChannelPayload { + type: number; + guild: Snowflake; + guildId: Snowflake; + permissionOverwrites: Snowflake[]; + messages: Snowflake[]; + threads: Snowflake[]; + nsfw: boolean; + flags: number; + id: Snowflake; + name: string; + rawPosition: number; + parentId: Snowflake | null; + topic: string | null; + lastMessageId: Snowflake | null; + defaultThreadRateLimitPerUser: number | null; + rateLimitPerUser: number; + createdTimestamp: number; +} + export interface ChannelModel extends Model, IChannelMethods> { paginate: (filter: object, options: object) => any; } diff --git a/src/interfaces/GuildMember.interface.ts b/src/interfaces/GuildMember.interface.ts index c6b6011..573f84c 100644 --- a/src/interfaces/GuildMember.interface.ts +++ b/src/interfaces/GuildMember.interface.ts @@ -1,5 +1,5 @@ -import { type Snowflake } from 'discord.js'; -import { type Model } from 'mongoose'; +import { Snowflake } from 'discord.js'; +import { Model } from 'mongoose'; export interface IGuildMember { discordId: Snowflake; @@ -28,6 +28,24 @@ export interface IGuildMemberUpdateBody { isBot?: boolean | null; } +export interface GuildMemberPayload { + guildId: Snowflake; + userId: Snowflake; + joinedTimestamp: number | null; + premiumSinceTimestamp: number | null; + communicationDisabledUntilTimestamp: number | null; + nickname: string | null; + displayName: string; + avatar: string | null; + banner: string | null; + avatarURL: string | null; + bannerURL: string | null; + displayAvatarURL: string | null; + roles: Snowflake[]; + pending: boolean; + flags: number; +} + export interface IGuildMemberMethods { softDelete: () => void; } diff --git a/src/interfaces/Role.interface.ts b/src/interfaces/Role.interface.ts index c808a76..b0b0b1c 100644 --- a/src/interfaces/Role.interface.ts +++ b/src/interfaces/Role.interface.ts @@ -1,5 +1,5 @@ -import { type Snowflake } from 'discord.js'; -import { type Model } from 'mongoose'; +import { Snowflake } from 'discord.js'; +import { Model } from 'mongoose'; export interface IRole { roleId: Snowflake; @@ -18,6 +18,22 @@ export interface IRoleMethods { softDelete: () => void; } +export interface RolePayload { + guild: Snowflake; + id: Snowflake; + name: string; + color: number; + icon: string | null; + unicodeEmoji: string | null; + hoist: boolean; + mentionable: boolean; + managed: boolean; + permissions: string; + rawPosition: number; + tags: unknown | null; + createdTimestamp: number; +} + export interface RoleModel extends Model, IRoleMethods> { paginate: (filter: object, options: object) => any; }