Функции Telegram MiniApps

Чтобы вызвать функцию, предоставляемую Telegram MiniApp из App Ui, необходимо вызвать action c type: "telegramWebApp":

interface WebAppAction { 
    type: "telegramWebApp", 
    method: MethodName, 
    params: SingleParamOrArray 
}

type MethodName = 'setBackgroundColor' | 'enableClosingConfirmation' | 'disableClosingConfirmation' | 'openLink' | 'openTelegramLink' | 'showAlert' | 'showScanQrPopup' | 'requestWriteAccess' | 'expand' | 'close'

type SingleParamOrArray = Param | Param[]
type Param = string | object | Function

Функция requestWriteAccess имеет дополнительную логику - если пользователь не даст разрешение на отправку, то дальнейшая цепочка действий (actions) будет прервана.

Доступные методы

setBackgroundColor

Функция устанавливает цвет фона приложения в формате #RRGGBB. Вы также можете использовать ключевые слова bg_color и secondary_bg_color.

Параметры

Параметр Тип Описание
color string Цвет фона в формате #RRGGBB

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'setBackgroundColor', params: '#FF0000' }}>Click</button>

enableClosingConfirmation

Функция включает диалоговое окно подтверждения при попытке пользователя закрыть Mini App. Параметры отсутствуют.

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'enableClosingConfirmation' }}>Click</button>

Для более подробного изучения, посетите документацию от Telegram

disableClosingConfirmation

Функция отключает диалоговое окно подтверждения при попытке пользователя закрыть Mini App. Параметры отсутствуют.

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'disableClosingConfirmation' }}>Click</button>

openLink

Функция открывает ссылку во внешнем браузере. Mini App не будет закрыт. Если необязательный параметр options передается с полем try_instant_view=true, ссылка будет открыта в режиме мгновенного просмотра, если это возможно.

Обратите внимание, что этот метод можно вызывать только в ответ на взаимодействие пользователя с интерфейсом Mini App (например, клик внутри Mini App или на основной кнопке).

Параметры

Параметр Тип Описание
url string Ссылка для открытия
options {try_instant_view?: boolean} Необязательный параметр

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'openLink', params: 'https://chatium.ru' }}>Click</button>

openTelegramLink

Функция открывает ссылку на telegram внутри приложения Telegram. Mini App не будет закрыт после вызова этого метода.

Параметры

Параметр Тип Описание
url string Ссылка для открытия

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'openTelegramLink', params: 'https://t.me/chatiumhelp' }}>Click</button>

showAlert

Функция показывает сообщение в простом диалоге с кнопкой "Закрыть".

Параметры

Параметр Тип Описание
message string Сообщение для отображения

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'showAlert', params: 'Message' }}>Click</button>

showScanQrPopup

Функция показывает нативное всплывающее окно для сканирования QR-кода, описанное параметром типа ScanQrPopupParams. Mini App получит событие qrTextReceived каждый раз, когда сканер поймает код с текстовыми данными.

Параметры

Параметр Тип Описание
params {text?: string} Текст для отображения под заголовком "Сканировать QR", 0-64 символа

Пример использования

<button 
    onClick={{ 
        type: "telegramWebApp", 
        method: 'showScanQrPopup', 
        params: { 
            title: 'Title', 
            message: 'Message' 
        } 
    }}
>Click</button>

requestWriteAccess

Функция показывает нативное всплывающее окно, запрашивающее разрешение на отправку сообщений пользователю. Если пользователь не даст разрешение, дальнейшая цепочка действий будет прервана.

Пример использования

<button 
    onClick={[
        { type: "telegramWebApp", method: 'requestWriteAccess' },
        showToast('Permission granted!') // Не будет вызвано, если пользователь не даст разрешение
    ]}
>Click</button>

expand

Функция разворачивает Mini App на максимально доступную высоту.

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'expand' }}>Click</button>

close

Функция закрывает Mini App.

Пример использования

<button onClick={{ type: "telegramWebApp", method: 'close' }}>Click</button>

Более подробную информацию о методах Telegram MiniApp можно найти в документации Telegram

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании