Popii - v0.5.1
    Preparing search index...

    Interface PopiiComponentDefinition<TState, TInput, TLocals>

    The full definition of a Popii persistent component handler (Snap).

    You don't usually interact with this interface directly — use the snap builder function, which infers all types for you.

    interface PopiiComponentDefinition<
        TState = any,
        TInput = any,
        TLocals = PopiiLocals & Record<string, any>,
    > {
        customId: string | RegExp;
        prefix?: string;
        guildOnly?: boolean;
        ownerOnly?: boolean;
        premium?: boolean;
        ephemeral?: boolean;
        permissions?: (
            | bigint
            | "CreateInstantInvite"
            | "KickMembers"
            | "BanMembers"
            | "Administrator"
            | "ManageChannels"
            | "ManageGuild"
            | "AddReactions"
            | "ViewAuditLog"
            | "PrioritySpeaker"
            | "Stream"
            | "ViewChannel"
            | "SendMessages"
            | "SendTTSMessages"
            | "ManageMessages"
            | "EmbedLinks"
            | "AttachFiles"
            | "ReadMessageHistory"
            | "MentionEveryone"
            | "UseExternalEmojis"
            | "ViewGuildInsights"
            | "Connect"
            | "Speak"
            | "MuteMembers"
            | "DeafenMembers"
            | "MoveMembers"
            | "UseVAD"
            | "ChangeNickname"
            | "ManageNicknames"
            | "ManageRoles"
            | "ManageWebhooks"
            | "ManageEmojisAndStickers"
            | "ManageGuildExpressions"
            | "UseApplicationCommands"
            | "RequestToSpeak"
            | "ManageEvents"
            | "ManageThreads"
            | "CreatePublicThreads"
            | "CreatePrivateThreads"
            | "UseExternalStickers"
            | "SendMessagesInThreads"
            | "UseEmbeddedActivities"
            | "ModerateMembers"
            | "ViewCreatorMonetizationAnalytics"
            | "UseSoundboard"
            | "CreateGuildExpressions"
            | "CreateEvents"
            | "UseExternalSounds"
            | "SendVoiceMessages"
            | "SendPolls"
            | "UseExternalApps"
            | "PinMessages"
            | "BypassSlowmode"
        )[];
        allowedRoles?: string[];
        deniedRoles?: string[];
        allowedChannels?: string[];
        mutex?: boolean;
        cooldown?: | number
        | { ms: number; uses?: number; scope?: "user"
        | "guild"
        | "global" };
        quota?: {
            limit: number;
            timeframe: number;
            scope?: "user" | "guild" | "global";
        };
        expiresIn?: number;
        middlewares?: ComponentMiddleware<TState, TInput, TLocals>[];
        schema?: PopiiSchema<TInput>;
        do(pop: ComponentPop<TState, TInput, TLocals>): void | Promise<void>;
    }

    Type Parameters

    • TState = any
    • TInput = any
    • TLocals = PopiiLocals & Record<string, any>
    Index

    Methods

    Properties

    customId: string | RegExp
    prefix?: string
    guildOnly?: boolean
    ownerOnly?: boolean
    premium?: boolean
    ephemeral?: boolean
    permissions?: (
        | bigint
        | "CreateInstantInvite"
        | "KickMembers"
        | "BanMembers"
        | "Administrator"
        | "ManageChannels"
        | "ManageGuild"
        | "AddReactions"
        | "ViewAuditLog"
        | "PrioritySpeaker"
        | "Stream"
        | "ViewChannel"
        | "SendMessages"
        | "SendTTSMessages"
        | "ManageMessages"
        | "EmbedLinks"
        | "AttachFiles"
        | "ReadMessageHistory"
        | "MentionEveryone"
        | "UseExternalEmojis"
        | "ViewGuildInsights"
        | "Connect"
        | "Speak"
        | "MuteMembers"
        | "DeafenMembers"
        | "MoveMembers"
        | "UseVAD"
        | "ChangeNickname"
        | "ManageNicknames"
        | "ManageRoles"
        | "ManageWebhooks"
        | "ManageEmojisAndStickers"
        | "ManageGuildExpressions"
        | "UseApplicationCommands"
        | "RequestToSpeak"
        | "ManageEvents"
        | "ManageThreads"
        | "CreatePublicThreads"
        | "CreatePrivateThreads"
        | "UseExternalStickers"
        | "SendMessagesInThreads"
        | "UseEmbeddedActivities"
        | "ModerateMembers"
        | "ViewCreatorMonetizationAnalytics"
        | "UseSoundboard"
        | "CreateGuildExpressions"
        | "CreateEvents"
        | "UseExternalSounds"
        | "SendVoiceMessages"
        | "SendPolls"
        | "UseExternalApps"
        | "PinMessages"
        | "BypassSlowmode"
    )[]
    allowedRoles?: string[]
    deniedRoles?: string[]
    allowedChannels?: string[]
    mutex?: boolean
    cooldown?:
        | number
        | { ms: number; uses?: number; scope?: "user"
        | "guild"
        | "global" }
    quota?: {
        limit: number;
        timeframe: number;
        scope?: "user" | "guild" | "global";
    }
    expiresIn?: number