mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-01 20:46:08 +00:00
49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import type { Model } from './Base.ts';
|
|
import type { Snowflake } from '../Snowflake.ts';
|
|
import type { Session } from '../Session.ts';
|
|
import { PrivacyLevels } from './StageInstance.ts';
|
|
import type {
|
|
DiscordScheduledEvent,
|
|
DiscordScheduledEventEntityMetadata,
|
|
ScheduledEventEntityType,
|
|
ScheduledEventStatus,
|
|
} from '../../discordeno/mod.ts';
|
|
import User from './User.ts';
|
|
|
|
export class ScheduledEvent implements Model {
|
|
constructor(session: Session, data: DiscordScheduledEvent) {
|
|
this.session = session;
|
|
this.id = data.id;
|
|
this.guildId = data.guild_id;
|
|
this.channelId = data.channel_id;
|
|
this.creatorId = data.creator_id ? data.creator_id : undefined;
|
|
this.name = data.name;
|
|
this.description = data.description;
|
|
this.scheduledStartTime = data.scheduled_start_time;
|
|
this.scheduledEndTime = data.scheduled_end_time;
|
|
this.privacyLevel = PrivacyLevels.GuildOnly;
|
|
this.status = data.status;
|
|
this.entityType = data.entity_type;
|
|
this.entityMetadata = data.entity_metadata ? data.entity_metadata : undefined;
|
|
this.creator = data.creator ? new User(session, data.creator) : undefined;
|
|
this.userCount = data.user_count;
|
|
this.image = data.image ? data.image : undefined;
|
|
}
|
|
session: Session;
|
|
id: Snowflake;
|
|
guildId: Snowflake;
|
|
channelId: Snowflake | null;
|
|
creatorId?: Snowflake;
|
|
name: string;
|
|
description?: string;
|
|
scheduledStartTime: string;
|
|
scheduledEndTime: string | null;
|
|
privacyLevel: PrivacyLevels;
|
|
status: ScheduledEventStatus;
|
|
entityType: ScheduledEventEntityType;
|
|
entityMetadata?: DiscordScheduledEventEntityMetadata;
|
|
creator?: User;
|
|
userCount?: number;
|
|
image?: string;
|
|
}
|