此软件包只能在 Telegram 应用程序中使用。 由于非 Telegram 环境缺乏 Telegram 特有的特性,调用 retrieveLaunchParams 或 postEvent 等方法会导致错误。 不过,该软件包提供了 mockTelegramEnv 函数,用于模仿 Telegram 提供的环境 。 它可以帮助开发人员在 BotFather 中创建迷你 应用程序记录,甚至无需创建记录即可开始开发应用程序。 该函数接受原始或解析格式的发射参数。 下面就是一个例子: - import { mockTelegramEnv, parseInitData } from '@telegram-apps/sdk';/ V3 X a2 K; Z2 m2 K: Q% g9 g
; m# Y; S5 E+ D$ \- const initDataRaw = new URLSearchParams([
8 w0 G# j+ P; o: V3 Z% S - ['user', JSON.stringify({
. x9 v. ~7 i* N' d) y0 g+ X - id: 99281932,% z* L0 a4 ]5 R2 E; W9 ?1 v
- first_name: 'Andrew',
$ c b9 [ O1 y8 y$ d7 a' y% w - last_name: 'Rogue',
0 Q+ [9 ~7 ~* j/ Z - username: 'rogue',2 ?" ~9 F( e2 x! g( s' V" R
- language_code: 'en',% F" J0 I" w/ g. }* c, y+ K! E7 x) g8 T
- is_premium: true,! c V# `) m4 O/ k5 h
- allows_write_to_pm: true,' ^0 c2 V3 u' `% w$ e) m9 D; h7 V ]
- })],4 G7 o3 R- D$ ?" u$ ]" \, c
- ['hash', '89d6079ad6762351f38c6dbbc41bb53048019256a9443988af7a48bcad16ba31'],
7 D0 `! Y* @8 _7 x2 o) y9 U$ r. h. Q - ['auth_date', '1716922846'],& k) Q: @3 g6 u% ?, U5 W* r
- ['start_param', 'debug'],
; n; E7 W1 A* H P - ['chat_type', 'sender'],4 b9 e0 U1 y+ U# v
- ['chat_instance', '8428209589180549439'],% _6 z& H0 F' ^6 C3 ~6 u
- ]).toString();/ Y% V7 l: v% w- \
- ) \0 y0 r1 d6 o( Y) _ Z
- mockTelegramEnv({! T2 [" X8 t+ G. I! ^
- themeParams: {9 b2 _0 D6 `7 g9 B
- accentTextColor: '#6ab2f2',$ [/ T1 k4 ?. [; Y0 r! ^
- bgColor: '#17212b',% [0 G5 |3 @8 M/ N: v$ I4 v
- buttonColor: '#5288c1',# u+ k" q2 n; E' O( w* k- s( [
- buttonTextColor: '#ffffff',
0 P- m' a7 f3 d& z+ P - destructiveTextColor: '#ec3942',
, d6 a# z1 Q4 O - headerBgColor: '#17212b',
; t; Q4 j1 d. c - hintColor: '#708499',
% w- n, k& @ O* ` - linkColor: '#6ab3f3',
6 }" i9 ~) [. A) _ - secondaryBgColor: '#232e3c'," u& u# N0 o4 g, R% P- x6 s# y+ a
- sectionBgColor: '#17212b',% X! f6 B0 ?" d1 B
- sectionHeaderTextColor: '#6ab3f3',
% ]& q. W9 ]5 s0 T( p5 s - subtitleTextColor: '#708499',7 K! U! }' S: k! p; P
- textColor: '#f5f5f5',& I$ P7 G- c$ G2 O7 \, u
- },
: C7 C5 z; m. ?1 Y. m. G - initData: parseInitData(initDataRaw),: {4 p: X, H& p/ `4 ]( @5 N2 f" H' B
- initDataRaw,& J) V( l. K. C8 C/ f8 Y
- version: '7.2', c6 l9 P! j( S. Q
- platform: 'tdesktop',
- \5 z" _1 e" v& d+ f - });
复制代码WARNING 请注意,此功能只能模仿 Telegram 环境行为。 它不会发送任何真正的 请求,也不会执行只能在 Telegram 应用程序中看到的操作。 2 R; @6 C1 s, K
|