interface AppConfigSchema {
    about_length_limit_default?: number;
    about_length_limit_premium?: number;
    authorization_autoconfirm_period?: number;
    autoarchive_setting_available?: boolean;
    autologin_domains?: string[];
    background_connection?: boolean;
    boosts_channel_level_max?: number;
    boosts_per_sent_gift?: number;
    caption_length_limit_default?: number;
    caption_length_limit_premium?: number;
    channel_bg_icon_level_min?: number;
    channel_custom_wallpaper_level_min?: number;
    channel_emoji_status_level_min?: number;
    channel_profile_bg_icon_level_min?: number;
    channel_wallpaper_level_min?: number;
    channels_limit_default?: number;
    channels_limit_premium?: number;
    channels_public_limit_default?: number;
    channels_public_limit_premium?: number;
    chat_read_mark_expire_period?: number;
    chat_read_mark_size_threshold?: number;
    chatlist_invites_limit_default?: number;
    chatlist_invites_limit_premium?: number;
    chatlist_update_period?: number;
    chatlists_joined_limit_default?: number;
    chatlists_joined_limit_premium?: number;
    default_emoji_statuses_stickerset_id?: number;
    dialog_filters_chats_limit_default?: number;
    dialog_filters_chats_limit_premium?: number;
    dialog_filters_enabled?: boolean;
    dialog_filters_limit_default?: number;
    dialog_filters_limit_premium?: number;
    dialog_filters_tooltip?: boolean;
    dialogs_folder_pinned_limit_default?: number;
    dialogs_folder_pinned_limit_premium?: number;
    dialogs_pinned_limit_default?: number;
    dialogs_pinned_limit_premium?: number;
    emojies_animated_zoom?: number;
    emojies_send_dice?: string[];
    emojies_send_dice_success?: Record<string, {
        frame_start: number;
        value: number;
    }>;
    emojies_sounds?: Record<string, {
        access_hash: string;
        file_reference_base64: string;
        id: string;
    }>;
    fragment_prefixes?: string[];
    gif_search_branding?: string;
    gif_search_emojies?: string[];
    giveaway_add_peers_max?: number;
    giveaway_boosts_per_premium?: number;
    giveaway_countries_max?: number;
    giveaway_gifts_purchase_available?: boolean;
    giveaway_period_max?: number;
    groupcall_video_participants_max?: number;
    hidden_members_group_size_min?: number;
    keep_alive_service?: boolean;
    large_queue_max_active_operations_count?: number;
    message_animated_emoji_max?: number;
    pending_suggestions?: string[];
    pm_read_date_expire_period?: number;
    premium_bot_username?: string;
    premium_gift_attach_menu_icon?: boolean;
    premium_gift_text_field_icon?: boolean;
    premium_invoice_slug?: string;
    premium_promo_order?: string[];
    premium_purchase_blocked?: boolean;
    qr_login_camera?: boolean;
    qr_login_code?: "disabled" | "primary" | "secondary";
    quote_length_max?: number;
    reactions_in_chat_max?: number;
    reactions_uniq_max?: number;
    reactions_user_max_default?: number;
    reactions_user_max_premium?: number;
    recommended_channels_limit_default?: number;
    recommended_channels_limit_premium?: number;
    ringtone_duration_max?: number;
    ringtone_saved_count_max?: number;
    ringtone_size_max?: number;
    round_video_encoding?: {
        audio_bitrate: number;
        diameter: number;
        max_size: number;
        video_bitrate: number;
    };
    saved_dialogs_pinned_limit_default?: number;
    saved_dialogs_pinned_limit_premium?: number;
    saved_gifs_limit_default?: number;
    saved_gifs_limit_premium?: number;
    small_queue_max_active_operations_count?: number;
    stickers_emoji_cache_time?: number;
    stickers_emoji_suggest_only_api?: boolean;
    stickers_faved_limit_default?: number;
    stickers_faved_limit_premium?: number;
    stickers_normal_by_emoji_per_premium_num?: number;
    stickers_premium_by_emoji_num?: number;
    stories_changelog_user_id?: number;
    stories_entities?: string;
    stories_posting?: string;
    stories_sent_monthly_limit_default?: number;
    stories_sent_monthly_limit_premium?: number;
    stories_sent_weekly_limit_default?: number;
    stories_sent_weekly_limit_premium?: number;
    stories_stealth_cooldown_period?: number;
    stories_stealth_future_period?: number;
    stories_stealth_past_period?: number;
    stories_suggested_reactions_limit_default?: number;
    stories_suggested_reactions_limit_premium?: number;
    stories_venue_search_username?: string;
    story_caption_length_limit_default?: number;
    story_caption_length_limit_premium?: number;
    story_expiring_limit_default?: number;
    story_expiring_limit_premium?: number;
    story_viewers_expire_period?: number;
    telegram_antispam_group_size_min?: number;
    telegram_antispam_user_id?: string;
    topics_pinned_limit?: number;
    transcribe_audio_trial_duration_max?: number;
    transcribe_audio_trial_weekly_number?: number;
    upload_max_fileparts_default?: number;
    upload_max_fileparts_premium?: number;
    url_auth_domains?: string[];
    whitelisted_domains?: string[];
    [key: string]: unknown;
}

Indexable

  • [key: string]: unknown

Properties

about_length_limit_default? about_length_limit_premium? authorization_autoconfirm_period? autoarchive_setting_available? autologin_domains? background_connection? boosts_channel_level_max? boosts_per_sent_gift? caption_length_limit_default? caption_length_limit_premium? channel_bg_icon_level_min? channel_custom_wallpaper_level_min? channel_emoji_status_level_min? channel_profile_bg_icon_level_min? channel_wallpaper_level_min? channels_limit_default? channels_limit_premium? channels_public_limit_default? channels_public_limit_premium? chat_read_mark_expire_period? chat_read_mark_size_threshold? chatlist_invites_limit_default? chatlist_invites_limit_premium? chatlist_update_period? chatlists_joined_limit_default? chatlists_joined_limit_premium? default_emoji_statuses_stickerset_id? dialog_filters_chats_limit_default? dialog_filters_chats_limit_premium? dialog_filters_enabled? dialog_filters_limit_default? dialog_filters_limit_premium? dialog_filters_tooltip? dialogs_folder_pinned_limit_default? dialogs_folder_pinned_limit_premium? dialogs_pinned_limit_default? dialogs_pinned_limit_premium? emojies_animated_zoom? emojies_send_dice? emojies_send_dice_success? emojies_sounds? fragment_prefixes? gif_search_branding? gif_search_emojies? giveaway_add_peers_max? giveaway_boosts_per_premium? giveaway_countries_max? giveaway_gifts_purchase_available? giveaway_period_max? groupcall_video_participants_max? hidden_members_group_size_min? keep_alive_service? large_queue_max_active_operations_count? message_animated_emoji_max? pending_suggestions? pm_read_date_expire_period? premium_bot_username? premium_gift_attach_menu_icon? premium_gift_text_field_icon? premium_invoice_slug? premium_promo_order? premium_purchase_blocked? qr_login_camera? qr_login_code? quote_length_max? reactions_in_chat_max? reactions_uniq_max? reactions_user_max_default? reactions_user_max_premium? recommended_channels_limit_default? recommended_channels_limit_premium? ringtone_duration_max? ringtone_saved_count_max? ringtone_size_max? round_video_encoding? saved_dialogs_pinned_limit_default? saved_dialogs_pinned_limit_premium? saved_gifs_limit_default? saved_gifs_limit_premium? small_queue_max_active_operations_count? stickers_emoji_cache_time? stickers_emoji_suggest_only_api? stickers_faved_limit_default? stickers_faved_limit_premium? stickers_normal_by_emoji_per_premium_num? stickers_premium_by_emoji_num? stories_changelog_user_id? stories_entities? stories_posting? stories_sent_monthly_limit_default? stories_sent_monthly_limit_premium? stories_sent_weekly_limit_default? stories_sent_weekly_limit_premium? stories_stealth_cooldown_period? stories_stealth_future_period? stories_stealth_past_period? stories_suggested_reactions_limit_default? stories_suggested_reactions_limit_premium? stories_venue_search_username? story_caption_length_limit_default? story_caption_length_limit_premium? story_expiring_limit_default? story_expiring_limit_premium? story_viewers_expire_period? telegram_antispam_group_size_min? telegram_antispam_user_id? topics_pinned_limit? transcribe_audio_trial_duration_max? transcribe_audio_trial_weekly_number? upload_max_fileparts_default? upload_max_fileparts_premium? url_auth_domains? whitelisted_domains?

Properties

about_length_limit_default?: number

The maximum UTF-8 length of bios of non-Premium users (integer)

about_length_limit_premium?: number

The maximum UTF-8 length of bios of Premium users (integer)

authorization_autoconfirm_period?: number

An unconfirmed session » will be autoconfirmed this many seconds after login. (integer)

autoarchive_setting_available?: boolean

Whether clients can invoke account.RawSetGlobalPrivacySettingsRequest with RawGlobalPrivacySettings, to automatically archive and mute new incoming chats from non-contacts. (boolean)

autologin_domains?: string[]

A list of Telegram domains that support automatic login with no user confirmation, click here for more info on URL authorization ». (array of strings)

background_connection?: boolean

Whether app clients should start a background TCP connection for MTProto update fetching (boolean)

boosts_channel_level_max?: number

Maximum boost level for channels. (integer)

boosts_per_sent_gift?: number

The number of additional boost slots that the current user will receive when gifting a Telegram Premium subscription.

caption_length_limit_default?: number

The maximum UTF-8 length of media captions sendable by non-Premium users (integer)

caption_length_limit_premium?: number

The maximum UTF-8 length of media captions sendable by Premium users (integer)

channel_bg_icon_level_min?: number

After reaching at least this boost level », channels gain the ability to change their message accent palette emoji ». (integer)

channel_custom_wallpaper_level_min?: number

After reaching at least this boost level », channels gain the ability to set any custom wallpaper, not just fill channel wallpapers, see here » for more info. (integer)

channel_emoji_status_level_min?: number

After reaching at least this boost level », channels gain the ability to change their status emoji ». (integer)

channel_profile_bg_icon_level_min?: number

After reaching at least this boost level », channels gain the ability to change their profile accent palette emoji ». (integer)

channel_wallpaper_level_min?: number

After reaching at least this boost level », channels gain the ability to set a fill channel wallpaper, see here » for more info. (integer)

channels_limit_default?: number

The maximum number of channels and supergroups a non-Premium user may join (integer)

channels_limit_premium?: number

The maximum number of channels and supergroups a Premium user may join (integer)

channels_public_limit_default?: number

The maximum number of public channels or supergroups a non-Premium user may create (integer)

channels_public_limit_premium?: number

The maximum number of public channels or supergroups a Premium user may create (integer)

chat_read_mark_expire_period?: number

To protect user privacy, read receipts for chats are only stored for chat_read_mark_expire_period seconds after the message was sent. (integer)

chat_read_mark_size_threshold?: number

Per-user read receipts, fetchable using messages.RawGetMessageReadParticipantsRequest, will be available in groups with an amount of participants less or equal to chat_read_mark_size_threshold. (integer)

chatlist_invites_limit_default?: number

Maximum number of per-folder chat folder deep links » that can be created by non-Premium users. (integer)

chatlist_invites_limit_premium?: number

Maximum number of per-folder chat folder deep links » that can be created by Premium users. (integer)

chatlist_update_period?: number

Users that import a folder using a chat folder deep link » should retrieve additions made to the folder by invoking chatlists.RawGetChatlistUpdatesRequest at most every chatlist_update_period seconds. (integer)

chatlists_joined_limit_default?: number

Maximum number of shareable folders non-Premium users may have. (integer)

chatlists_joined_limit_premium?: number

Maximum number of shareable folders Premium users may have. (integer)

default_emoji_statuses_stickerset_id?: number

Default emoji status stickerset ID. (integer)

Note that the stickerset can be fetched using RawInputStickerSetEmojiDefaultStatuses.

dialog_filters_chats_limit_default?: number

The maximum number of chats a non-Premium user may add to a folder (integer)

dialog_filters_chats_limit_premium?: number

The maximum number of chats a Premium user may add to a folder (integer)

dialog_filters_enabled?: boolean

Whether clients should show an option for managing dialog filters AKA folders (boolean)

dialog_filters_limit_default?: number

The maximum number of folders a non-Premium user may create (integer)

dialog_filters_limit_premium?: number

The maximum number of folders a Premium user may create (integer)

dialog_filters_tooltip?: boolean

Whether clients should actively show a tooltip, inviting the user to configure dialog filters AKA folders; typically this happens when the chat list is long enough to start getting cluttered. (boolean)

dialogs_folder_pinned_limit_default?: number

The maximum number of chats a non-Premium user may pin in a folder (integer)

dialogs_folder_pinned_limit_premium?: number

The maximum number of chats a Premium user may pin in a folder (integer)

dialogs_pinned_limit_default?: number

The maximum number of chats a non-Premium user may pin (integer)

dialogs_pinned_limit_premium?: number

The maximum number of chats a Premium user may pin (integer)

emojies_animated_zoom?: number

Animated emojis and animated dice should be scaled by this factor before being shown to the user (float)

emojies_send_dice?: string[]

A list of supported animated dice stickers (array of strings).

emojies_send_dice_success?: Record<string, {
    frame_start: number;
    value: number;
}>

For animated dice emojis other than the basic 🎲, indicates the winning dice value and the final frame of the animated sticker, at which to show the fireworks 🎆 (object with emoji keys and object values, containing value and frame_start float values)

emojies_sounds?: Record<string, {
    access_hash: string;
    file_reference_base64: string;
    id: string;
}>

A map of soundbites to be played when the user clicks on the specified animated emoji; the file reference field should be base64-decoded before downloading the file (map of file IDs (RawInputDocument.id), with emoji string keys)

fragment_prefixes?: string[]

List of phone number prefixes for anonymous Fragment phone numbers. (array of strings).

gif_search_branding?: string

Specifies the name of the service providing GIF search through gif_search_username (string)

gif_search_emojies?: string[]

Specifies a list of emojis that should be suggested as search term in a bar above the GIF search box (array of string emojis)

giveaway_add_peers_max?: number

The maximum number of users that can be specified when making a direct giveaway. (integer)

giveaway_boosts_per_premium?: number

The number of boosts that will be gained by a channel for each winner of a giveaway. (integer)

giveaway_countries_max?: number

The maximum number of countries that can be specified when restricting the set of participating countries in a giveaway. (itneger)

giveaway_gifts_purchase_available?: boolean

Whether giveaways can be started by the current user. (boolean)

giveaway_period_max?: number

The maximum duration in seconds of a giveaway. (integer)

groupcall_video_participants_max?: number

Maximum number of participants in a group call (livestreams allow ∞ participants) (integer)

hidden_members_group_size_min?: number

Minimum number of participants required to hide the participants list of a supergroup using channels.RawToggleParticipantsHiddenRequest. (integer)

keep_alive_service?: boolean

Whether app clients should start a keepalive service to keep the app running and fetch updates even when the app is closed (boolean)

large_queue_max_active_operations_count?: number

A soft limit, specifying the maximum number of files that should be downloaded in parallel from the same DC, for files bigger than 20MB. (integer)

message_animated_emoji_max?: number

The maximum number of custom emojis that may be present in a message. (integer)

pending_suggestions?: string[]

Contains a list of suggestions that should be actively shown as a tooltip to the user. (Array of strings, possible values shown in the suggestions section ».

pm_read_date_expire_period?: number

To protect user privacy, read receipts for private chats are only stored for pm_read_date_expire_period seconds after the message was sent. (integer)

premium_bot_username?: string

Contains the username of the official Telegram Premium bot that may be used to buy a Telegram Premium subscription, see here for detailed instructions » (string)

premium_gift_attach_menu_icon?: boolean

Whether a gift icon should be shown in the attachment menu in private chats with users, offering the current user to gift a Telegram Premium subscription to the other user in the chat. (boolean)

premium_gift_text_field_icon?: boolean

Whether a gift icon should be shown in the text bar in private chats with users (ie like the / icon in chats with bots), offering the current user to gift a Telegram Premium subscription to the other user in the chat. Can only be true if premium_gift_attach_menu_icon is also true. (boolean)

premium_invoice_slug?: string

Contains an invoice slug that may be used to buy a Telegram Premium subscription, see here for detailed instructions » (string)

premium_promo_order?: string[]

Array of string identifiers, indicating the order of Telegram Premium features in the Telegram Premium promotion popup, see here for the possible values »

premium_purchase_blocked?: boolean

The user can't purchase Telegram Premium. The app must also hide all Premium features, including stars for other users, et cetera. (boolean)

qr_login_camera?: boolean

Whether the Settings->Devices menu should show an option to scan a QR login code (boolean)

qr_login_code?: "disabled" | "primary" | "secondary"

Whether the login screen should show a QR code login option, possibly as default login method (string, "disabled", "primary" or "secondary")

quote_length_max?: number

Maximum UTF-8 length of RawInputReplyToMessage. (integer)

reactions_in_chat_max?: number

Maximum number of reactions that can be marked as allowed in a chat using RawChatReactionsSome. (integer)

reactions_uniq_max?: number

Maximum number of unique reactions for any given message: for example, if there are 2000 👍 and 1000 custom emoji 😁 reactions and reactions_uniq_max = 2, you can't add a 👎 reaction, because that would raise the number of unique reactions to 3 > 2. (integer)

reactions_user_max_default?: number

Maximum number of reactions that can be added to a single message by a non-Premium user. (integer)

reactions_user_max_premium?: number

Maximum number of reactions that can be added to a single message by a Premium user. (integer)

recommended_channels_limit_default?: number

The maximum number of similar channels that can be recommended by channels.RawGetChannelRecommendationsRequest to non-Premium users. (integer)

recommended_channels_limit_premium?: number

The maximum number of similar channels that can be recommended by channels.RawGetChannelRecommendationsRequest to Premium users. (integer)

ringtone_duration_max?: number

The maximum duration in seconds of uploadable notification sounds » (integer)

ringtone_saved_count_max?: number

The maximum number of saveable notification sounds »

ringtone_size_max?: number

The maximum post-conversion size in bytes of uploadable notification sounds »

round_video_encoding?: {
    audio_bitrate: number;
    diameter: number;
    max_size: number;
    video_bitrate: number;
}

Contains a set of recommended codec parameters for round videos. (object, as described in the example)

saved_dialogs_pinned_limit_default?: number

Maximum number of pinned dialogs in saved messages for non-Premium users. (integer)

saved_dialogs_pinned_limit_premium?: number

Maximum number of pinned dialogs in saved messages for Premium users. (integer)

saved_gifs_limit_default?: number

The maximum number of GIFs a non-Premium user may save (integer)

saved_gifs_limit_premium?: number

The maximum number of GIFs a Premium user may save (integer)

small_queue_max_active_operations_count?: number

A soft limit, specifying the maximum number of files that should be downloaded in parallel from the same DC, for files smaller than 20MB. (integer)

stickers_emoji_cache_time?: number

Specifies the validity period of the local cache of messages.RawGetStickersRequest, also relevant when generating the pagination hash when invoking the method. (integer)

stickers_emoji_suggest_only_api?: boolean

Specifies that the app should not display local sticker suggestions » for emojis at all and just use the result of messages.RawGetStickersRequest (bool)

stickers_faved_limit_default?: number

The maximum number of stickers a non-Premium user may add to Favorites » (integer)

stickers_faved_limit_premium?: number

The maximum number of stickers a Premium user may add to Favorites » (integer)

stickers_normal_by_emoji_per_premium_num?: number

For Premium users, used to define the suggested sticker list, see the sticker docs for more info (integer, defaults to 2)

stickers_premium_by_emoji_num?: number

Defines how many Premium stickers to show in the sticker suggestion popup when entering an emoji into the text field, see the sticker docs for more info (integer, defaults to 0)

stories_changelog_user_id?: number

ID of the official Telegram user that will post stories about new Telegram features: stories posted by this user should be shown on the active or active and hidden stories bar just like for contacts, even if the user was removed from the contact list. (integer, defaults to 777000)

stories_entities?: string

Whether styled text entities and links in story text captions can be used by all users (enabled), only [Premium](/api/premium users) (premium), or no one (disabled). (string)This field is used both when posting stories, to indicate to the user whether they can use entities, and when viewing stories, to hide entities (client-side) on stories posted by users whose Premium subscription has expired (if stories_entities == "premium" and RawUser.premium is not set, or if stories_entities == "disabled").

stories_posting?: string

Indicates whether users can post stories. (string)One of:

  • enabled - Any user can post stories.
  • premium - Only users with a Premium subscription can post stories.
  • disabled - Users can't post stories.
  • stories_sent_monthly_limit_default?: number

    Maximum number of stories that can be sent in a month by non-Premium users. (integer)

    stories_sent_monthly_limit_premium?: number

    Maximum number of stories that can be sent in a month by Premium users. (integer)

    stories_sent_weekly_limit_default?: number

    Maximum number of stories that can be sent in a week by non-Premium users. (integer)

    stories_sent_weekly_limit_premium?: number

    Maximum number of stories that can be sent in a week by Premium users. (integer)

    stories_stealth_cooldown_period?: number

    After enabling stories stealth mode, this many seconds must elapse before the user is allowed to enable it again. (integer)

    stories_stealth_future_period?: number

    Enabling stories stealth mode with the future flag will hide views of any story opened in the next stories_stealth_future_period seconds. (integer)

    stories_stealth_past_period?: number

    Enabling stories stealth mode with the past flag will erase views of any story opened in the past stories_stealth_past_period seconds. (integer)

    stories_suggested_reactions_limit_default?: number

    Maximum number of story reaction media areas » that can be added to a story by non-Premium users. (integer)

    stories_suggested_reactions_limit_premium?: number

    Maximum number of story reaction media areas » that can be added to a story by Premium users. (integer)

    stories_venue_search_username?: string

    Username of the inline bot to use to generate venue location tags for stories, see here » for more info. (string)

    story_caption_length_limit_default?: number

    The maximum UTF-8 length of story captions for non-Premium users. (integer)

    story_caption_length_limit_premium?: number

    The maximum UTF-8 length of story captions for Premium users. (integer)

    story_expiring_limit_default?: number

    The maximum number of active stories for non-Premium users (integer).

    story_expiring_limit_premium?: number

    The maximum number of active stories for Premium users (integer).

    story_viewers_expire_period?: number

    The exact list of users that viewed the story will be hidden from the poster this many seconds after the story expires. (integer)This limit applies only to non-Premium users, Premium users can always access the viewer list.

    telegram_antispam_group_size_min?: number

    Minimum number of group members required to enable native antispam functionality. (integer)

    telegram_antispam_user_id?: string

    The ID of the official native antispam bot, that will automatically delete spam messages if enabled as specified in the native antispam documentation ».

    When fetching the admin list of a supergroup using channels.RawGetParticipantsRequest, if native antispam functionality in the specified supergroup, the bot should be manually added to the admin list displayed to the user. (numeric string that represents a Telegram user/bot ID, should be casted to an int64)

    topics_pinned_limit?: number

    Maximum number of topics that can be pinned in a single forum. (integer)

    transcribe_audio_trial_duration_max?: number

    The maximum allowed duration of media in seconds for speech recognition » for non-Premium users. (integer)

    transcribe_audio_trial_weekly_number?: number

    The maximum number of speech recognition » calls per week for non-Premium users. (integer)

    upload_max_fileparts_default?: number

    The maximum number of file parts uploadable by non-Premium users (integer, the maximum file size can be extrapolated by multiplying this value by 524288, the biggest possible chunk size)

    upload_max_fileparts_premium?: number

    The maximum number of file parts uploadable by Premium users (integer, the maximum file size can be extrapolated by multiplying this value by 524288, the biggest possible chunk size)

    url_auth_domains?: string[]

    A list of domains that support automatic login with manual user confirmation, click here for more info on URL authorization ». (array of strings)

    whitelisted_domains?: string[]

    A list of Telegram domains that can always be opened without additional user confirmation, when clicking on in-app links where the URL is not fully displayed (i.e. RawMessageEntityTextUrl entities). (array of strings)Note that when opening named Mini App links for the first time, confirmation should still be requested from the user, even if the domain of the containing deep link is whitelisted (i.e. t.me/<bot_username>/<short_name>?startapp=<start_parameter>, where t.me is whitelisted). Confirmation should always be asked, even if we already opened the named Mini App before, if the link is not visible (i.e. RawMessageEntityTextUrl text links, inline buttons etc.).