igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Variable DirectStickerTabTrayScreenConst

    DirectStickerTabTrayScreen: ScreenDefinition<
        "DirectStickerTabTray",
        "screen",
        {
            send_attribution?: | "inbox"
            | "inbox_new_message"
            | "message_button"
            | "direct_thread_creation_omnipicker";
            thread_id: string;
        },
        {
            send_attribution?: | "inbox"
            | "inbox_new_message"
            | "message_button"
            | "direct_thread_creation_omnipicker";
            stickers: readonly { alt_text?: string; sticker_id: string }[];
            thread_id: string;
        },
        {
            send_attribution?: | "inbox"
            | "inbox_new_message"
            | "message_button"
            | "direct_thread_creation_omnipicker";
            stickers: readonly { alt_text?: string; sticker_id: string }[];
            thread_id: string;
        },
        IgApiError
        | RequestError
        | ParseError
        | TransportError,
        GraphqlJsonHttp | MobileApplication | MobileNavigation,
        {
            openGifTab: (
                self: ScreenHandle,
                state: {
                    send_attribution?:
                        | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                    stickers: readonly { alt_text?: string; sticker_id: string }[];
                    thread_id: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectGifTray",
                        "screen",
                        {
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                        },
                        { gifs: readonly { gif_id: string; preview_url?: string }[] },
                        {
                            send_attribution?:
                                | "inbox"
                                | "inbox_new_message"
                                | "message_button"
                                | "direct_thread_creation_omnipicker";
                            thread_id: string;
                        },
                        IgApiError
                        | RequestError
                        | ParseError
                        | TransportError,
                        PlainJsonApiHttp | MobileNavigation,
                        {},
                        {
                            gifs: {
                                at: "gifs";
                                item: ScreenItemDefinition<
                                    "DirectGifTrayItem",
                                    { gif_id: string; preview_url?: (...)
                                    | (...) },
                                    { gif_id: string; preview_url?: (...) | (...) },
                                    DirectGifRowState,
                                    never,
                                    never,
                                    { send: (self: ..., state: ...) => ... },
                                    {
                                        send_attribution?: (...) | (...) | (...) | (...) | (...);
                                        thread_id: string;
                                    },
                                    never,
                                >;
                                key: "gif_id";
                                source: ScreenItemNodes;
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectGifTray",
                        "screen",
                        { gifs: readonly { gif_id: string; preview_url?: (...)
                        | (...) }[] },
                        {},
                        {
                            gifs: {
                                at: "gifs";
                                item: ScreenItemDefinition<
                                    "DirectGifTrayItem",
                                    { gif_id: ...; preview_url?: ... },
                                    { gif_id: ...; preview_url?: ... },
                                    DirectGifRowState,
                                    never,
                                    never,
                                    { send: ... },
                                    { send_attribution?: ...; thread_id: ... },
                                    never,
                                >;
                                key: "gif_id";
                                source: ScreenItemNodes;
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    PlainJsonApiHttp
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
            openStickerTab: (
                self: ScreenHandle,
                state: {
                    send_attribution?:
                        | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                    stickers: readonly { alt_text?: string; sticker_id: string }[];
                    thread_id: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectStickerPickerGrid",
                        "screen",
                        {
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            stickers: readonly { alt_text?: string; sticker_id: string }[];
                            thread_id: string;
                        },
                        {
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            stickers: readonly { alt_text?: string; sticker_id: string }[];
                            thread_id: string;
                        },
                        {
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                        },
                        never,
                        MobileNavigation,
                        {},
                        {
                            stickers: {
                                at: "stickers";
                                item: ScreenItemDefinition<
                                    "DirectStickerPickerGridItem",
                                    { alt_text?: (...)
                                    | (...); sticker_id: string },
                                    { alt_text?: (...) | (...); sticker_id: string },
                                    DirectStickerRowState,
                                    never,
                                    never,
                                    { send: (self: ..., state: ...) => ... },
                                    {
                                        send_attribution?: (...) | (...) | (...) | (...) | (...);
                                        thread_id: string;
                                    },
                                    never,
                                >;
                                key: "sticker_id";
                                source: ScreenNoItemNodes;
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectStickerPickerGrid",
                        "screen",
                        {
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            stickers: readonly { alt_text?: (...)
                            | (...); sticker_id: string }[];
                            thread_id: string;
                        },
                        {},
                        {
                            stickers: {
                                at: "stickers";
                                item: ScreenItemDefinition<
                                    "DirectStickerPickerGridItem",
                                    { alt_text?: ...; sticker_id: ... },
                                    { alt_text?: ...; sticker_id: ... },
                                    DirectStickerRowState,
                                    never,
                                    never,
                                    { send: ... },
                                    { send_attribution?: ...; thread_id: ... },
                                    never,
                                >;
                                key: "sticker_id";
                                source: ScreenNoItemNodes;
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    MobileNavigation | ScreenStack | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    > = ...

    DirectStickerTabFragment:direct_sticker_tab_tray_fragment, the composer's sticker tray: the sticker, emoji and GIF tabs under the conversation.

    Opening it sends the two IGStickerConsolidatedQuery batches together — the recent, cutout, favourite and third-party stickers, and the first-party packs at the grid's icon and full sizes — after the tray comes in front; the tray's own entry is in the chain of each request it sends. The first-party batch is decoded into the grid's rows (DirectStickerPickerGridScreen); the tray's other sections are drawn, not modelled.

    Actions: openGifTab() shows the GIF tab (DirectGifTrayScreen); openStickerTab() the sticker grid (DirectStickerPickerGridScreen, the sheet the tray opens under the conversation), handing it the rows the tray's answer named.

    How it is reached: DirectThreadScreen.openStickerTray() (the composer's "+": the conversation's own entry, the ordinal it hands to a screen no request names, and the "+" menu itself).

    Guide: The sticker tray