mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 02:53:31 +01:00
feat: add support for GuildScheduledEvent (#6493)
Co-authored-by: Rodry <38259440+ImRodry@users.noreply.github.com> Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com> Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> Co-authored-by: GoldenAngel <50855202+GoldenAngel2@users.noreply.github.com> Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com> Co-authored-by: Antonio Román <kyradiscord@gmail.com> Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
This commit is contained in:
17
typings/enums.d.ts
vendored
17
typings/enums.d.ts
vendored
@@ -86,6 +86,23 @@ export const enum ExplicitContentFilterLevels {
|
||||
ALL_MEMBERS = 2,
|
||||
}
|
||||
|
||||
export const enum GuildScheduledEventEntityTypes {
|
||||
STAGE_INSTANCE = 1,
|
||||
VOICE = 2,
|
||||
EXTERNAL = 3,
|
||||
}
|
||||
|
||||
export const enum GuildScheduledEventPrivacyLevels {
|
||||
GUILD_ONLY = 2,
|
||||
}
|
||||
|
||||
export const enum GuildScheduledEventStatuses {
|
||||
SCHEDULED = 1,
|
||||
ACTIVE = 2,
|
||||
COMPLETED = 3,
|
||||
CANCELED = 4,
|
||||
}
|
||||
|
||||
export const enum InteractionResponseTypes {
|
||||
PONG = 1,
|
||||
CHANNEL_MESSAGE_WITH_SOURCE = 4,
|
||||
|
||||
198
typings/index.d.ts
vendored
198
typings/index.d.ts
vendored
@@ -80,6 +80,9 @@ import {
|
||||
StickerTypes,
|
||||
VerificationLevels,
|
||||
WebhookTypes,
|
||||
GuildScheduledEventEntityTypes,
|
||||
GuildScheduledEventStatuses,
|
||||
GuildScheduledEventPrivacyLevels,
|
||||
} from './enums';
|
||||
import {
|
||||
RawActivityData,
|
||||
@@ -99,6 +102,7 @@ import {
|
||||
RawGuildEmojiData,
|
||||
RawGuildMemberData,
|
||||
RawGuildPreviewData,
|
||||
RawGuildScheduledEventData,
|
||||
RawGuildTemplateData,
|
||||
RawIntegrationApplicationData,
|
||||
RawIntegrationData,
|
||||
@@ -557,7 +561,7 @@ export class Client<Ready extends boolean = boolean> extends BaseClient {
|
||||
public ws: WebSocketManager;
|
||||
public destroy(): void;
|
||||
public fetchGuildPreview(guild: GuildResolvable): Promise<GuildPreview>;
|
||||
public fetchInvite(invite: InviteResolvable): Promise<Invite>;
|
||||
public fetchInvite(invite: InviteResolvable, options?: ClientFetchInviteOptions): Promise<Invite>;
|
||||
public fetchGuildTemplate(template: GuildTemplateResolvable): Promise<GuildTemplate>;
|
||||
public fetchVoiceRegions(): Promise<Collection<string, VoiceRegion>>;
|
||||
public fetchSticker(id: Snowflake): Promise<Sticker>;
|
||||
@@ -909,6 +913,7 @@ export class Guild extends AnonymousGuild {
|
||||
public roles: RoleManager;
|
||||
public readonly rulesChannel: TextChannel | null;
|
||||
public rulesChannelId: Snowflake | null;
|
||||
public scheduledEvents: GuildScheduledEventManager;
|
||||
public readonly shard: WebSocketShard;
|
||||
public shardId: number;
|
||||
public stageInstances: StageInstanceManager;
|
||||
@@ -1151,6 +1156,54 @@ export class GuildPreview extends Base {
|
||||
public toString(): string;
|
||||
}
|
||||
|
||||
export class GuildScheduledEvent<S extends GuildScheduledEventStatus = GuildScheduledEventStatus> extends Base {
|
||||
private constructor(client: Client, data: RawGuildScheduledEventData);
|
||||
public id: Snowflake;
|
||||
public guildId: Snowflake;
|
||||
public channelId: Snowflake | null;
|
||||
public creatorId: Snowflake | null;
|
||||
public name: string;
|
||||
public description: string | null;
|
||||
public scheduledStartTimestamp: number | null;
|
||||
public scheduledEndTimestamp: number | null;
|
||||
public privacyLevel: GuildScheduledEventPrivacyLevel;
|
||||
public status: S;
|
||||
public entityType: GuildScheduledEventEntityType;
|
||||
public entityId: Snowflake | null;
|
||||
public entityMetadata: GuildScheduledEventEntityMetadata;
|
||||
public userCount: number | null;
|
||||
public creator: User | null;
|
||||
public readonly createdTimestamp: number;
|
||||
public readonly createdAt: Date;
|
||||
public readonly scheduledStartAt: Date;
|
||||
public readonly scheduledEndAt: Date | null;
|
||||
public readonly channel: VoiceChannel | StageChannel | null;
|
||||
public readonly guild: Guild | null;
|
||||
public readonly url: string;
|
||||
public createInviteURL(options?: CreateGuildScheduledEventInviteURLOptions): Promise<string>;
|
||||
public edit<T extends GuildScheduledEventSetStatusArg<S>>(
|
||||
options: GuildScheduledEventEditOptions<S, T>,
|
||||
): Promise<GuildScheduledEvent<T>>;
|
||||
public delete(): Promise<GuildScheduledEvent<S>>;
|
||||
public setName(name: string, reason?: string): Promise<GuildScheduledEvent<S>>;
|
||||
public setScheduledStartTime(scheduledStartTime: DateResolvable, reason?: string): Promise<GuildScheduledEvent<S>>;
|
||||
public setScheduledEndTime(scheduledEndTime: DateResolvable, reason?: string): Promise<GuildScheduledEvent<S>>;
|
||||
public setDescription(description: string, reason?: string): Promise<GuildScheduledEvent<S>>;
|
||||
public setStatus<T extends GuildScheduledEventSetStatusArg<S>>(
|
||||
status: T,
|
||||
reason?: string,
|
||||
): Promise<GuildScheduledEvent<T>>;
|
||||
public setLocation(location: string, reason?: string): Promise<GuildScheduledEvent<S>>;
|
||||
public fetchSubscribers<T extends FetchGuildScheduledEventSubscribersOptions>(
|
||||
options?: T,
|
||||
): Promise<GuildScheduledEventManagerFetchSubscribersResult<T>>;
|
||||
public toString(): string;
|
||||
public isActive(): this is GuildScheduledEvent<'ACTIVE'>;
|
||||
public isCanceled(): this is GuildScheduledEvent<'CANCELED'>;
|
||||
public isCompleted(): this is GuildScheduledEvent<'COMPLETED'>;
|
||||
public isScheduled(): this is GuildScheduledEvent<'SCHEDULED'>;
|
||||
}
|
||||
|
||||
export class GuildTemplate extends Base {
|
||||
private constructor(client: Client, data: RawGuildTemplateData);
|
||||
public readonly createdTimestamp: number;
|
||||
@@ -1352,6 +1405,7 @@ export class Invite extends Base {
|
||||
public toString(): string;
|
||||
public static INVITES_PATTERN: RegExp;
|
||||
public stageInstance: InviteStageInstance | null;
|
||||
public guildScheduledEvent: GuildScheduledEvent | null;
|
||||
}
|
||||
|
||||
export class InviteStageInstance extends Base {
|
||||
@@ -2670,7 +2724,8 @@ export const Constants: {
|
||||
UserAgent: string;
|
||||
Endpoints: {
|
||||
botGateway: string;
|
||||
invite: (root: string, code: string) => string;
|
||||
invite: (root: string, code: string, eventId?: Snowflake) => string;
|
||||
scheduledEvent: (root: string, guildId: Snowflake, eventId: Snowflake) => string;
|
||||
CDN: (root: string) => {
|
||||
Emoji: (emojiId: Snowflake, format: DynamicImageFormat) => string;
|
||||
Asset: (name: string) => string;
|
||||
@@ -2774,6 +2829,9 @@ export const Constants: {
|
||||
WebhookTypes: EnumHolder<typeof WebhookTypes>;
|
||||
PremiumTiers: EnumHolder<typeof PremiumTiers>;
|
||||
ApplicationCommandTypes: EnumHolder<typeof ApplicationCommandTypes>;
|
||||
GuildScheduledEventEntityTypes: EnumHolder<typeof GuildScheduledEventEntityTypes>;
|
||||
GuildScheduledEventStatuses: EnumHolder<typeof GuildScheduledEventStatuses>;
|
||||
GuildScheduledEventPrivacyLevels: EnumHolder<typeof GuildScheduledEventPrivacyLevels>;
|
||||
};
|
||||
|
||||
export const version: string;
|
||||
@@ -3021,6 +3079,29 @@ export class GuildInviteManager extends DataManager<string, Invite, InviteResolv
|
||||
public delete(invite: InviteResolvable, reason?: string): Promise<Invite>;
|
||||
}
|
||||
|
||||
export class GuildScheduledEventManager extends CachedManager<
|
||||
Snowflake,
|
||||
GuildScheduledEvent,
|
||||
GuildScheduledEventResolvable
|
||||
> {
|
||||
private constructor(guild: Guild, iterable?: Iterable<RawGuildScheduledEventData>);
|
||||
public guild: Guild;
|
||||
public create(options: GuildScheduledEventCreateOptions): Promise<GuildScheduledEvent>;
|
||||
public fetch(): Promise<Collection<Snowflake, GuildScheduledEvent>>;
|
||||
public fetch<
|
||||
T extends GuildScheduledEventResolvable | FetchGuildScheduledEventOptions | FetchGuildScheduledEventsOptions,
|
||||
>(options?: T): Promise<GuildScheduledEventManagerFetchResult<T>>;
|
||||
public edit<S extends GuildScheduledEventStatus, T extends GuildScheduledEventSetStatusArg<S>>(
|
||||
guildScheduledEvent: GuildScheduledEventResolvable,
|
||||
options: GuildScheduledEventEditOptions<S, T>,
|
||||
): Promise<GuildScheduledEvent<T>>;
|
||||
public delete(guildScheduledEvent: GuildScheduledEventResolvable): Promise<void>;
|
||||
public fetchSubscribers<T extends FetchGuildScheduledEventSubscribersOptions>(
|
||||
guildScheduledEvent: GuildScheduledEventResolvable,
|
||||
options?: T,
|
||||
): Promise<GuildScheduledEventManagerFetchSubscribersResult<T>>;
|
||||
}
|
||||
|
||||
export class GuildStickerManager extends CachedManager<Snowflake, Sticker, StickerResolvable> {
|
||||
private constructor(guild: Guild, iterable?: Iterable<RawStickerData>);
|
||||
public guild: Guild;
|
||||
@@ -3366,6 +3447,7 @@ export interface APIErrors {
|
||||
MAXIMUM_THREAD_PARICIPANTS: 30033;
|
||||
MAXIMUM_NON_GUILD_MEMBERS_BANS: 30035;
|
||||
MAXIMUM_BAN_FETCHES: 30037;
|
||||
MAXIMUM_NUMBER_OF_UNCOMPLETED_GUILD_SCHEDULED_EVENTS_REACHED: 30038;
|
||||
MAXIMUM_NUMBER_OF_STICKERS_REACHED: 30039;
|
||||
MAXIMUM_PRUNE_REQUESTS: 30040;
|
||||
MAXIMUM_GUILD_WIDGET_SETTINGS_UPDATE: 30042;
|
||||
@@ -3437,6 +3519,8 @@ export interface APIErrors {
|
||||
LOTTIE_ANIMATION_MAXIMUM_DIMENSIONS_EXCEEDED: 170005;
|
||||
STICKER_FRAME_RATE_IS_TOO_SMALL_OR_TOO_LARGE: 170006;
|
||||
STICKER_ANIMATION_DURATION_EXCEEDS_MAXIMUM_OF_5_SECONDS: 170007;
|
||||
CANNOT_UPDATE_A_FINISHED_EVENT: 180000;
|
||||
FAILED_TO_CREATE_STAGE_NEEDED_FOR_STAGE_EVENT: 180002;
|
||||
}
|
||||
|
||||
export interface APIRequest {
|
||||
@@ -3700,6 +3784,7 @@ export interface Caches {
|
||||
GuildMemberManager: [manager: typeof GuildMemberManager, holds: typeof GuildMember];
|
||||
GuildBanManager: [manager: typeof GuildBanManager, holds: typeof GuildBan];
|
||||
GuildInviteManager: [manager: typeof GuildInviteManager, holds: typeof Invite];
|
||||
GuildScheduledEventManager: [manager: typeof GuildScheduledEventManager, holds: typeof GuildScheduledEvent];
|
||||
GuildStickerManager: [manager: typeof GuildStickerManager, holds: typeof Sticker];
|
||||
MessageManager: [manager: typeof MessageManager, holds: typeof Message];
|
||||
// TODO: PermissionOverwriteManager: [manager: typeof PermissionOverwriteManager, holds: typeof PermissionOverwrites];
|
||||
@@ -3891,6 +3976,15 @@ export interface ClientEvents extends BaseClientEvents {
|
||||
stickerCreate: [sticker: Sticker];
|
||||
stickerDelete: [sticker: Sticker];
|
||||
stickerUpdate: [oldSticker: Sticker, newSticker: Sticker];
|
||||
guildScheduledEventCreate: [guildScheduledEvent: GuildScheduledEvent];
|
||||
guildScheduledEventUpdate: [oldGuildScheduledEvent: GuildScheduledEvent, newGuildScheduledEvent: GuildScheduledEvent];
|
||||
guildScheduledEventDelete: [guildScheduledEvent: GuildScheduledEvent];
|
||||
guildScheduledEventUserAdd: [guildScheduledEvent: GuildScheduledEvent, user: User];
|
||||
guildScheduledEventUserRemove: [guildScheduledEvent: GuildScheduledEvent, user: User];
|
||||
}
|
||||
|
||||
export interface ClientFetchInviteOptions {
|
||||
guildScheduledEventId?: Snowflake;
|
||||
}
|
||||
|
||||
export interface ClientOptions {
|
||||
@@ -4124,6 +4218,11 @@ export interface ConstantsEvents {
|
||||
GUILD_STICKER_CREATE: 'stickerCreate';
|
||||
GUILD_STICKER_DELETE: 'stickerDelete';
|
||||
GUILD_STICKER_UPDATE: 'stickerUpdate';
|
||||
GUILD_SCHEDULED_EVENT_CREATE: 'guildScheduledEventCreate';
|
||||
GUILD_SCHEDULED_EVENT_UPDATE: 'guildScheduledEventUpdate';
|
||||
GUILD_SCHEDULED_EVENT_DELETE: 'guildScheduledEventDelete';
|
||||
GUILD_SCHEDULED_EVENT_USER_ADD: 'guildScheduledEventUserAdd';
|
||||
GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove';
|
||||
}
|
||||
|
||||
export interface ConstantsOpcodes {
|
||||
@@ -4158,6 +4257,10 @@ export interface ConstantsStatus {
|
||||
DISCONNECTED: 5;
|
||||
}
|
||||
|
||||
export interface CreateGuildScheduledEventInviteURLOptions extends CreateInviteOptions {
|
||||
channel?: GuildInvitableChannelResolvable;
|
||||
}
|
||||
|
||||
export interface CreateRoleOptions extends RoleData {
|
||||
reason?: string;
|
||||
}
|
||||
@@ -4276,6 +4379,21 @@ export interface FetchGuildsOptions {
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
export interface FetchGuildScheduledEventOptions extends BaseFetchOptions {
|
||||
guildScheduledEvent: GuildScheduledEventResolvable;
|
||||
withUserCount?: boolean;
|
||||
}
|
||||
|
||||
export interface FetchGuildScheduledEventsOptions {
|
||||
cache?: boolean;
|
||||
withUserCount?: boolean;
|
||||
}
|
||||
|
||||
export interface FetchGuildScheduledEventSubscribersOptions {
|
||||
limit?: number;
|
||||
withMember?: boolean;
|
||||
}
|
||||
|
||||
interface FetchInviteOptions extends BaseFetchOptions {
|
||||
code: string;
|
||||
}
|
||||
@@ -4364,6 +4482,9 @@ interface GuildAuditLogsTypes {
|
||||
STICKER_CREATE: ['STICKER', 'CREATE'];
|
||||
STICKER_UPDATE: ['STICKER', 'UPDATE'];
|
||||
STICKER_DELETE: ['STICKER', 'DELETE'];
|
||||
GUILD_SCHEDULED_EVENT_CREATE: ['GUILD_SCHEDULED_EVENT', 'CREATE'];
|
||||
GUILD_SCHEDULED_EVENT_UPDATE: ['GUILD_SCHEDULED_EVENT', 'UPDATE'];
|
||||
GUILD_SCHEDULED_EVENT_DELETE: ['GUILD_SCHEDULED_EVENT', 'DELETE'];
|
||||
THREAD_CREATE: ['THREAD', 'CREATE'];
|
||||
THREAD_UPDATE: ['THREAD', 'UPDATE'];
|
||||
THREAD_DELETE: ['THREAD', 'DELETE'];
|
||||
@@ -4411,6 +4532,9 @@ export interface GuildAuditLogsIds {
|
||||
90: 'STICKER_CREATE';
|
||||
91: 'STICKER_UPDATE';
|
||||
92: 'STICKER_DELETE';
|
||||
100: 'GUILD_SCHEDULED_EVENT_CREATE';
|
||||
101: 'GUILD_SCHEDULED_EVENT_UPDATE';
|
||||
102: 'GUILD_SCHEDULED_EVENT_DELETE';
|
||||
110: 'THREAD_CREATE';
|
||||
111: 'THREAD_UPDATE';
|
||||
112: 'THREAD_DELETE';
|
||||
@@ -4461,6 +4585,7 @@ export interface GuildAuditLogsEntryTargetField<TActionType extends GuildAuditLo
|
||||
THREAD: ThreadChannel | { id: Snowflake; [x: string]: unknown };
|
||||
STAGE_INSTANCE: StageInstance;
|
||||
STICKER: Sticker;
|
||||
GUILD_SCHEDULED_EVENT: GuildScheduledEvent;
|
||||
}
|
||||
|
||||
export interface GuildAuditLogsFetchOptions<T extends GuildAuditLogsResolvable> {
|
||||
@@ -4627,6 +4752,66 @@ export interface GuildListMembersOptions {
|
||||
cache?: boolean;
|
||||
}
|
||||
|
||||
// TODO: use conditional types for better TS support
|
||||
export interface GuildScheduledEventCreateOptions {
|
||||
name: string;
|
||||
scheduledStartTime: DateResolvable;
|
||||
scheduledEndTime?: DateResolvable;
|
||||
privacyLevel: GuildScheduledEventPrivacyLevel | number;
|
||||
entityType: GuildScheduledEventEntityType | number;
|
||||
description?: string;
|
||||
channel?: GuildVoiceChannelResolvable;
|
||||
entityMetadata?: GuildScheduledEventEntityMetadataOptions;
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
export interface GuildScheduledEventEditOptions<
|
||||
S extends GuildScheduledEventStatus,
|
||||
T extends GuildScheduledEventSetStatusArg<S>,
|
||||
> extends Omit<Partial<GuildScheduledEventCreateOptions>, 'channel'> {
|
||||
channel?: GuildVoiceChannelResolvable | null;
|
||||
status?: T | number;
|
||||
}
|
||||
|
||||
export interface GuildScheduledEventEntityMetadata {
|
||||
location: string | null;
|
||||
}
|
||||
|
||||
export interface GuildScheduledEventEntityMetadataOptions {
|
||||
location?: string;
|
||||
}
|
||||
|
||||
export type GuildScheduledEventEntityType = keyof typeof GuildScheduledEventEntityTypes;
|
||||
|
||||
export type GuildScheduledEventManagerFetchResult<
|
||||
T extends GuildScheduledEventResolvable | FetchGuildScheduledEventOptions | FetchGuildScheduledEventsOptions,
|
||||
> = T extends GuildScheduledEventResolvable | FetchGuildScheduledEventOptions
|
||||
? GuildScheduledEvent
|
||||
: Collection<Snowflake, GuildScheduledEvent>;
|
||||
|
||||
export type GuildScheduledEventManagerFetchSubscribersResult<T extends FetchGuildScheduledEventSubscribersOptions> =
|
||||
T extends { withMember: true }
|
||||
? Collection<Snowflake, GuildScheduledEventUser<true>>
|
||||
: Collection<Snowflake, GuildScheduledEventUser<false>>;
|
||||
|
||||
export type GuildScheduledEventPrivacyLevel = keyof typeof GuildScheduledEventPrivacyLevels;
|
||||
|
||||
export type GuildScheduledEventResolvable = Snowflake | GuildScheduledEvent;
|
||||
|
||||
export type GuildScheduledEventSetStatusArg<T extends GuildScheduledEventStatus> = T extends 'SCHEDULED'
|
||||
? 'ACTIVE' | 'CANCELED'
|
||||
: T extends 'ACTIVE'
|
||||
? 'COMPLETED'
|
||||
: never;
|
||||
|
||||
export type GuildScheduledEventStatus = keyof typeof GuildScheduledEventStatuses;
|
||||
|
||||
export interface GuildScheduledEventUser<T> {
|
||||
guildScheduledEventId: Snowflake;
|
||||
user: User;
|
||||
member: T extends true ? GuildMember : null;
|
||||
}
|
||||
|
||||
export type GuildTemplateResolvable = string;
|
||||
|
||||
export type GuildVoiceChannelResolvable = VoiceBasedChannel | Snowflake;
|
||||
@@ -4653,6 +4838,7 @@ export interface HTTPOptions {
|
||||
invite?: string;
|
||||
template?: string;
|
||||
headers?: Record<string, string>;
|
||||
scheduledEvent?: string;
|
||||
}
|
||||
|
||||
export interface ImageURLOptions extends Omit<StaticImageURLOptions, 'format'> {
|
||||
@@ -4714,7 +4900,8 @@ export type IntentsString =
|
||||
| 'GUILD_MESSAGE_TYPING'
|
||||
| 'DIRECT_MESSAGES'
|
||||
| 'DIRECT_MESSAGE_REACTIONS'
|
||||
| 'DIRECT_MESSAGE_TYPING';
|
||||
| 'DIRECT_MESSAGE_TYPING'
|
||||
| 'GUILD_SCHEDULED_EVENTS';
|
||||
|
||||
export interface InviteGenerationOptions {
|
||||
permissions?: PermissionResolvable;
|
||||
@@ -5087,7 +5274,8 @@ export type PermissionString =
|
||||
| 'USE_EXTERNAL_STICKERS'
|
||||
| 'SEND_MESSAGES_IN_THREADS'
|
||||
| 'START_EMBEDDED_ACTIVITIES'
|
||||
| 'MODERATE_MEMBERS';
|
||||
| 'MODERATE_MEMBERS'
|
||||
| 'MANAGE_EVENTS';
|
||||
|
||||
export type RecursiveArray<T> = ReadonlyArray<T | RecursiveArray<T>>;
|
||||
|
||||
@@ -5168,7 +5356,7 @@ export interface PartialRoleData extends RoleData {
|
||||
id?: Snowflake | number;
|
||||
}
|
||||
|
||||
export type PartialTypes = 'USER' | 'CHANNEL' | 'GUILD_MEMBER' | 'MESSAGE' | 'REACTION';
|
||||
export type PartialTypes = 'USER' | 'CHANNEL' | 'GUILD_MEMBER' | 'MESSAGE' | 'REACTION' | 'GUILD_SCHEDULED_EVENT';
|
||||
|
||||
export interface PartialUser extends Partialize<User, 'username' | 'tag' | 'discriminator'> {}
|
||||
|
||||
|
||||
3
typings/rawDataTypes.d.ts
vendored
3
typings/rawDataTypes.d.ts
vendored
@@ -75,6 +75,7 @@ import {
|
||||
RESTPostAPIInteractionFollowupJSONBody,
|
||||
RESTPostAPIWebhookWithTokenJSONBody,
|
||||
Snowflake,
|
||||
APIGuildScheduledEvent,
|
||||
} from 'discord-api-types/v9';
|
||||
import { GuildChannel, Guild, PermissionOverwrites } from '.';
|
||||
|
||||
@@ -128,6 +129,8 @@ export type RawThreadMemberData = APIThreadMember;
|
||||
|
||||
export type RawGuildPreviewData = APIGuildPreview;
|
||||
|
||||
export type RawGuildScheduledEventData = APIGuildScheduledEvent;
|
||||
|
||||
export type RawGuildTemplateData = APITemplate;
|
||||
|
||||
export type RawIntegrationData = APIGuildIntegration;
|
||||
|
||||
Reference in New Issue
Block a user