From 7057cebb3c37634cfa1468e1f49ce30a890681b6 Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Fri, 25 Feb 2022 23:20:58 -0500 Subject: chore: update dependencies and fix breaking changes --- src/arguments/discordEmoji.ts | 2 +- src/commands/dev/servers.ts | 2 +- src/lib/extensions/discord-akairo/BushClient.ts | 3 ++- .../discord.js/BushApplicationCommandManager.ts | 2 +- .../BushApplicationCommandPermissionsManager.ts | 2 +- .../discord.js/BushBaseGuildTextChannel.ts | 7 +++++-- .../discord.js/BushBaseGuildVoiceChannel.ts | 4 ++-- .../extensions/discord.js/BushButtonInteraction.ts | 21 +++++++++++--------- .../extensions/discord.js/BushCategoryChannel.ts | 2 +- src/lib/extensions/discord.js/BushChannel.ts | 6 +++--- .../discord.js/BushChatInputCommandInteraction.ts | 23 ++++++++++++---------- src/lib/extensions/discord.js/BushGuild.ts | 5 ++++- src/lib/extensions/discord.js/BushGuildBan.ts | 2 +- src/lib/extensions/discord.js/BushGuildEmoji.ts | 5 ++++- src/lib/extensions/discord.js/BushMessage.ts | 6 +++--- .../extensions/discord.js/BushMessageManager.ts | 2 +- .../extensions/discord.js/BushMessageReaction.ts | 5 ++++- src/lib/extensions/discord.js/BushNewsChannel.ts | 5 ++++- src/lib/extensions/discord.js/BushPresence.ts | 7 +++++-- src/lib/extensions/discord.js/BushRole.ts | 5 ++++- .../discord.js/BushSelectMenuInteraction.ts | 21 +++++++++++--------- src/lib/extensions/discord.js/BushStageChannel.ts | 9 ++++++--- src/lib/extensions/discord.js/BushStageInstance.ts | 8 +++++--- src/lib/extensions/discord.js/BushStoreChannel.ts | 4 ++-- src/lib/extensions/discord.js/BushThreadChannel.ts | 4 ++-- src/lib/extensions/discord.js/BushThreadMember.ts | 7 +++++-- src/lib/extensions/discord.js/BushUser.ts | 5 ++++- src/lib/extensions/discord.js/BushVoiceChannel.ts | 2 +- src/lib/extensions/discord.js/BushVoiceState.ts | 7 +++++-- 29 files changed, 114 insertions(+), 69 deletions(-) (limited to 'src') diff --git a/src/arguments/discordEmoji.ts b/src/arguments/discordEmoji.ts index efaa4dd..9c4991f 100644 --- a/src/arguments/discordEmoji.ts +++ b/src/arguments/discordEmoji.ts @@ -1,5 +1,5 @@ import type { BushArgumentTypeCaster } from '#lib'; -import type { Snowflake } from 'discord-api-types'; +import type { Snowflake } from 'discord-api-types/v9'; export const discordEmoji: BushArgumentTypeCaster = (_, phrase) => { if (!phrase) return null; diff --git a/src/commands/dev/servers.ts b/src/commands/dev/servers.ts index 378893e..dddbac4 100644 --- a/src/commands/dev/servers.ts +++ b/src/commands/dev/servers.ts @@ -1,5 +1,5 @@ import { BushCommand, ButtonPaginator, type BushMessage, type BushSlashMessage } from '#lib'; -import type { APIEmbed } from 'discord-api-types'; +import type { APIEmbed } from 'discord-api-types/v9'; import type { Guild } from 'discord.js'; export default class ServersCommand extends BushCommand { diff --git a/src/lib/extensions/discord-akairo/BushClient.ts b/src/lib/extensions/discord-akairo/BushClient.ts index 266680a..fa6dc53 100644 --- a/src/lib/extensions/discord-akairo/BushClient.ts +++ b/src/lib/extensions/discord-akairo/BushClient.ts @@ -110,7 +110,6 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url)); */ export class BushClient extends AkairoClient { public declare channels: BushChannelManager; - public declare readonly emojis: BushBaseGuildEmojiManager; public declare guilds: BushGuildManager; public declare user: If; public declare users: BushUserManager; @@ -499,6 +498,8 @@ export class BushClient extends AkairoClient(event: K, listener: (...args: BushClientEvents[K]) => Awaitable): this; // on(event: Exclude, listener: (...args: any[]) => Awaitable): this; diff --git a/src/lib/extensions/discord.js/BushApplicationCommandManager.ts b/src/lib/extensions/discord.js/BushApplicationCommandManager.ts index 24a7b22..68153b9 100644 --- a/src/lib/extensions/discord.js/BushApplicationCommandManager.ts +++ b/src/lib/extensions/discord.js/BushApplicationCommandManager.ts @@ -6,7 +6,7 @@ import type { BushGuildResolvable, StripPrivate } from '#lib'; -import type { APIApplicationCommand } from 'discord-api-types'; +import type { APIApplicationCommand } from 'discord-api-types/v9'; import { ApplicationCommandManager, CachedManager, diff --git a/src/lib/extensions/discord.js/BushApplicationCommandPermissionsManager.ts b/src/lib/extensions/discord.js/BushApplicationCommandPermissionsManager.ts index f07bde9..49d4234 100644 --- a/src/lib/extensions/discord.js/BushApplicationCommandPermissionsManager.ts +++ b/src/lib/extensions/discord.js/BushApplicationCommandPermissionsManager.ts @@ -1,5 +1,5 @@ import type { BushClient, BushRoleResolvable, BushUserResolvable } from '#lib'; -import type { APIApplicationCommandPermission } from 'discord-api-types'; +import type { APIApplicationCommandPermission } from 'discord-api-types/v9'; import { ApplicationCommandPermissionType, BaseManager, diff --git a/src/lib/extensions/discord.js/BushBaseGuildTextChannel.ts b/src/lib/extensions/discord.js/BushBaseGuildTextChannel.ts index 9b260dc..5444a7f 100644 --- a/src/lib/extensions/discord.js/BushBaseGuildTextChannel.ts +++ b/src/lib/extensions/discord.js/BushBaseGuildTextChannel.ts @@ -16,10 +16,13 @@ export class BushBaseGuildTextChannel extends BaseGuildTextChannel { public declare threads: BushThreadManager; public declare readonly client: BushClient; public declare guild: BushGuild; - public declare readonly members: Collection; - public declare readonly parent: BushCategoryChannel | null; public constructor(guild: BushGuild, data?: RawGuildChannelData, client?: BushClient, immediatePatch?: boolean) { super(guild, data, client, immediatePatch); } } + +export interface BushBaseGuildTextChannel { + get members(): Collection; + get parent(): BushCategoryChannel | null; +} diff --git a/src/lib/extensions/discord.js/BushBaseGuildVoiceChannel.ts b/src/lib/extensions/discord.js/BushBaseGuildVoiceChannel.ts index 1ebefee..ba41cfe 100644 --- a/src/lib/extensions/discord.js/BushBaseGuildVoiceChannel.ts +++ b/src/lib/extensions/discord.js/BushBaseGuildVoiceChannel.ts @@ -7,7 +7,7 @@ import { BushGuildMember } from './BushGuildMember.js'; * Represents a voice-based guild channel on Discord. */ export declare class BushBaseGuildVoiceChannel extends BaseGuildVoiceChannel { - public readonly members: Collection; + public get members(): Collection; public guild: BushGuild; - public readonly parent: BushCategoryChannel | null; + public get parent(): BushCategoryChannel | null; } diff --git a/src/lib/extensions/discord.js/BushButtonInteraction.ts b/src/lib/extensions/discord.js/BushButtonInteraction.ts index b7ad77c..e72e277 100644 --- a/src/lib/extensions/discord.js/BushButtonInteraction.ts +++ b/src/lib/extensions/discord.js/BushButtonInteraction.ts @@ -1,5 +1,5 @@ import type { BushClient, BushGuild, BushGuildMember, BushGuildTextBasedChannel, BushTextBasedChannel, BushUser } from '#lib'; -import type { APIInteractionGuildMember } from 'discord-api-types'; +import type { APIInteractionGuildMember } from 'discord-api-types/v9'; import { ButtonInteraction, type CacheType, type CacheTypeReducer } from 'discord.js'; import type { RawMessageButtonInteractionData } from 'discord.js/typings/rawDataTypes'; @@ -7,14 +7,6 @@ import type { RawMessageButtonInteractionData } from 'discord.js/typings/rawData * Represents a button interaction. */ export class BushButtonInteraction extends ButtonInteraction { - public declare readonly channel: CacheTypeReducer< - Cached, - BushGuildTextBasedChannel | null, - BushGuildTextBasedChannel | null, - BushGuildTextBasedChannel | null, - BushTextBasedChannel | null - >; - public declare readonly guild: CacheTypeReducer; public declare member: CacheTypeReducer; public declare user: BushUser; @@ -22,3 +14,14 @@ export class BushButtonInteraction extends super(client, data); } } + +export interface BushButtonInteraction { + get channel(): CacheTypeReducer< + Cached, + BushGuildTextBasedChannel | null, + BushGuildTextBasedChannel | null, + BushGuildTextBasedChannel | null, + BushTextBasedChannel | null + >; + get guild(): CacheTypeReducer; +} diff --git a/src/lib/extensions/discord.js/BushCategoryChannel.ts b/src/lib/extensions/discord.js/BushCategoryChannel.ts index 3868b54..8c02a68 100644 --- a/src/lib/extensions/discord.js/BushCategoryChannel.ts +++ b/src/lib/extensions/discord.js/BushCategoryChannel.ts @@ -21,7 +21,6 @@ import { type RawGuildChannelData } from 'discord.js/typings/rawDataTypes'; */ export class BushCategoryChannel extends CategoryChannel { public declare readonly client: BushClient; - public declare readonly children: BushCategoryChannelChildManager; public declare guild: BushGuild; public constructor(guild: BushGuild, data?: RawGuildChannelData, client?: BushClient, immediatePatch?: boolean) { @@ -30,6 +29,7 @@ export class BushCategoryChannel extends CategoryChannel { } export interface BushCategoryChannel extends CategoryChannel { + get children(): BushCategoryChannelChildManager; isText(): this is BushTextChannel; isDM(): this is BushDMChannel; isVoice(): this is BushVoiceChannel; diff --git a/src/lib/extensions/discord.js/BushChannel.ts b/src/lib/extensions/discord.js/BushChannel.ts index 8779342..3f0d070 100644 --- a/src/lib/extensions/discord.js/BushChannel.ts +++ b/src/lib/extensions/discord.js/BushChannel.ts @@ -20,11 +20,11 @@ import type { RawChannelData } from 'discord.js/typings/rawDataTypes'; */ export declare class BushChannel extends Channel { public constructor(client: BushClient, data?: RawChannelData, immediatePatch?: boolean); - public readonly createdAt: Date | null; - public readonly createdTimestamp: number | null; + public get createdAt(): Date | null; + public get createdTimestamp(): number | null; public deleted: boolean; public id: Snowflake; - public readonly partial: false; + public get partial(): false; public type: ChannelType; public delete(): Promise; public fetch(force?: boolean): Promise; diff --git a/src/lib/extensions/discord.js/BushChatInputCommandInteraction.ts b/src/lib/extensions/discord.js/BushChatInputCommandInteraction.ts index 4d68f79..5dbf7b9 100644 --- a/src/lib/extensions/discord.js/BushChatInputCommandInteraction.ts +++ b/src/lib/extensions/discord.js/BushChatInputCommandInteraction.ts @@ -10,7 +10,7 @@ import type { BushTextBasedChannel, BushUser } from '#lib'; -import type { APIInteractionGuildMember } from 'discord-api-types'; +import type { APIInteractionGuildMember } from 'discord-api-types/v9'; import { ChatInputCommandInteraction, type CacheType, type CacheTypeReducer, type Invite, type Snowflake } from 'discord.js'; import type { RawCommandInteractionData } from 'discord.js/typings/rawDataTypes'; @@ -28,15 +28,6 @@ export type BushGuildResolvable = */ export class BushChatInputCommandInteraction extends ChatInputCommandInteraction { public declare readonly client: BushClient; - public declare readonly command: BushApplicationCommand | BushApplicationCommand<{ guild: BushGuildResolvable }> | null; - public declare readonly channel: CacheTypeReducer< - Cached, - BushGuildTextBasedChannel | null, - BushGuildTextBasedChannel | null, - BushGuildTextBasedChannel | null, - BushTextBasedChannel | null - >; - public declare readonly guild: CacheTypeReducer; public declare member: CacheTypeReducer; public declare user: BushUser; @@ -44,3 +35,15 @@ export class BushChatInputCommandInteraction { + get command(): BushApplicationCommand | BushApplicationCommand<{ guild: BushGuildResolvable }> | null; + get channel(): CacheTypeReducer< + Cached, + BushGuildTextBasedChannel | null, + BushGuildTextBasedChannel | null, + BushGuildTextBasedChannel | null, + BushTextBasedChannel | null + >; + get guild(): CacheTypeReducer; +} diff --git a/src/lib/extensions/discord.js/BushGuild.ts b/src/lib/extensions/discord.js/BushGuild.ts index 155f32c..a131242 100644 --- a/src/lib/extensions/discord.js/BushGuild.ts +++ b/src/lib/extensions/discord.js/BushGuild.ts @@ -32,7 +32,6 @@ import { ModLogType } from '../../models/instance/ModLog.js'; */ export class BushGuild extends Guild { public declare readonly client: BushClient; - public declare readonly me: BushGuildMember | null; public declare members: BushGuildMemberManager; public declare channels: BushGuildChannelManager; @@ -452,6 +451,10 @@ export class BushGuild extends Guild { } } +export interface BushGuild { + get me(): BushGuildMember | null; +} + /** * Options for unbanning a user */ diff --git a/src/lib/extensions/discord.js/BushGuildBan.ts b/src/lib/extensions/discord.js/BushGuildBan.ts index 496e798..d56c531 100644 --- a/src/lib/extensions/discord.js/BushGuildBan.ts +++ b/src/lib/extensions/discord.js/BushGuildBan.ts @@ -9,7 +9,7 @@ export declare class BushGuildBan extends GuildBan { public constructor(client: BushClient, data: RawGuildBanData, guild: BushGuild); public guild: BushGuild; public user: BushUser; - public readonly partial: boolean; + public get partial(): boolean; public reason?: string | null; public fetch(force?: boolean): Promise; } diff --git a/src/lib/extensions/discord.js/BushGuildEmoji.ts b/src/lib/extensions/discord.js/BushGuildEmoji.ts index 2c9d36b..29e0c4a 100644 --- a/src/lib/extensions/discord.js/BushGuildEmoji.ts +++ b/src/lib/extensions/discord.js/BushGuildEmoji.ts @@ -9,9 +9,12 @@ export class BushGuildEmoji extends GuildEmoji { public declare readonly client: BushClient; public declare guild: BushGuild; public declare author: BushUser | null; - public declare readonly roles: BushGuildEmojiRoleManager; public constructor(client: BushClient, data: RawGuildEmojiData, guild: BushGuild) { super(client, data, guild); } } + +export interface BushGuildEmoji { + get roles(): BushGuildEmojiRoleManager; +} diff --git a/src/lib/extensions/discord.js/BushMessage.ts b/src/lib/extensions/discord.js/BushMessage.ts index 420f8f5..c424d12 100644 --- a/src/lib/extensions/discord.js/BushMessage.ts +++ b/src/lib/extensions/discord.js/BushMessage.ts @@ -34,10 +34,7 @@ export type PartialBushMessage = Partialize< export class BushMessage extends Message { public declare readonly client: BushClient; public declare util: BushCommandUtil>; - public declare readonly guild: If; - public declare readonly member: BushGuildMember | null; public declare author: BushUser; - public declare readonly channel: If; public constructor(client: BushClient, data: RawMessageData) { super(client, data); @@ -45,6 +42,9 @@ export class BushMessage extends Message extends Message { + get guild(): If; + get member(): BushGuildMember | null; + get channel(): If; delete(): Promise; edit(content: string | MessageEditOptions | MessagePayload): Promise; equals(message: BushMessage, rawData: unknown): boolean; diff --git a/src/lib/extensions/discord.js/BushMessageManager.ts b/src/lib/extensions/discord.js/BushMessageManager.ts index 7ed4199..80b7a21 100644 --- a/src/lib/extensions/discord.js/BushMessageManager.ts +++ b/src/lib/extensions/discord.js/BushMessageManager.ts @@ -29,7 +29,7 @@ export declare class BushMessageManager /** * The cache of Messages */ - public cache: Collection; + public get cache(): Collection; /** * Publishes a message in an announcement channel to all channels following it, even if it's not cached. diff --git a/src/lib/extensions/discord.js/BushMessageReaction.ts b/src/lib/extensions/discord.js/BushMessageReaction.ts index 47d4119..aed76df 100644 --- a/src/lib/extensions/discord.js/BushMessageReaction.ts +++ b/src/lib/extensions/discord.js/BushMessageReaction.ts @@ -9,9 +9,12 @@ export type PartialBushMessageReaction = Partialize; public declare guild: BushGuild; public declare messages: BushMessageManager; - public declare members: Collection; +} + +export interface BushNewsChannel { + get members(): Collection; } diff --git a/src/lib/extensions/discord.js/BushPresence.ts b/src/lib/extensions/discord.js/BushPresence.ts index f0a3ba6..f40570d 100644 --- a/src/lib/extensions/discord.js/BushPresence.ts +++ b/src/lib/extensions/discord.js/BushPresence.ts @@ -7,10 +7,13 @@ import type { RawPresenceData } from 'discord.js/typings/rawDataTypes'; */ export class BushPresence extends Presence { public declare guild: BushGuild | null; - public declare readonly member: BushGuildMember | null; - public declare readonly user: BushUser | null; public constructor(client: BushClient, data?: RawPresenceData) { super(client, data); } } + +export interface BushPresence { + get member(): BushGuildMember | null; + get user(): BushUser | null; +} diff --git a/src/lib/extensions/discord.js/BushRole.ts b/src/lib/extensions/discord.js/BushRole.ts index acf795d..c0b9ae5 100644 --- a/src/lib/extensions/discord.js/BushRole.ts +++ b/src/lib/extensions/discord.js/BushRole.ts @@ -7,9 +7,12 @@ import type { RawRoleData } from 'discord.js/typings/rawDataTypes'; */ export class BushRole extends Role { public declare guild: BushGuild; - public declare readonly members: Collection; public constructor(client: BushClient, data: RawRoleData, guild: BushGuild) { super(client, data, guild); } } + +export interface BushRole { + get members(): Collection; +} diff --git a/src/lib/extensions/discord.js/BushSelectMenuInteraction.ts b/src/lib/extensions/discord.js/BushSelectMenuInteraction.ts index 2c7c329..e5f84b4 100644 --- a/src/lib/extensions/discord.js/BushSelectMenuInteraction.ts +++ b/src/lib/extensions/discord.js/BushSelectMenuInteraction.ts @@ -1,5 +1,5 @@ import type { BushClient, BushGuild, BushGuildMember, BushGuildTextBasedChannel, BushTextBasedChannel, BushUser } from '#lib'; -import type { APIInteractionGuildMember } from 'discord-api-types'; +import type { APIInteractionGuildMember } from 'discord-api-types/v9'; import { SelectMenuInteraction, type CacheType, type CacheTypeReducer } from 'discord.js'; import type { RawMessageSelectMenuInteractionData } from 'discord.js/typings/rawDataTypes'; @@ -7,14 +7,6 @@ import type { RawMessageSelectMenuInteractionData } from 'discord.js/typings/raw * Represents a select menu interaction. */ export class BushSelectMenuInteraction extends SelectMenuInteraction { - public declare readonly channel: CacheTypeReducer< - Cached, - BushGuildTextBasedChannel | null, - BushGuildTextBasedChannel | null, - BushGuildTextBasedChannel | null, - BushTextBasedChannel | null - >; - public declare readonly guild: CacheTypeReducer; public declare member: CacheTypeReducer; public declare user: BushUser; @@ -22,3 +14,14 @@ export class BushSelectMenuInteraction ext super(client, data); } } + +export interface BushSelectMenuInteraction { + get channel(): CacheTypeReducer< + Cached, + BushGuildTextBasedChannel | null, + BushGuildTextBasedChannel | null, + BushGuildTextBasedChannel | null, + BushTextBasedChannel | null + >; + get guild(): CacheTypeReducer; +} diff --git a/src/lib/extensions/discord.js/BushStageChannel.ts b/src/lib/extensions/discord.js/BushStageChannel.ts index 5f6c581..253b417 100644 --- a/src/lib/extensions/discord.js/BushStageChannel.ts +++ b/src/lib/extensions/discord.js/BushStageChannel.ts @@ -6,12 +6,15 @@ import type { RawGuildChannelData } from 'discord.js/typings/rawDataTypes'; * Represents a guild stage channel on Discord. */ export class BushStageChannel extends StageChannel { - public declare readonly members: Collection; public declare guild: BushGuild; - public declare readonly parent: BushCategoryChannel | null; - public declare readonly stageInstance: BushStageInstance | null; public constructor(guild: BushGuild, data?: RawGuildChannelData) { super(guild, data); } } + +export interface BushStageChannel { + get members(): Collection; + get parent(): BushCategoryChannel | null; + get stageInstance(): BushStageInstance | null; +} diff --git a/src/lib/extensions/discord.js/BushStageInstance.ts b/src/lib/extensions/discord.js/BushStageInstance.ts index 80fa5cf..0242314 100644 --- a/src/lib/extensions/discord.js/BushStageInstance.ts +++ b/src/lib/extensions/discord.js/BushStageInstance.ts @@ -6,10 +6,12 @@ import type { RawStageInstanceData } from 'discord.js/typings/rawDataTypes'; * Represents a stage instance. */ export class BushStageInstance extends StageInstance { - public declare readonly channel: BushStageChannel | null; - public declare readonly guild: BushGuild | null; - public constructor(client: BushClient, data: RawStageInstanceData, channel: BushStageChannel) { super(client, data, channel); } } + +export interface BushStageInstance { + get channel(): BushStageChannel | null; + get guild(): BushGuild | null; +} diff --git a/src/lib/extensions/discord.js/BushStoreChannel.ts b/src/lib/extensions/discord.js/BushStoreChannel.ts index eadc8af..a2cc114 100644 --- a/src/lib/extensions/discord.js/BushStoreChannel.ts +++ b/src/lib/extensions/discord.js/BushStoreChannel.ts @@ -23,8 +23,6 @@ import type { RawGuildChannelData } from 'discord.js/typings/rawDataTypes'; */ export class BushStoreChannel extends StoreChannel { public declare guild: BushGuild; - public declare readonly members: Collection; - public declare readonly parent: BushCategoryChannel | null; public constructor(guild: BushGuild, data?: RawGuildChannelData, client?: BushClient) { super(guild, data, client); @@ -32,6 +30,8 @@ export class BushStoreChannel extends StoreChannel { } export interface BushStoreChannel extends StoreChannel { + get members(): Collection; + get parent(): BushCategoryChannel | null; isText(): this is BushTextChannel; isDM(): this is BushDMChannel; isDMBased(): this is PartialGroupDMChannel | BushDMChannel; diff --git a/src/lib/extensions/discord.js/BushThreadChannel.ts b/src/lib/extensions/discord.js/BushThreadChannel.ts index 691fabf..5663ba4 100644 --- a/src/lib/extensions/discord.js/BushThreadChannel.ts +++ b/src/lib/extensions/discord.js/BushThreadChannel.ts @@ -27,8 +27,6 @@ export class BushThreadChannel extends ThreadChannel { public declare messages: BushMessageManager; public declare members: BushThreadMemberManager; public declare readonly client: BushClient; - public declare readonly guildMembers: Collection; - public declare readonly parent: BushTextChannel | BushNewsChannel | null; public constructor(guild: BushGuild, data?: RawThreadChannelData, client?: BushClient, fromInteraction?: boolean) { super(guild, data, client, fromInteraction); @@ -36,6 +34,8 @@ export class BushThreadChannel extends ThreadChannel { } export interface BushThreadChannel extends ThreadChannel { + get guildMembers(): Collection; + get parent(): BushTextChannel | BushNewsChannel | null; isText(): this is BushTextChannel; isDM(): this is BushDMChannel; isDMBased(): this is PartialGroupDMChannel | BushDMChannel; diff --git a/src/lib/extensions/discord.js/BushThreadMember.ts b/src/lib/extensions/discord.js/BushThreadMember.ts index a316046..b3d8b50 100644 --- a/src/lib/extensions/discord.js/BushThreadMember.ts +++ b/src/lib/extensions/discord.js/BushThreadMember.ts @@ -6,11 +6,14 @@ import type { RawThreadMemberData } from 'discord.js/typings/rawDataTypes'; * Represents a Member for a Thread. */ export class BushThreadMember extends ThreadMember { - public declare readonly guildMember: BushGuildMember | null; - public declare readonly user: BushUser | null; public declare thread: BushThreadChannel; public constructor(thread: BushThreadChannel, data?: RawThreadMemberData) { super(thread, data); } } + +export interface BushThreadMember { + get guildMember(): BushGuildMember | null; + get user(): BushUser | null; +} diff --git a/src/lib/extensions/discord.js/BushUser.ts b/src/lib/extensions/discord.js/BushUser.ts index 5ab288e..10e2e4a 100644 --- a/src/lib/extensions/discord.js/BushUser.ts +++ b/src/lib/extensions/discord.js/BushUser.ts @@ -9,7 +9,6 @@ export type PartialBushUser = Partialize; public constructor(guild: BushGuild, data?: RawGuildChannelData) { super(guild, data); @@ -30,6 +29,7 @@ export class BushVoiceChannel extends VoiceChannel { } export interface BushVoiceChannel extends VoiceChannel { + get members(): Collection; isText(): this is BushTextChannel; isDM(): this is BushDMChannel; isVoice(): this is BushVoiceChannel; diff --git a/src/lib/extensions/discord.js/BushVoiceState.ts b/src/lib/extensions/discord.js/BushVoiceState.ts index 3f19201..f5c6301 100644 --- a/src/lib/extensions/discord.js/BushVoiceState.ts +++ b/src/lib/extensions/discord.js/BushVoiceState.ts @@ -7,11 +7,14 @@ import type { RawVoiceStateData } from 'discord.js/typings/rawDataTypes'; */ export class BushVoiceState extends VoiceState { public declare readonly client: BushClient; - public declare readonly channel: BushVoiceBasedChannel | null; public declare guild: BushGuild; - public declare readonly member: BushGuildMember | null; public constructor(guild: BushGuild, data: RawVoiceStateData) { super(guild, data); } } + +export interface BushVoiceState { + get channel(): BushVoiceBasedChannel | null; + get getmember(): BushGuildMember | null; +} -- cgit