mirror of
https://github.com/discordeno/discordeno.git
synced 2026-09-17 08:47:22 +00:00
fix(types)!: Sort & fix guild.ts properties (#4288)
* Sort & fix guild.ts properties * Fix type errors * Apply code review suggestions
This commit is contained in:
@@ -240,6 +240,7 @@ export function transformInteractionDataResolved(
|
||||
if (payload.guildId && payload.resolved.members) {
|
||||
transformed.members = new Collection(
|
||||
Object.entries(payload.resolved.members).map(([id, value]) => {
|
||||
// @ts-expect-error TODO: Deal with partials, value is missing 2 values but the transformer can handle it, despite what the types says
|
||||
const member: Member = bot.transformers.member(bot, value, payload.guildId!, bot.transformers.snowflake(id))
|
||||
return [member.id, member]
|
||||
}),
|
||||
|
||||
@@ -31,8 +31,8 @@ export function transformMemberToDiscordMember(bot: InternalBot, payload: Member
|
||||
avatar: payload.avatar ? iconBigintToHash(payload.avatar) : undefined,
|
||||
permissions: payload.permissions?.toString(),
|
||||
communication_disabled_until: payload.communicationDisabledUntil ? new Date(payload.communicationDisabledUntil).toISOString() : undefined,
|
||||
deaf: payload.toggles?.deaf,
|
||||
mute: payload.toggles?.mute,
|
||||
deaf: payload.toggles?.deaf ?? false,
|
||||
mute: payload.toggles?.mute ?? false,
|
||||
pending: payload.toggles?.pending,
|
||||
flags: payload.flags,
|
||||
avatar_decoration_data: {
|
||||
|
||||
@@ -1889,7 +1889,7 @@ export interface GuildWidget {
|
||||
name: string
|
||||
members: Partial<User>[]
|
||||
channels: Partial<Channel>[]
|
||||
instant_invite: string
|
||||
instantInvite?: string
|
||||
presenceCount: number
|
||||
}
|
||||
|
||||
|
||||
@@ -1,24 +1,15 @@
|
||||
import type { DiscordGuildWidget } from '@discordeno/types'
|
||||
import { type Bot, type GuildWidget, iconHashToBigInt } from '../index.js'
|
||||
import type { Bot, GuildWidget } from '../index.js'
|
||||
|
||||
export function transformWidget(bot: Bot, payload: DiscordGuildWidget): GuildWidget {
|
||||
const widget = {
|
||||
id: bot.transformers.snowflake(payload.id),
|
||||
name: payload.name,
|
||||
instant_invite: payload.instant_invite,
|
||||
channels: payload.channels.map((channel) => ({
|
||||
id: bot.transformers.snowflake(channel.id),
|
||||
name: channel.name,
|
||||
position: channel.position,
|
||||
})),
|
||||
members: payload.members.map((member) => ({
|
||||
id: bot.transformers.snowflake(member.id),
|
||||
username: member.username,
|
||||
discriminator: member.discriminator,
|
||||
avatar: member.avatar ? iconHashToBigInt(member.avatar) : undefined,
|
||||
status: member.status,
|
||||
avatarUrl: member.avatar_url,
|
||||
})),
|
||||
instantInvite: payload.instant_invite ?? undefined,
|
||||
// @ts-expect-error TODO: Deal with partials
|
||||
channels: payload.channels.map((channel) => bot.transformers.channel(bot, { channel })),
|
||||
// @ts-expect-error TODO: Deal with partials
|
||||
members: payload.members.map((user) => bot.transformers.user(bot, user)),
|
||||
presenceCount: payload.presence_count,
|
||||
} as GuildWidget
|
||||
|
||||
|
||||
Reference in New Issue
Block a user