mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-30 15:30:07 +00:00
31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import { Bot } from "../bot.ts";
|
|
import { DiscordScheduledEvent } from "../types/discord.ts";
|
|
import { Optionalize } from "../types/shared.ts";
|
|
|
|
export function transformScheduledEvent(
|
|
bot: Bot,
|
|
payload: DiscordScheduledEvent,
|
|
) {
|
|
return {
|
|
id: bot.transformers.snowflake(payload.id),
|
|
guildId: bot.transformers.snowflake(payload.guild_id),
|
|
channelId: payload.channel_id ? bot.transformers.snowflake(payload.channel_id) : undefined,
|
|
creatorId: payload.creator_id ? bot.transformers.snowflake(payload.creator_id) : 0n,
|
|
scheduledStartTime: Date.parse(payload.scheduled_start_time),
|
|
scheduledEndTime: payload.scheduled_end_time ? Date.parse(payload.scheduled_end_time) : undefined,
|
|
entityId: payload.entity_id ? bot.transformers.snowflake(payload.entity_id) : undefined,
|
|
creator: payload.creator ? bot.transformers.user(bot, payload.creator) : undefined,
|
|
|
|
name: payload.name,
|
|
description: payload.description,
|
|
privacyLevel: payload.privacy_level,
|
|
status: payload.status,
|
|
entityType: payload.entity_type,
|
|
userCount: payload.user_count || 0,
|
|
location: payload.entity_metadata?.location,
|
|
image: payload.image ? bot.utils.iconHashToBigInt(payload.image) : undefined,
|
|
};
|
|
}
|
|
|
|
export interface ScheduledEvent extends Optionalize<ReturnType<typeof transformScheduledEvent>> {}
|