mirror of
https://github.com/discordeno/discordeno.git
synced 2026-09-17 08:47:22 +00:00
feat: Add voice state to the desired properties object. (#3424)
* feat: Add voice state to the desired properties object. * chore: Remove unnecessary check.
This commit is contained in:
@@ -498,6 +498,14 @@ export interface Transformers {
|
||||
slug: boolean
|
||||
flags: boolean
|
||||
}
|
||||
voiceState: {
|
||||
requestToSpeakTimestamp: boolean
|
||||
channelId: boolean
|
||||
guildId: boolean
|
||||
toggles: boolean
|
||||
sessionId: boolean
|
||||
userId: boolean
|
||||
}
|
||||
}
|
||||
reverse: {
|
||||
allowedMentions: (bot: Bot, payload: AllowedMentions) => DiscordAllowedMentions
|
||||
@@ -1041,6 +1049,14 @@ export function createTransformers(options: Partial<Transformers>, opts?: Create
|
||||
slug: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
flags: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
},
|
||||
voiceState: {
|
||||
requestToSpeakTimestamp: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
channelId: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
guildId: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
toggles: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
sessionId: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
userId: opts?.defaultDesiredPropertiesValue ?? false,
|
||||
},
|
||||
},
|
||||
reverse: {
|
||||
allowedMentions: options.reverse?.allowedMentions ?? transformAllowedMentionsToDiscordAllowedMentions,
|
||||
|
||||
@@ -3,16 +3,16 @@ import type { Bot } from '../index.js'
|
||||
import { VoiceStateToggles } from './toggles/voice.js'
|
||||
|
||||
export function transformVoiceState(bot: Bot, payload: { voiceState: DiscordVoiceState } & { guildId: bigint }): VoiceState {
|
||||
const voiceState = {
|
||||
toggles: new VoiceStateToggles(payload.voiceState),
|
||||
const props = bot.transformers.desiredProperties.voiceState
|
||||
const voiceState = {} as VoiceState
|
||||
|
||||
requestToSpeakTimestamp: payload.voiceState.request_to_speak_timestamp ? Date.parse(payload.voiceState.request_to_speak_timestamp) : undefined,
|
||||
sessionId: payload.voiceState.session_id,
|
||||
|
||||
channelId: payload.voiceState.channel_id ? bot.transformers.snowflake(payload.voiceState.channel_id) : undefined,
|
||||
guildId: payload.guildId || (payload.voiceState.guild_id ? bot.transformers.snowflake(payload.voiceState.guild_id) : 0n),
|
||||
userId: payload.voiceState.user_id ? bot.transformers.snowflake(payload.voiceState.user_id) : 0n,
|
||||
} as VoiceState
|
||||
if (props.requestToSpeakTimestamp && payload.voiceState.request_to_speak_timestamp)
|
||||
voiceState.requestToSpeakTimestamp = Date.parse(payload.voiceState.request_to_speak_timestamp)
|
||||
if (props.channelId && payload.voiceState.channel_id) voiceState.channelId = bot.transformers.snowflake(payload.voiceState.channel_id)
|
||||
if (props.guildId) voiceState.guildId = payload.guildId
|
||||
if (props.toggles) voiceState.toggles = new VoiceStateToggles(payload.voiceState)
|
||||
if (props.sessionId) voiceState.sessionId = payload.voiceState.session_id
|
||||
if (props.userId && payload.voiceState.user_id) voiceState.userId = bot.transformers.snowflake(payload.voiceState.user_id) ?? 0n
|
||||
|
||||
return bot.transformers.customizers.voiceState(bot, payload.voiceState, voiceState)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user