此软件包只能在 Telegram 应用程序中使用。 由于非 Telegram 环境缺乏 Telegram 特有的特性,调用 retrieveLaunchParams 或 postEvent 等方法会导致错误。 不过,该软件包提供了 mockTelegramEnv 函数,用于模仿 Telegram 提供的环境 。 它可以帮助开发人员在 BotFather 中创建迷你 应用程序记录,甚至无需创建记录即可开始开发应用程序。 该函数接受原始或解析格式的发射参数。 下面就是一个例子: - import { mockTelegramEnv, parseInitData } from '@telegram-apps/sdk';
" y1 Q; e2 X" I2 P/ N9 q# W
2 D( E* h' |7 k: q4 h- const initDataRaw = new URLSearchParams([
- m% W1 a: W% p: R& N. o - ['user', JSON.stringify({
( W; o7 r& a+ R5 h _: H) `* { - id: 99281932,
0 Z1 ]! Z7 k% @ - first_name: 'Andrew',
( i; S$ E& L- Y( S - last_name: 'Rogue', _# q1 q8 l4 e6 M$ M& e
- username: 'rogue',
" W2 X! R4 K$ ^2 D - language_code: 'en',
* E$ t8 @. W! O4 I* s) E; j8 a - is_premium: true,
3 t4 O7 s- a1 }; s - allows_write_to_pm: true,* y/ B! N' w2 D, G
- })]," N: E, q" g# {8 n. i6 a! ?3 T# H$ s
- ['hash', '89d6079ad6762351f38c6dbbc41bb53048019256a9443988af7a48bcad16ba31'],- _. g. ^- F* Q3 j& r
- ['auth_date', '1716922846'],
" Q z5 ]% Q. b. t& S; F - ['start_param', 'debug'],
" |+ w+ D# x, ^9 `: ~% a - ['chat_type', 'sender'],
. D6 ~8 T- L6 Q4 C9 A - ['chat_instance', '8428209589180549439'],& Z# O% D. v. C; X$ L
- ]).toString();
3 D: D0 u& [0 t# ?9 P - * b& ?6 B% F: U9 H; G* W
- mockTelegramEnv({5 s) r# ?4 Z0 d* @, N4 U2 t
- themeParams: {
% e& ? }) G# \3 w2 D* H7 J - accentTextColor: '#6ab2f2',3 L7 C9 E* R3 c7 B8 h' s
- bgColor: '#17212b',
3 O1 H( o* b7 d3 D - buttonColor: '#5288c1',
4 n5 [3 |" W7 @7 c( w% C - buttonTextColor: '#ffffff',
# s2 l9 U) f! l D - destructiveTextColor: '#ec3942',& f/ l: @- }6 c5 N- e3 i
- headerBgColor: '#17212b',7 p" E7 }' h" Y5 {( H) ] ]( R
- hintColor: '#708499',
1 F6 c2 U* | a9 r4 x - linkColor: '#6ab3f3',
5 q% g z2 G9 {* U - secondaryBgColor: '#232e3c',6 ]1 ^+ R! ]7 h( R) O5 s
- sectionBgColor: '#17212b',( p) Z0 b$ Q1 q: u3 P
- sectionHeaderTextColor: '#6ab3f3',5 j. F4 V: O9 D' c
- subtitleTextColor: '#708499',& E0 l( z- H( V4 N/ x- p
- textColor: '#f5f5f5',
1 Y( C, l1 p) q: Y+ z7 B. M - },
0 f! |/ B ] {" F0 a - initData: parseInitData(initDataRaw),
5 I1 n" e: T$ @$ S" K7 _$ ^. y! a - initDataRaw,* w& K8 {2 w3 u% y( U
- version: '7.2',
$ ^2 O* r. Q* X - platform: 'tdesktop',
% M0 ~/ [2 o/ H& K) [ - });
复制代码WARNING 请注意,此功能只能模仿 Telegram 环境行为。 它不会发送任何真正的 请求,也不会执行只能在 Telegram 应用程序中看到的操作。
+ \- w) w1 F+ L6 C9 P, \ |