@apiteam/twa-bridge 8.0.13 → 9.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,32 +1,73 @@
1
- ## Описание
2
-
3
- Библиотека для работы с Telegram WebApp API, предоставляющая удобный интерфейс для взаимодействия с функциями Telegram Mini Apps. Реализована на TypeScript с поддержкой строгой типизации.
4
-
5
- ## Полная документация
6
- [Документация API](https://docs.apiteam.ru)
7
-
8
- ## Основные возможности
9
-
10
- - Управление внешним видом WebApp (цвета, кнопки)
11
- - Работа с платежами и инвойсами
12
- - Взаимодействие с QR-сканером
13
- - Управление буфером обмена
14
- - Обработка системных событий Telegram
15
-
16
- ## Установка
17
-
18
- ```bash
19
- npm install @apiteam/twa-bridge
20
- ```
21
-
22
- # Поддержка
23
-
24
- Если у вас возникли вопросы или проблемы:
25
-
26
- ## Способы связи
27
-
28
- - [Создать issue в GitHub](https://github.com/apiteamru/twa-bridge/issues)
29
- _(Для багрепортов и запросов функций)_
30
-
31
- - Написать в Telegram: [@apiteam_help](https://t.me/apiteam_help)
32
- _(Быстрая помощь в реальном времени)_
1
+ # @apiteam/twa-bridge
2
+
3
+ Минималистичный TypeScript-мост для [Telegram Mini Apps](https://core.telegram.org/bots/webapps). Он отправляет методы в клиент Telegram, проверяет поддержку API и предоставляет типизированные события в одном интерфейсе.
4
+
5
+ Полная справка по методам находится в [документации](https://docs.apiteam.ru) и в каталоге [`docs`](docs/).
6
+
7
+ ## Установка
8
+
9
+ ```bash
10
+ npm install @apiteam/twa-bridge
11
+ ```
12
+
13
+ ## Быстрый старт
14
+
15
+ ```ts
16
+ import {
17
+ bridgeReady,
18
+ bridgeShareToStory,
19
+ listener,
20
+ } from '@apiteam/twa-bridge'
21
+
22
+ bridgeReady()
23
+
24
+ listener.on('theme_changed', ({ theme_params }) => {
25
+ console.log(theme_params.bg_color)
26
+ })
27
+
28
+ bridgeShareToStory({
29
+ media_url: 'https://example.com/photo.jpg',
30
+ text: 'Моя история',
31
+ })
32
+ ```
33
+
34
+ Для каждого метода есть `support…`-функция, например `supportShareToStory()`. При неподдерживаемой версии Telegram bridge-методы возвращают `{ status: 'not_supported' }`.
35
+
36
+ ## События
37
+
38
+ `listener` использует `EventEmitter` из `@minsize/utils` и экспортирует `on`, `once` и `off`. Имя события и его payload выводятся из типа `EventsData`.
39
+
40
+ ```ts
41
+ import { listener } from '@apiteam/twa-bridge'
42
+
43
+ const onLocation = data => {
44
+ if (data.available) {
45
+ console.log(data.latitude, data.longitude)
46
+ }
47
+ }
48
+
49
+ listener.on('location_requested', onLocation)
50
+ listener.off('location_requested', onLocation)
51
+ ```
52
+
53
+ При инициализации bridge сохраняет существующий объект `window.Telegram`, поэтому `window.Telegram.WebApp` из официального SDK остаётся доступен. Bridge назначает обработчик только в `window.Telegram.WebView.receiveEvent` — не подключайте второй SDK, который записывает в этот же обработчик, без явного объединения обработчиков.
54
+
55
+ Подробнее: [Listener и события](docs/functions/listener.md).
56
+
57
+ ## Методы
58
+
59
+ Высокоуровневые функции имеют префикс `bridge`: например, `bridgeRequestLocation`, `bridgeStartAccelerometer`, `bridgeDeviceStorage` и `bridgeRequestChat`. Для прямого вызова по имени Telegram-метода используйте `bridgeSend` и константы `Method`:
60
+
61
+ ```ts
62
+ import { bridgeSend, Method } from '@apiteam/twa-bridge'
63
+
64
+ await bridgeSend(Method.RequestLocation)
65
+ ```
66
+
67
+ `bridgeSend` выбирает соответствующую bridge-функцию, если она есть, поэтому сохраняются проверка версии и обработка результата. Низкоуровневый `sender(eventType, eventData)` отправляет событие в Telegram без этих обёрток.
68
+
69
+ Новые API Telegram 7.10–9.6, включая геолокацию, датчики, device/secure storage, скрытие клавиатуры и запрос чата, описаны в разделе [Новые платформенные API](docs/functions/platformApis.md).
70
+
71
+ ## Поддержка
72
+
73
+ Если есть ошибка или нужен метод, [создайте issue](https://github.com/apiteamru/twa-bridge/issues).
package/package.json CHANGED
@@ -1,23 +1,26 @@
1
- {
2
- "name": "@apiteam/twa-bridge",
3
- "version": "8.0.13",
4
- "description": "Telegram bridge",
5
- "license": "MIT",
6
- "types": "index.ts",
7
- "author": {
8
- "name": "Egor Kytyukov",
9
- "url": "https://vk.com/xuserz"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/APITEAMRU/twa-bridge.git"
14
- },
15
- "contributors": [],
16
- "keywords": [
17
- "twa-sdk",
18
- "telegram sdk",
19
- "telegram",
20
- "tg",
21
- "telegram module"
22
- ]
1
+ {
2
+ "name": "@apiteam/twa-bridge",
3
+ "version": "9.6.1",
4
+ "description": "Telegram bridge",
5
+ "license": "MIT",
6
+ "types": "index.ts",
7
+ "author": {
8
+ "name": "Egor Kytyukov",
9
+ "url": "https://vk.com/xuserz"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/APITEAMRU/twa-bridge.git"
14
+ },
15
+ "contributors": [],
16
+ "keywords": [
17
+ "twa-sdk",
18
+ "telegram sdk",
19
+ "telegram",
20
+ "tg",
21
+ "telegram module"
22
+ ],
23
+ "dependencies": {
24
+ "@minsize/utils": "^1.0.0"
25
+ }
23
26
  }