Chameleon
    Preparing search index...

    Type Alias ChameleonEvent

    ChameleonEvent:
        | { type: "READY" }
        | { type: "RESUMED" }
        | { type: "GUILD_CREATE"; guild: Guild; partial?: boolean }
        | {
            type: "GUILD_AVAILABLE";
            guild: Guild;
            reason: "hydration" | "outage";
            partial?: boolean;
        }
        | { type: "GUILD_UNAVAILABLE"; guildId: string }
        | { type: "GUILD_UPDATE"; oldGuild?: Guild; guild: Guild }
        | { type: "GUILD_DELETE"; guildId: string }
        | { type: "CHANNEL_CREATE"; channel: Channel; guild?: PartialGuild }
        | {
            type: "CHANNEL_UPDATE";
            oldChannel?: Channel;
            channel: Channel;
            guild?: PartialGuild;
        }
        | { type: "CHANNEL_DELETE"; channelId: string; guild?: PartialGuild }
        | {
            type: "CHANNEL_PINS_UPDATE";
            channelId: string;
            guildId?: string;
            lastPinTimestamp?: number | null;
        }
        | { type: "THREAD_CREATE"; channel: Channel }
        | { type: "THREAD_UPDATE"; oldChannel?: Channel; channel: Channel }
        | {
            type: "THREAD_DELETE";
            id: string;
            guildId: string;
            parentId: string;
            channelType: number;
        }
        | {
            type: "THREAD_LIST_SYNC";
            guildId: string;
            channelIds?: string[];
            threads: Channel[];
            members: unknown[];
        }
        | { type: "GUILD_MEMBER_ADD"; member: Member; guildId: string }
        | {
            type: "GUILD_MEMBER_UPDATE";
            oldMember?: Member;
            guildId: string;
            user: User;
            roles: string[];
            nick?: string | null;
            joinedAt?: number | null;
        }
        | { type: "GUILD_MEMBER_REMOVE"; user: User; guildId: string }
        | {
            type: "GUILD_MEMBERS_CHUNK";
            guildId: string;
            members: Member[];
            chunkIndex: number;
            chunkCount: number;
            notFound?: string[];
            nonce?: string;
        }
        | { type: "GUILD_ROLE_CREATE"; guildId: string; role: Role }
        | {
            type: "GUILD_ROLE_UPDATE";
            oldRole?: Role;
            guildId: string;
            role: Role;
        }
        | { type: "GUILD_ROLE_DELETE"; guildId: string; roleId: string }
        | { type: "GUILD_BAN_ADD"; guildId: string; user: User }
        | { type: "GUILD_BAN_REMOVE"; guildId: string; user: User }
        | { type: "GUILD_EMOJIS_UPDATE"; guildId: string; emojis: Emoji[] }
        | { type: "GUILD_STICKERS_UPDATE"; guildId: string; stickers: Sticker[] }
        | { type: "MESSAGE_CREATE"; message: Message; channel: PartialChannel }
        | {
            type: "MESSAGE_UPDATE";
            oldMessage?: Message;
            message: Message;
            channel: PartialChannel;
        }
        | {
            type: "MESSAGE_DELETE";
            messageId: string;
            channelId: string;
            guildId?: string;
            message?: Message;
        }
        | {
            type: "MESSAGE_DELETE_BULK";
            messageIds: string[];
            channelId: string;
            guildId?: string;
            messages?: Message[];
        }
        | {
            type: "MESSAGE_REACTION_ADD";
            userId: string;
            channelId: string;
            messageId: string;
            guildId?: string;
            emoji: Partial<Emoji>;
            member?: Member;
        }
        | {
            type: "MESSAGE_REACTION_REMOVE";
            userId: string;
            channelId: string;
            messageId: string;
            guildId?: string;
            emoji: Partial<Emoji>;
        }
        | {
            type: "MESSAGE_REACTION_REMOVE_ALL";
            channelId: string;
            messageId: string;
            guildId?: string;
        }
        | {
            type: "MESSAGE_REACTION_REMOVE_EMOJI";
            channelId: string;
            messageId: string;
            guildId?: string;
            emoji: Partial<Emoji>;
        }
        | { type: "INTERACTION_CREATE"; interaction: Interaction }
        | { type: "VOICE_STATE_UPDATE"; voiceState: Voice }
        | {
            type: "VOICE_SERVER_UPDATE";
            token: string;
            guildId: string;
            endpoint: string | null;
        }
        | { type: "STAGE_INSTANCE_CREATE"; stageInstance: StageInstance }
        | { type: "STAGE_INSTANCE_UPDATE"; stageInstance: StageInstance }
        | { type: "STAGE_INSTANCE_DELETE"; stageInstance: StageInstance }
        | {
            type: "GUILD_SOUNDBOARD_SOUND_CREATE";
            guildId: string;
            sound: SoundboardSound;
        }
        | {
            type: "GUILD_SOUNDBOARD_SOUND_UPDATE";
            guildId: string;
            sound: SoundboardSound;
        }
        | {
            type: "GUILD_SOUNDBOARD_SOUND_DELETE";
            guildId: string;
            soundId: string;
        }
        | {
            type: "GUILD_SOUNDBOARD_SOUNDS_UPDATE";
            guildId: string;
            sounds: SoundboardSound[];
        }
        | { type: "SUBSCRIPTION_CREATE"; subscription: Subscription }
        | { type: "SUBSCRIPTION_UPDATE"; subscription: Subscription }
        | { type: "SUBSCRIPTION_DELETE"; subscription: Subscription }
        | {
            type: "VOICE_CHANNEL_EFFECT_SEND";
            channelId: string;
            guildId: string;
            userId: string;
            emoji?: Partial<Emoji>;
        }
        | {
            type: "GUILD_AUDIT_LOG_ENTRY_CREATE";
            guildId: string;
            entry: AuditLogEntry;
        }
        | {
            type: "THREAD_MEMBERS_UPDATE";
            id: string;
            guildId: string;
            memberCount: number;
            addedMembers?: Partial<Member>[];
            removedMemberIds?: string[];
        }
        | {
            type: "THREAD_MEMBER_UPDATE";
            member: Partial<Member>;
            guildId: string;
        }
        | {
            type: "APPLICATION_COMMAND_PERMISSIONS_UPDATE";
            permissions: {
                applicationId: string;
                guildId: string;
                id: string;
                permissions: string[];
            }[];
        }
        | {
            type: "GUILD_SCHEDULED_EVENT_CREATE";
            scheduledEvent: GuildScheduledEvent;
        }
        | {
            type: "GUILD_SCHEDULED_EVENT_UPDATE";
            scheduledEvent: GuildScheduledEvent;
        }
        | {
            type: "GUILD_SCHEDULED_EVENT_DELETE";
            scheduledEvent: GuildScheduledEvent;
        }
        | {
            type: "GUILD_SCHEDULED_EVENT_USER_ADD";
            guildScheduledEventId: string;
            userId: string;
            guildId: string;
        }
        | {
            type: "GUILD_SCHEDULED_EVENT_USER_REMOVE";
            guildScheduledEventId: string;
            userId: string;
            guildId: string;
        }
        | { type: "AUTO_MODERATION_RULE_CREATE"; rule: AutoModerationRule }
        | { type: "AUTO_MODERATION_RULE_UPDATE"; rule: AutoModerationRule }
        | { type: "AUTO_MODERATION_RULE_DELETE"; rule: AutoModerationRule }
        | {
            type: "AUTO_MODERATION_ACTION_EXECUTION";
            guildId: string;
            action: AutoModerationAction;
            ruleId: string;
            ruleTriggerType: number;
            userId: string;
            channelId?: string;
            messageId?: string;
            content?: string;
            matchedKeyword?: string | null;
            matchedContent?: string | null;
        }
        | {
            type: "INVITE_CREATE";
            channelId: string;
            code: string;
            guildId?: string;
            inviter?: User;
            maxAge: number;
            maxUses: number;
            temporary: boolean;
        }
        | {
            type: "INVITE_DELETE";
            channelId: string;
            code: string;
            guildId?: string;
        }
        | { type: "GUILD_INTEGRATIONS_UPDATE"; guildId: string }
        | { type: "INTEGRATION_CREATE"; guildId: string; integration: Integration }
        | { type: "INTEGRATION_UPDATE"; guildId: string; integration: Integration }
        | {
            type: "INTEGRATION_DELETE";
            id: string;
            guildId: string;
            applicationId?: string;
        }
        | { type: "ENTITLEMENT_CREATE"; entitlement: Entitlement }
        | { type: "ENTITLEMENT_UPDATE"; entitlement: Entitlement }
        | { type: "ENTITLEMENT_DELETE"; entitlement: Entitlement }
        | {
            type: "PRESENCE_UPDATE";
            user: Partial<User> & { id: string };
            guildId: string;
            status: string;
            activities: unknown[];
            clientStatus: unknown;
        }
        | {
            type: "TYPING_START";
            channelId: string;
            guildId?: string;
            userId: string;
            timestamp: number;
            member?: Member;
        }
        | { type: "USER_UPDATE"; oldUser?: User; user: User }
        | { type: "WEBHOOKS_UPDATE"; guildId: string; channelId: string }
        | {
            type: "MESSAGE_POLL_VOTE_ADD";
            userId: string;
            channelId: string;
            messageId: string;
            guildId?: string;
            answerId: number;
        }
        | {
            type: "MESSAGE_POLL_VOTE_REMOVE";
            userId: string;
            channelId: string;
            messageId: string;
            guildId?: string;
            answerId: number;
        }