Главная
telegram-webapp-sdk — это типобезопасная и эргономичная обёртка на Rust/WASM
над JavaScript API Telegram Web Apps.
Она позволяет писать Telegram Mini Apps полностью на Rust: на чистом
WebAssembly или через готовые интеграции с Yew и
Leptos.
Покрытие API
Крейт отслеживает версию Telegram WebApp API 9.6 — это последняя версия
Mini App, доступная в telegram-web-app.js. Bot API с тех пор дошёл до 10.1, но
версии с 9.7 по 10.1 не добавили новых методов, полей или событий WebApp,
поэтому покрытие полное. Bot API 9.5 добавил icon_custom_emoji_id для нижних
кнопок; 9.6 добавил WebApp.requestChat и события requestedChatSent /
requestedChatFailed — всё реализовано.
Покрытая поверхность включает:
- Кнопки: Main, Secondary, Back и Settings
- Диалоги: alert, confirm, popup и сканер QR-кодов
- Навигацию, ссылки, шеринг и инвойсы
- Тему, цвета, вьюпорт и safe-area отступы
- Хранилища: CloudStorage, DeviceStorage и SecureStorage
- Сенсоры: акселерометр, гироскоп, ориентацию устройства и LocationManager
- Биометрическую аутентификацию и тактильную отдачу
Полный чек-лист по методам — в файле
WEBAPP_API.md.
Флаги фич
По умолчанию фичи не включены (default = []) — подключайте только нужное.
| Фича | Что включает |
|---|---|
macros | telegram_app!, telegram_page! и telegram_router! для приложений и роутинга без бойлерплейта |
yew | use_telegram_context, реактивные хуки use_viewport / use_theme / use_safe_area и компоненты BottomButton / BackButton / SettingsButton |
leptos | provide_telegram_context, те же реактивные хуки use_* и аналогичные компоненты для Leptos |
mock | Настраиваемый мок Telegram.WebApp для локальной разработки и тестов |
full | Объединяет macros, yew, leptos и mock |
telegram-webapp-sdk = { version = "0.11", features = ["leptos", "mock"] }
Оглавление документации
- Установка — строка зависимости, флаги фич, MSRV и цель wasm32
- Быстрый старт — получение инстанса WebApp,
ready()/expand(), чтение init data и минимальный MainButton - WebApp API — обзор покрытой поверхности по разделам и паттерн
*_with_callbackпротивasync - Интеграция с фреймворками — хуки и компоненты для Leptos и Yew
- Мок и тестирование — фича
mockиwasm_bindgen_test - Примеры — демо-приложение, vanilla, бот и полноценная интеграция
Лицензия
telegram-webapp-sdk распространяется под лицензией MIT.