Files
discordeno/transformers/voiceState.ts
LTS20050703 8d4c0069b0 (transformers) return as Optionalize<typeof> (#2117)
* (transformers) return as Optionalize<typeof>

* fix check error

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2022-03-20 10:35:48 -04:00

25 lines
1.1 KiB
TypeScript

import { Bot } from "../bot.ts";
import { DiscordVoiceState } from "../types/discord.ts";
import { VoiceStateToggles } from "./toggles/voice.ts";
import { Optionalize } from "../types/shared.ts";
export function transformVoiceState(bot: Bot, payload: { voiceState: DiscordVoiceState } & { guildId: bigint }) {
const voiceState = {
toggles: new VoiceStateToggles(payload.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,
};
return voiceState as Optionalize<typeof voiceState>;
}
export interface VoiceState extends ReturnType<typeof transformVoiceState> {}