This commit is contained in:
Fleny
2026-01-18 14:21:47 +01:00
parent ffe7434526
commit 9249963fc6
4 changed files with 78 additions and 78 deletions

View File

@@ -1,29 +1,29 @@
import type { DiscordAttachment } from '@discordeno/types'
import type { Bot } from '../bot.js'
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js'
import { callCustomizer } from '../transformers.js'
import type { Attachment } from './types.js'
import type { DiscordAttachment } from '@discordeno/types';
import type { Bot } from '../bot.js';
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js';
import { callCustomizer } from '../transformers.js';
import type { Attachment } from './types.js';
export function transformAttachment(bot: Bot, payload: Partial<DiscordAttachment>, extra?: { partial?: boolean }) {
const props = bot.transformers.desiredProperties.attachment
const attachment = {} as SetupDesiredProps<Attachment, TransformersDesiredProperties, DesiredPropertiesBehavior>
const props = bot.transformers.desiredProperties.attachment;
const attachment = {} as SetupDesiredProps<Attachment, TransformersDesiredProperties, DesiredPropertiesBehavior>;
if (props.id && payload.id) attachment.id = bot.transformers.snowflake(payload.id)
if (props.filename && payload.filename) attachment.filename = payload.filename
if (props.title && payload.title) attachment.title = payload.title
if (props.contentType && payload.content_type) attachment.contentType = payload.content_type
if (props.size && payload.size !== undefined) attachment.size = payload.size
if (props.url && payload.url) attachment.url = payload.url
if (props.proxyUrl && payload.proxy_url) attachment.proxyUrl = payload.proxy_url
if (props.height && payload.height) attachment.height = payload.height
if (props.width && payload.width) attachment.width = payload.width
if (props.ephemeral && payload.ephemeral) attachment.ephemeral = payload.ephemeral
if (props.description && payload.description) attachment.description = payload.description
if (props.duration_secs && payload.duration_secs) attachment.duration_secs = payload.duration_secs
if (props.waveform && payload.waveform) attachment.waveform = payload.waveform
if (props.flags) attachment.flags = payload.flags
if (props.id && payload.id) attachment.id = bot.transformers.snowflake(payload.id);
if (props.filename && payload.filename) attachment.filename = payload.filename;
if (props.title && payload.title) attachment.title = payload.title;
if (props.contentType && payload.content_type) attachment.contentType = payload.content_type;
if (props.size && payload.size !== undefined) attachment.size = payload.size;
if (props.url && payload.url) attachment.url = payload.url;
if (props.proxyUrl && payload.proxy_url) attachment.proxyUrl = payload.proxy_url;
if (props.height && payload.height) attachment.height = payload.height;
if (props.width && payload.width) attachment.width = payload.width;
if (props.ephemeral && payload.ephemeral) attachment.ephemeral = payload.ephemeral;
if (props.description && payload.description) attachment.description = payload.description;
if (props.duration_secs && payload.duration_secs) attachment.duration_secs = payload.duration_secs;
if (props.waveform && payload.waveform) attachment.waveform = payload.waveform;
if (props.flags) attachment.flags = payload.flags;
return callCustomizer('attachment', bot, payload, attachment, {
partial: extra?.partial ?? false,
})
});
}

View File

@@ -1,39 +1,39 @@
import type { DiscordInviteMetadata } from '@discordeno/types'
import type { Bot } from '../bot.js'
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js'
import { callCustomizer } from '../transformers.js'
import { ToggleBitfield } from './toggles/ToggleBitfield.js'
import type { Invite } from './types.js'
import type { DiscordInviteMetadata } from '@discordeno/types';
import type { Bot } from '../bot.js';
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js';
import { callCustomizer } from '../transformers.js';
import { ToggleBitfield } from './toggles/ToggleBitfield.js';
import type { Invite } from './types.js';
export function transformInvite(bot: Bot, payload: Partial<DiscordInviteMetadata>, extra?: { shardId?: number; partial?: boolean }) {
const props = bot.transformers.desiredProperties.invite
const invite = {} as SetupDesiredProps<Invite, TransformersDesiredProperties, DesiredPropertiesBehavior>
const props = bot.transformers.desiredProperties.invite;
const invite = {} as SetupDesiredProps<Invite, TransformersDesiredProperties, DesiredPropertiesBehavior>;
if (props.type && payload.type !== undefined) invite.type = payload.type
if (props.code && payload.code) invite.code = payload.code
if (props.createdAt && payload.created_at) invite.createdAt = Date.parse(payload.created_at)
if (props.inviter && payload.inviter) invite.inviter = bot.transformers.user(bot, payload.inviter)
if (props.maxAge && payload.max_age !== undefined) invite.maxAge = payload.max_age
if (props.maxUses && payload.max_uses !== undefined) invite.maxUses = payload.max_uses
if (props.targetType && payload.target_type) invite.targetType = payload.target_type
if (props.targetUser && payload.target_user) invite.targetUser = bot.transformers.user(bot, payload.target_user)
if (props.type && payload.type !== undefined) invite.type = payload.type;
if (props.code && payload.code) invite.code = payload.code;
if (props.createdAt && payload.created_at) invite.createdAt = Date.parse(payload.created_at);
if (props.inviter && payload.inviter) invite.inviter = bot.transformers.user(bot, payload.inviter);
if (props.maxAge && payload.max_age !== undefined) invite.maxAge = payload.max_age;
if (props.maxUses && payload.max_uses !== undefined) invite.maxUses = payload.max_uses;
if (props.targetType && payload.target_type) invite.targetType = payload.target_type;
if (props.targetUser && payload.target_user) invite.targetUser = bot.transformers.user(bot, payload.target_user);
if (props.targetApplication && payload.target_application)
invite.targetApplication = bot.transformers.application(bot, payload.target_application, { shardId: extra?.shardId, partial: true })
if (props.temporary && payload.temporary) invite.temporary = payload.temporary
if (props.uses && payload.uses) invite.uses = payload.uses
invite.targetApplication = bot.transformers.application(bot, payload.target_application, { shardId: extra?.shardId, partial: true });
if (props.temporary && payload.temporary) invite.temporary = payload.temporary;
if (props.uses && payload.uses) invite.uses = payload.uses;
if (props.channelId && payload.channel?.id) invite.channelId = bot.transformers.snowflake(payload.channel.id)
if (props.guildId && payload.guild?.id) invite.guildId = bot.transformers.snowflake(payload.guild.id)
if (props.approximateMemberCount && payload.approximate_member_count) invite.approximateMemberCount = payload.approximate_member_count
if (props.channelId && payload.channel?.id) invite.channelId = bot.transformers.snowflake(payload.channel.id);
if (props.guildId && payload.guild?.id) invite.guildId = bot.transformers.snowflake(payload.guild.id);
if (props.approximateMemberCount && payload.approximate_member_count) invite.approximateMemberCount = payload.approximate_member_count;
if (props.approximatePresenceCount && payload.approximate_presence_count !== undefined)
invite.approximatePresenceCount = payload.approximate_presence_count
invite.approximatePresenceCount = payload.approximate_presence_count;
if (props.guildScheduledEvent && payload.guild_scheduled_event)
invite.guildScheduledEvent = bot.transformers.scheduledEvent(bot, payload.guild_scheduled_event)
if (props.expiresAt && payload.expires_at) invite.expiresAt = Date.parse(payload.expires_at)
if (props.flags && payload.flags) invite.flags = new ToggleBitfield(payload.flags)
invite.guildScheduledEvent = bot.transformers.scheduledEvent(bot, payload.guild_scheduled_event);
if (props.expiresAt && payload.expires_at) invite.expiresAt = Date.parse(payload.expires_at);
if (props.flags && payload.flags) invite.flags = new ToggleBitfield(payload.flags);
return callCustomizer('invite', bot, payload, invite, {
shardId: extra?.shardId,
partial: extra?.partial ?? false,
})
});
}

View File

@@ -1,21 +1,21 @@
import { type DiscordPresenceUpdate, PresenceStatus } from '@discordeno/types'
import type { Bot } from '../bot.js'
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js'
import { callCustomizer } from '../transformers.js'
import type { PresenceUpdate, User } from './types.js'
import { type DiscordPresenceUpdate, PresenceStatus } from '@discordeno/types';
import type { Bot } from '../bot.js';
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js';
import { callCustomizer } from '../transformers.js';
import type { PresenceUpdate, User } from './types.js';
export function transformPresence(bot: Bot, payload: Partial<DiscordPresenceUpdate>, extra?: { partial?: boolean }) {
const presence = {} as SetupDesiredProps<PresenceUpdate, TransformersDesiredProperties, DesiredPropertiesBehavior>
const presence = {} as SetupDesiredProps<PresenceUpdate, TransformersDesiredProperties, DesiredPropertiesBehavior>;
if (payload.user) presence.user = bot.transformers.user(bot, payload.user) as User
if (payload.guild_id) presence.guildId = bot.transformers.snowflake(payload.guild_id)
if (payload.status) presence.status = PresenceStatus[payload.status]
if (payload.activities) presence.activities = payload.activities.map((activity) => bot.transformers.activity(bot, activity))
if (payload.client_status?.desktop) presence.desktop = payload.client_status.desktop
if (payload.client_status?.mobile) presence.mobile = payload.client_status.mobile
if (payload.client_status?.web) presence.web = payload.client_status.web
if (payload.user) presence.user = bot.transformers.user(bot, payload.user) as User;
if (payload.guild_id) presence.guildId = bot.transformers.snowflake(payload.guild_id);
if (payload.status) presence.status = PresenceStatus[payload.status];
if (payload.activities) presence.activities = payload.activities.map((activity) => bot.transformers.activity(bot, activity));
if (payload.client_status?.desktop) presence.desktop = payload.client_status.desktop;
if (payload.client_status?.mobile) presence.mobile = payload.client_status.mobile;
if (payload.client_status?.web) presence.web = payload.client_status.web;
return callCustomizer('presence', bot, payload, presence, {
partial: extra?.partial ?? false,
})
});
}

View File

@@ -1,24 +1,24 @@
import type { BigString, DiscordVoiceState } from '@discordeno/types'
import type { Bot } from '../bot.js'
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js'
import { callCustomizer } from '../transformers.js'
import { VoiceStateToggles } from './toggles/voice.js'
import type { VoiceState } from './types.js'
import type { BigString, DiscordVoiceState } from '@discordeno/types';
import type { Bot } from '../bot.js';
import type { DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties } from '../desiredProperties.js';
import { callCustomizer } from '../transformers.js';
import { VoiceStateToggles } from './toggles/voice.js';
import type { VoiceState } from './types.js';
export function transformVoiceState(bot: Bot, payload: Partial<DiscordVoiceState>, extra?: { guildId?: BigString; partial?: boolean }) {
const props = bot.transformers.desiredProperties.voiceState
const voiceState = {} as SetupDesiredProps<VoiceState, TransformersDesiredProperties, DesiredPropertiesBehavior>
const props = bot.transformers.desiredProperties.voiceState;
const voiceState = {} as SetupDesiredProps<VoiceState, TransformersDesiredProperties, DesiredPropertiesBehavior>;
if (props.requestToSpeakTimestamp && payload.request_to_speak_timestamp)
voiceState.requestToSpeakTimestamp = Date.parse(payload.request_to_speak_timestamp)
if (props.channelId && payload.channel_id) voiceState.channelId = bot.transformers.snowflake(payload.channel_id)
if (props.guildId && extra?.guildId) voiceState.guildId = bot.transformers.snowflake(extra.guildId)
if (props.toggles) voiceState.toggles = new VoiceStateToggles(payload)
if (props.sessionId && payload.session_id !== undefined) voiceState.sessionId = payload.session_id
if (props.userId && payload.user_id) voiceState.userId = bot.transformers.snowflake(payload.user_id)
voiceState.requestToSpeakTimestamp = Date.parse(payload.request_to_speak_timestamp);
if (props.channelId && payload.channel_id) voiceState.channelId = bot.transformers.snowflake(payload.channel_id);
if (props.guildId && extra?.guildId) voiceState.guildId = bot.transformers.snowflake(extra.guildId);
if (props.toggles) voiceState.toggles = new VoiceStateToggles(payload);
if (props.sessionId && payload.session_id !== undefined) voiceState.sessionId = payload.session_id;
if (props.userId && payload.user_id) voiceState.userId = bot.transformers.snowflake(payload.user_id);
return callCustomizer('voiceState', bot, payload, voiceState, {
guildId: extra?.guildId ? bot.transformers.snowflake(extra.guildId) : undefined,
partial: extra?.partial ?? false,
})
});
}