Files
discordeno/transformers/voiceState.ts
ITOH 03996c5f58 refactor: revert "feat: base plugin lib idea (#2308)" (#2336)
* Revert "feat: base plugin lib idea (#2308)"

This reverts commit ffe7cdbc6f.

* fmt
2022-07-02 14:24:43 +01: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> {}