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

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

回答

收藏

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

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

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

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

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

  1. import { mockTelegramEnv, parseInitData } from '@telegram-apps/sdk';/ V3 X  a2 K; Z2 m2 K: Q% g9 g

  2. ; m# Y; S5 E+ D$ \
  3. const initDataRaw = new URLSearchParams([
    8 w0 G# j+ P; o: V3 Z% S
  4.   ['user', JSON.stringify({
    . x9 v. ~7 i* N' d) y0 g+ X
  5.     id: 99281932,% z* L0 a4 ]5 R2 E; W9 ?1 v
  6.     first_name: 'Andrew',
    $ c  b9 [  O1 y8 y$ d7 a' y% w
  7.     last_name: 'Rogue',
    0 Q+ [9 ~7 ~* j/ Z
  8.     username: 'rogue',2 ?" ~9 F( e2 x! g( s' V" R
  9.     language_code: 'en',% F" J0 I" w/ g. }* c, y+ K! E7 x) g8 T
  10.     is_premium: true,! c  V# `) m4 O/ k5 h
  11.     allows_write_to_pm: true,' ^0 c2 V3 u' `% w$ e) m9 D; h7 V  ]
  12.   })],4 G7 o3 R- D$ ?" u$ ]" \, c
  13.   ['hash', '89d6079ad6762351f38c6dbbc41bb53048019256a9443988af7a48bcad16ba31'],
    7 D0 `! Y* @8 _7 x2 o) y9 U$ r. h. Q
  14.   ['auth_date', '1716922846'],& k) Q: @3 g6 u% ?, U5 W* r
  15.   ['start_param', 'debug'],
    ; n; E7 W1 A* H  P
  16.   ['chat_type', 'sender'],4 b9 e0 U1 y+ U# v
  17.   ['chat_instance', '8428209589180549439'],% _6 z& H0 F' ^6 C3 ~6 u
  18. ]).toString();/ Y% V7 l: v% w- \
  19. ) \0 y0 r1 d6 o( Y) _  Z
  20. mockTelegramEnv({! T2 [" X8 t+ G. I! ^
  21.   themeParams: {9 b2 _0 D6 `7 g9 B
  22.     accentTextColor: '#6ab2f2',$ [/ T1 k4 ?. [; Y0 r! ^
  23.     bgColor: '#17212b',% [0 G5 |3 @8 M/ N: v$ I4 v
  24.     buttonColor: '#5288c1',# u+ k" q2 n; E' O( w* k- s( [
  25.     buttonTextColor: '#ffffff',
    0 P- m' a7 f3 d& z+ P
  26.     destructiveTextColor: '#ec3942',
    , d6 a# z1 Q4 O
  27.     headerBgColor: '#17212b',
    ; t; Q4 j1 d. c
  28.     hintColor: '#708499',
    % w- n, k& @  O* `
  29.     linkColor: '#6ab3f3',
    6 }" i9 ~) [. A) _
  30.     secondaryBgColor: '#232e3c'," u& u# N0 o4 g, R% P- x6 s# y+ a
  31.     sectionBgColor: '#17212b',% X! f6 B0 ?" d1 B
  32.     sectionHeaderTextColor: '#6ab3f3',
    % ]& q. W9 ]5 s0 T( p5 s
  33.     subtitleTextColor: '#708499',7 K! U! }' S: k! p; P
  34.     textColor: '#f5f5f5',& I$ P7 G- c$ G2 O7 \, u
  35.   },
    : C7 C5 z; m. ?1 Y. m. G
  36.   initData: parseInitData(initDataRaw),: {4 p: X, H& p/ `4 ]( @5 N2 f" H' B
  37.   initDataRaw,& J) V( l. K. C8 C/ f8 Y
  38.   version: '7.2',  c6 l9 P! j( S. Q
  39.   platform: 'tdesktop',
    - \5 z" _1 e" v& d+ f
  40. });
复制代码

WARNING

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

2 R; @6 C1 s, K
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则