Chameleon
    Preparing search index...

    Class Client<TIntents>

    Type Parameters

    Index

    Constructors

    Properties

    token: string | undefined
    intents: number
    gateways: Map<number, ChameleonGateway> = ...
    totalShards: number = 1
    user: User | null = null
    debug: boolean
    commands: CommandManager
    components: ComponentManager
    guilds: GuildManager
    channels: ChannelManager
    messages: MessageManager
    collectors: CollectorManager

    Methods

    • register an event listener with full type-safety via discriminated unions

      Type Parameters

      • K extends
            | "GUILD_UPDATE"
            | "CHANNEL_CREATE"
            | "CHANNEL_UPDATE"
            | "CHANNEL_DELETE"
            | "INVITE_CREATE"
            | "INVITE_DELETE"
            | "MESSAGE_DELETE"
            | "INTEGRATION_CREATE"
            | "INTEGRATION_UPDATE"
            | "INTEGRATION_DELETE"
            | "STAGE_INSTANCE_CREATE"
            | "STAGE_INSTANCE_UPDATE"
            | "STAGE_INSTANCE_DELETE"
            | "GUILD_SCHEDULED_EVENT_CREATE"
            | "GUILD_SCHEDULED_EVENT_UPDATE"
            | "GUILD_SCHEDULED_EVENT_DELETE"
            | "THREAD_CREATE"
            | "THREAD_UPDATE"
            | "THREAD_DELETE"
            | "AUTO_MODERATION_RULE_CREATE"
            | "AUTO_MODERATION_RULE_UPDATE"
            | "AUTO_MODERATION_RULE_DELETE"
            | "READY"
            | "RESUMED"
            | "GUILD_CREATE"
            | "GUILD_AVAILABLE"
            | "GUILD_UNAVAILABLE"
            | "GUILD_DELETE"
            | "CHANNEL_PINS_UPDATE"
            | "THREAD_LIST_SYNC"
            | "GUILD_MEMBER_ADD"
            | "GUILD_MEMBER_UPDATE"
            | "GUILD_MEMBER_REMOVE"
            | "GUILD_MEMBERS_CHUNK"
            | "GUILD_ROLE_CREATE"
            | "GUILD_ROLE_UPDATE"
            | "GUILD_ROLE_DELETE"
            | "GUILD_BAN_ADD"
            | "GUILD_BAN_REMOVE"
            | "GUILD_EMOJIS_UPDATE"
            | "GUILD_STICKERS_UPDATE"
            | "MESSAGE_CREATE"
            | "MESSAGE_UPDATE"
            | "MESSAGE_DELETE_BULK"
            | "MESSAGE_REACTION_ADD"
            | "MESSAGE_REACTION_REMOVE"
            | "MESSAGE_REACTION_REMOVE_ALL"
            | "MESSAGE_REACTION_REMOVE_EMOJI"
            | "INTERACTION_CREATE"
            | "VOICE_STATE_UPDATE"
            | "VOICE_SERVER_UPDATE"
            | "GUILD_SOUNDBOARD_SOUND_CREATE"
            | "GUILD_SOUNDBOARD_SOUND_UPDATE"
            | "GUILD_SOUNDBOARD_SOUND_DELETE"
            | "GUILD_SOUNDBOARD_SOUNDS_UPDATE"
            | "SUBSCRIPTION_CREATE"
            | "SUBSCRIPTION_UPDATE"
            | "SUBSCRIPTION_DELETE"
            | "VOICE_CHANNEL_EFFECT_SEND"
            | "GUILD_AUDIT_LOG_ENTRY_CREATE"
            | "THREAD_MEMBERS_UPDATE"
            | "THREAD_MEMBER_UPDATE"
            | "APPLICATION_COMMAND_PERMISSIONS_UPDATE"
            | "GUILD_SCHEDULED_EVENT_USER_ADD"
            | "GUILD_SCHEDULED_EVENT_USER_REMOVE"
            | "AUTO_MODERATION_ACTION_EXECUTION"
            | "GUILD_INTEGRATIONS_UPDATE"
            | "ENTITLEMENT_CREATE"
            | "ENTITLEMENT_UPDATE"
            | "ENTITLEMENT_DELETE"
            | "PRESENCE_UPDATE"
            | "TYPING_START"
            | "USER_UPDATE"
            | "WEBHOOKS_UPDATE"
            | "MESSAGE_POLL_VOTE_ADD"
            | "MESSAGE_POLL_VOTE_REMOVE"

      Parameters

      • event: K
      • listener: (data: EventMap[K]) => void

      Returns this

    • remove an event listener

      Type Parameters

      • K extends
            | "GUILD_UPDATE"
            | "CHANNEL_CREATE"
            | "CHANNEL_UPDATE"
            | "CHANNEL_DELETE"
            | "INVITE_CREATE"
            | "INVITE_DELETE"
            | "MESSAGE_DELETE"
            | "INTEGRATION_CREATE"
            | "INTEGRATION_UPDATE"
            | "INTEGRATION_DELETE"
            | "STAGE_INSTANCE_CREATE"
            | "STAGE_INSTANCE_UPDATE"
            | "STAGE_INSTANCE_DELETE"
            | "GUILD_SCHEDULED_EVENT_CREATE"
            | "GUILD_SCHEDULED_EVENT_UPDATE"
            | "GUILD_SCHEDULED_EVENT_DELETE"
            | "THREAD_CREATE"
            | "THREAD_UPDATE"
            | "THREAD_DELETE"
            | "AUTO_MODERATION_RULE_CREATE"
            | "AUTO_MODERATION_RULE_UPDATE"
            | "AUTO_MODERATION_RULE_DELETE"
            | "READY"
            | "RESUMED"
            | "GUILD_CREATE"
            | "GUILD_AVAILABLE"
            | "GUILD_UNAVAILABLE"
            | "GUILD_DELETE"
            | "CHANNEL_PINS_UPDATE"
            | "THREAD_LIST_SYNC"
            | "GUILD_MEMBER_ADD"
            | "GUILD_MEMBER_UPDATE"
            | "GUILD_MEMBER_REMOVE"
            | "GUILD_MEMBERS_CHUNK"
            | "GUILD_ROLE_CREATE"
            | "GUILD_ROLE_UPDATE"
            | "GUILD_ROLE_DELETE"
            | "GUILD_BAN_ADD"
            | "GUILD_BAN_REMOVE"
            | "GUILD_EMOJIS_UPDATE"
            | "GUILD_STICKERS_UPDATE"
            | "MESSAGE_CREATE"
            | "MESSAGE_UPDATE"
            | "MESSAGE_DELETE_BULK"
            | "MESSAGE_REACTION_ADD"
            | "MESSAGE_REACTION_REMOVE"
            | "MESSAGE_REACTION_REMOVE_ALL"
            | "MESSAGE_REACTION_REMOVE_EMOJI"
            | "INTERACTION_CREATE"
            | "VOICE_STATE_UPDATE"
            | "VOICE_SERVER_UPDATE"
            | "GUILD_SOUNDBOARD_SOUND_CREATE"
            | "GUILD_SOUNDBOARD_SOUND_UPDATE"
            | "GUILD_SOUNDBOARD_SOUND_DELETE"
            | "GUILD_SOUNDBOARD_SOUNDS_UPDATE"
            | "SUBSCRIPTION_CREATE"
            | "SUBSCRIPTION_UPDATE"
            | "SUBSCRIPTION_DELETE"
            | "VOICE_CHANNEL_EFFECT_SEND"
            | "GUILD_AUDIT_LOG_ENTRY_CREATE"
            | "THREAD_MEMBERS_UPDATE"
            | "THREAD_MEMBER_UPDATE"
            | "APPLICATION_COMMAND_PERMISSIONS_UPDATE"
            | "GUILD_SCHEDULED_EVENT_USER_ADD"
            | "GUILD_SCHEDULED_EVENT_USER_REMOVE"
            | "AUTO_MODERATION_ACTION_EXECUTION"
            | "GUILD_INTEGRATIONS_UPDATE"
            | "ENTITLEMENT_CREATE"
            | "ENTITLEMENT_UPDATE"
            | "ENTITLEMENT_DELETE"
            | "PRESENCE_UPDATE"
            | "TYPING_START"
            | "USER_UPDATE"
            | "WEBHOOKS_UPDATE"
            | "MESSAGE_POLL_VOTE_ADD"
            | "MESSAGE_POLL_VOTE_REMOVE"

      Parameters

      • event: K
      • listener: (data: EventMap[K]) => void

      Returns this

    • Parameters

      • guildId: string

      Returns number

    • request offline/large guild members from the Gateway. This is used to lazy-load members into the cache or search for specific members

      Parameters

      • options: {
            guildId: string | string[];
            query?: string;
            limit: number;
            presences?: boolean;
            userIds?: string | string[];
            nonce?: string;
        }

      Returns void

    • Update presence/status across all shards

      Parameters

      • options: {
            status?: "idle" | "online" | "dnd" | "invisible" | "offline";
            activities?: { name: string; type: number; url?: string; state?: string }[];
            afk?: boolean;
            since?: number | null;
        }

      Returns void