English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @1.x | 环境

开源社区 开源社区 10453 人阅读 | 0 人回复 | 2025-02-23

此软件包只能在 Telegram 应用程序中使用。 由于非 Telegram 环境缺乏 Telegram 特有的特性,调用 retrieveLaunchParamspostEvent 等方法会导致错误。

不过,该软件包提供了 mockTelegramEnv 函数,用于模仿 Telegram 提供的环境 。 它可以帮助开发人员在 BotFather 中创建迷你 应用程序记录,甚至无需创建记录即可开始开发应用程序。

该函数接受原始或解析格式的发射参数。 下面就是一个例子:

  1. import { mockTelegramEnv, parseInitData } from '@telegram-apps/sdk';
    " y1 Q; e2 X" I2 P/ N9 q# W

  2. 2 D( E* h' |7 k: q4 h
  3. const initDataRaw = new URLSearchParams([
    - m% W1 a: W% p: R& N. o
  4.   ['user', JSON.stringify({
    ( W; o7 r& a+ R5 h  _: H) `* {
  5.     id: 99281932,
    0 Z1 ]! Z7 k% @
  6.     first_name: 'Andrew',
    ( i; S$ E& L- Y( S
  7.     last_name: 'Rogue',  _# q1 q8 l4 e6 M$ M& e
  8.     username: 'rogue',
    " W2 X! R4 K$ ^2 D
  9.     language_code: 'en',
    * E$ t8 @. W! O4 I* s) E; j8 a
  10.     is_premium: true,
    3 t4 O7 s- a1 }; s
  11.     allows_write_to_pm: true,* y/ B! N' w2 D, G
  12.   })]," N: E, q" g# {8 n. i6 a! ?3 T# H$ s
  13.   ['hash', '89d6079ad6762351f38c6dbbc41bb53048019256a9443988af7a48bcad16ba31'],- _. g. ^- F* Q3 j& r
  14.   ['auth_date', '1716922846'],
    " Q  z5 ]% Q. b. t& S; F
  15.   ['start_param', 'debug'],
    " |+ w+ D# x, ^9 `: ~% a
  16.   ['chat_type', 'sender'],
    . D6 ~8 T- L6 Q4 C9 A
  17.   ['chat_instance', '8428209589180549439'],& Z# O% D. v. C; X$ L
  18. ]).toString();
    3 D: D0 u& [0 t# ?9 P
  19. * b& ?6 B% F: U9 H; G* W
  20. mockTelegramEnv({5 s) r# ?4 Z0 d* @, N4 U2 t
  21.   themeParams: {
    % e& ?  }) G# \3 w2 D* H7 J
  22.     accentTextColor: '#6ab2f2',3 L7 C9 E* R3 c7 B8 h' s
  23.     bgColor: '#17212b',
    3 O1 H( o* b7 d3 D
  24.     buttonColor: '#5288c1',
    4 n5 [3 |" W7 @7 c( w% C
  25.     buttonTextColor: '#ffffff',
    # s2 l9 U) f! l  D
  26.     destructiveTextColor: '#ec3942',& f/ l: @- }6 c5 N- e3 i
  27.     headerBgColor: '#17212b',7 p" E7 }' h" Y5 {( H) ]  ]( R
  28.     hintColor: '#708499',
    1 F6 c2 U* |  a9 r4 x
  29.     linkColor: '#6ab3f3',
    5 q% g  z2 G9 {* U
  30.     secondaryBgColor: '#232e3c',6 ]1 ^+ R! ]7 h( R) O5 s
  31.     sectionBgColor: '#17212b',( p) Z0 b$ Q1 q: u3 P
  32.     sectionHeaderTextColor: '#6ab3f3',5 j. F4 V: O9 D' c
  33.     subtitleTextColor: '#708499',& E0 l( z- H( V4 N/ x- p
  34.     textColor: '#f5f5f5',
    1 Y( C, l1 p) q: Y+ z7 B. M
  35.   },
    0 f! |/ B  ]  {" F0 a
  36.   initData: parseInitData(initDataRaw),
    5 I1 n" e: T$ @$ S" K7 _$ ^. y! a
  37.   initDataRaw,* w& K8 {2 w3 u% y( U
  38.   version: '7.2',
    $ ^2 O* r. Q* X
  39.   platform: 'tdesktop',
    % M0 ~/ [2 o/ H& K) [
  40. });
复制代码

WARNING

请注意,此功能只能模仿 Telegram 环境行为。 它不会发送任何真正的 请求,也不会执行只能在 Telegram 应用程序中看到的操作。


+ \- w) w1 F+ L6 C9 P, \
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则