深度链接
Telegram 客户端必须通过注册操作系统处理程序来处理在消息、链接实体和其他应用程序中遇到的 特殊链接tg://和深层链接。t.me
链接通常有两种形式:t.meHTTPS 链接和tg:URI。
t.me链接语法示例:
- t.me/path?query
- http://t.me/path?query
- https://t.me/path?query
其中t.me也可以是telegram.me、,以及全局配置telegram.dog字段中指定的域,可通过help.getConfig获取。me_url_prefix
tg:链接语法示例:
- tg:path?query
- tg://path?query
#fragment解析 Telegram 深度链接时,该部分始终会被忽略。
另请注意,每当<username>.t.me遇到链接时<username>:
-
不等于:
- www
- addemoji
- addlist
- addstickers
- addtheme
- auth
- boost
- confirmphone
- contact
- giftcode
- invoice
- joinchat
- login
- m
- nft
- proxy
- setlanguage
- share
- socks
- web
- a
- k
- z
- AND 不是一个字母
- AND 是一个有效的用户名
应该将其视为链接t.me/<username>/(生成t.me/<username>/链接并附加路径的其余部分(如果存在)和查询字符串(如果存在))。
凡是链接参数包含用户、聊天、频道或超级群组 ID 的地方,都将采用 MTProto 格式,请参阅此处 »了解如何将其转换为机器人 API 格式。
您的网站
用于使用Telegram应用内的浏览器打开TON 网站。
句法:
tonsite://somesite.domain/path?query#hash
也可不使用tonsite://方案的.ton域名:
getting-started.ton/path?query#hash无论哪种情况,#hashURL 的这一部分都不应被忽略。
要打开此类 URL:
- 将该tonsite方案替换为https
-
按如下方式转换 URL 的主机部分:
- 将所有.字符替换为-d
- -将字符替换为-h(除了-第一次替换生成的字符 s 之外)
- 添加一个.
- 追加 ton_proxy_address 客户端配置参数中指定的域名»
生成的 URL 只能使用Telegram应用内的浏览器打开(即不应提供使用第三方浏览器打开此类链接的选项)。
公开用户名链接
用于链接到公共用户、群组和频道,有关如何处理它们的更多信息,请参阅此处»。
t.me句法:
t.me/<username>?text=<draft_text>&profile
tg:句法:
tg://resolve?domain=<username>&text=<draft_text>&profile
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 必需的 | 要检查或导入的用户名 » |
| draft_text | 选修的 |
如果用户可以在聊天中输入文字,则预先在文本输入栏中输入 UTF-8 编码的文本。 插入前: - 验证文本是否为有效的 UTF-8 编码。- 如果文本以逗号 () 开头@,则在其前面添加一个空格(以避免触发内联查询)。- 将文本截断为message_length_max个 UTF-8 编码点。 |
| profile | 选修的 | 如果已设置,点击此链接应打开目标用户的个人资料页面,而不是聊天视图。 |
请注意,消息链接和单体论坛链接的语法相同或相似,但带有额外的参数。
Monoforum链接
用于打开与频道关联的直接消息聊天(又称monoforum » ),有关 monoforums » 的更多信息,请参阅此处。
注意:分享发送到单一论坛的消息时,请使用普通消息链接»,并使用单一论坛的 ID,而不是关联频道的 ID;同样的规则也适用于所有其他涉及单一论坛的聊天相关链接。
t.me句法:
t.me/<username>?direct
tg:句法:
tg://resolve?domain=<username>&direct
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 必需的 | 频道的用户名,该频道与一个 Monoforum 关联。 |
| direct | 必需的 | 区分单一论坛链接与其他链接类型。 |
请注意,公开用户名链接的语法类似,但没有direct标志。
临时个人资料链接
用于链接到用户个人资料,使用contacts.exportContactToken生成。
即使个人资料没有用户名,也可以生成这些链接,并且它们具有过期日期,该日期由contacts.exportContactToken返回的exportedContactTokenexpires构造函数的字段指定。
t.me句法:
t.me/contact/<token>
tg:句法:
tg://contact?token=<token>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| token | 必需的 | 使用contacts.importContactToken导入个人资料令牌,将返回用户信息。 |
电话号码链接
用于通过电话号码连接公共和私人用户。
t.me句法:
t.me/+<phone_number>?text=<draft_text>&profile
tg:句法:
tg://resolve?phone=<phone_number>&text=<draft_text>&profile
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| phone_number | 必需的 | 使用contacts.resolvePhone解决电话号码问题 |
| draft_text | 选修的 |
如果用户可以在聊天中输入文字,则预先在文本输入栏中输入 UTF-8 编码的文本。 插入前: - 验证文本是否为有效的 UTF-8 编码。- 如果文本以逗号 () 开头@,则在其前面添加一个空格(以避免触发内联查询)。- 将文本截断为message_length_max个 UTF-8 编码点。 |
| profile | 选修的 | 如果已设置,点击此链接应打开用户的个人资料页面,而不是与该用户聊天。 |
请注意,聊天邀请链接的语法相同,但<phone_number>链接中的电话号码无效。
聊天邀请链接
用于邀请用户加入私人群组和频道,有关如何生成此类链接的更多信息,请参阅此处 »。
t.me句法:
t.me/+<hash>
t.me语法(旧版):
t.me/joinchat/<hash>
tg:句法:
tg://join?invite=<hash>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| hash | 必需的 | 邀请哈希值进行检查或导入 » |
聊天文件夹链接
用于邀请用户加入私人群组和频道,有关如何生成此类链接的更多信息,请参阅此处 »。
t.me句法:
t.me/addlist/<slug>
tg:句法:
tg://addlist?slug=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 邀请 slug检查或导入 » |
消息链接
用于链接到公共或私人群组和频道中的特定消息。
t.me语法(公共链接):
t.me/<username>/<id>?single&thread=<thread_id>&comment=<comment>&t=<media_timestamp>t.me/<username>/<thread_id>/<id>?single&comment=<comment>&t=<media_timestamp>
t.me语法(私有链接):
t.me/c/<channel>/<id>?single&thread=<thread_id>&comment=<comment>&t=<media_timestamp>t.me/c/<channel>/<thread_id>/<id>?single&comment=<comment>&t=<media_timestamp>
tg:语法(公共链接):
tg://resolve?domain=<username>&post=<id>&single&thread=<thread_id>&comment=<comment>&t=<media_timestamp>
tg:语法(私有链接):
tg://privatepost?channel=<channel>&post=<id>&single&thread=<thread_id>&comment=<comment>&t=<media_timestamp>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 如果是公共链接则为必填项 | 对话框用户名。 |
| channel | 如果是私有链接则为必填项 | 频道或超级组 ID。 |
| id | 必需的 | 消息 ID。 |
| single | 选修的 | 对于专辑/分组媒体,如果设置了该属性,则表示这是指向专辑中特定媒体的链接;否则,它是指向整个专辑的链接。 |
| thread_id | 选修的 | 对于消息线程,包含线程 ID。 |
| comment | 选修的 | 对于频道评论,username将包含频道用户名,id将包含引发评论部分的频道消息的消息 ID,并且此字段将包含讨论组中评论的消息 ID。 |
| media_timestamp | 选修的 |
邮件正文或网页预览中媒体文件的播放起始时间戳,格式如下: - 秒:123,正则表达式^(\d+)$ - 分钟和秒:10:23,示例正则表达式^(\d+):(\d{1,2})$ - 小时、分钟和秒:1h23m10s,示例正则表达式^(?:(\d+)h)?(?:(\d{1,2})m)?(?:(\d{1,2})s)$ |
请注意,由于论坛主题ID 实际上是创建该主题的服务消息的 ID,因此,当客户端解析指向messageActionTopicCreate服务消息的消息链接时,应打开该主题。此外,如果消息 ID 为 [此处应填写具体 ID] 且链接的超群组是论坛,则应打开“常规”主题,而不是超群组中的第一条消息。
1
论坛主题链接
用于链接到特定的论坛主题。
语法与消息链接完全相同,因为主题 ID 实际上是创建该主题的服务消息的 ID,因此每当客户端解析指向messageActionTopicCreate服务消息的消息链接时,它都应该打开该主题。
另外,如果消息 ID 为 ,1并且链接到的超级组是论坛,则应打开“常规”主题,而不是超级组的第一条消息。
分享链接
用于将预先准备好的消息和 URL 分享到选定的聊天文本框中。
这些链接应按以下方式处理:
- 打开对话框选择提示
- 选择后:验证、修剪并将 URL 输入到文本字段的开头
- 在文本字段后添加换行符
- text如果存在,则追加并选择。
t.me句法:
t.me/share?url=<url>&text=<text>t.me/share/url?url=<url>&text=<text>t.me/share/url/?url=<url>&text=<text>
tg:句法:
tg://msg_url?url=<url>&text=<text>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| url | 必需的 | 分享的URL(已进行URL编码) |
| text | 选修的 | 分享信息 |
商务聊天链接
企业聊天深度链接 »允许企业主分享其Telegram 企业帐户的预制链接,并可选择在消息输入字段中填写预先准备好的消息(支持样式化的文本实体 »)。
准备的消息长度没有额外限制(因为消息文本不在URL查询字符串中,而是使用链接别名从服务器获取);每个创建的商务聊天深度链接都有一个浏览计数器。
点击此处»了解更多关于如何创建、编辑、解决和查看企业聊天链接信息的信息。
这些链接应按以下方式处理:
- 调用account.resolveBusinessChatLink,传递参数slug以获取有关链接的信息作为account.resolvedBusinessChatLinks并增加查看计数器。
- 打开返回的文件peer,预先填充返回的文本输入字段message(entities如果存在)。
t.me句法:
t.me/m/<slug>
tg:句法:
tg://message?slug=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 要传递给account.resolveBusinessChatLink和链接管理方法的 slug。 |
视频聊天/直播链接
用于加入群组视频/语音聊天和频道直播。此类链接使用`phone.exportGroupCallInvite`
生成。请注意,链接已弃用,API 将始终导出群组视频和语音聊天的链接,客户端仅应支持解析旧链接格式以保持向后兼容性。
voicechatvideochat
t.me句法:
t.me/<username>?videochatt.me/<username>?videochat=<invite_hash>t.me/<username>?livestreamt.me/<username>?livestream=<invite_hash>t.me/<username>?voicechatt.me/<username>?voicechat=<invite_hash>
tg:句法:
tg://resolve?domain=<username>&videochattg://resolve?domain=<username>&videochat=<invite_hash>tg://resolve?domain=<username>&livestreamtg://resolve?domain=<username>&livestream=<invite_hash>tg://resolve?domain=<username>&voicechattg://resolve?domain=<username>&voicechat=<invite_hash>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| invite_hash | 选修的 | can_self_unmute如果在调用phone.exportGroupCallInvite时设置了标志,则会导出邀请哈希:应将其传递给phone.joinGroupCall,允许用户在直播或静音的群聊中发言。 |
会议链接
用于连接端到端电话会议。
t.me句法:
t.me/call/<slug>
tg:句法:
tg://call?slug=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 要传递给电话会议方法的端到端电话会议邀请哈希值。 |
贴纸套装链接
用于导入贴纸集或自定义表情贴纸集,详情请参见此处 »。
t.me句法:
t.me/addstickers/<slug>t.me/addemoji/<slug>
tg:句法:
tg://addstickers?set=<slug>tg://addemoji?set=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 贴纸套装简称,用于安装贴纸时。 |
自定义表情贴纸集链接
用于导入自定义表情贴纸集,详情请参见此处 »。
t.me句法:
t.me/addemoji/<slug>
tg:句法:
tg://addemoji?set=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 贴纸套装简称,用于安装贴纸时。 |
故事链接
用于链接到Telegram 故事 » ,使用此处指定的程序生成»。
t.me句法:
t.me/<username>/s/<story_id>
tg:句法:
tg://resolve?domain=<username>&story=<story_id>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 必需的 | 发布该新闻的用户或频道的用户名。 |
| story_id | 必需的 | 要获取并查看的 Telegram 故事的 ID,如这里所述 »。 |
故事专辑链接
识别同伴个人资料中的故事专辑 » :使用stories.getAlbumStories获取指定专辑中的故事。
t.me句法:
t.me/<username>?album=<album_id>t.me/<username>/a/<album_id>
tg:句法:
tg://resolve?domain=<username>&album=<album_id>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 必需的 | 拥有该集合的对等节点的用户名。 |
| album_id | 必需的 | 故事专辑的整数 ID»,来自storyAlbum。album_id |
提升链接
用户可利用此功能提升频道影响力 »,从而获得发布故事和其他特权。
使用频道信息来提升频道,具体方法请参见此处 »。
t.me语法(公共频道):
t.me/boost/<username>t.me/<username>?boost
t.me语法(私有频道):
t.me/boost?c=<id>t.me/c/<id>?boost
tg:语法(公共频道):
tg://boost?domain=<username>
tg:语法(私有频道):
tg://boost?channel=<id>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 公共链接需要此信息 | 频道用户名。 |
| channel | 私人链接需要此信息 | 频道 ID。 |
代理链接
用于共享可用于连接 Telegram 的代理服务器。
MTProxy链接
用于MTProxies »。
t.me句法:
t.me/proxy?server=<server>&port=<port>&secret=<secret>
tg:句法:
tg://proxy?server=<server>&port=<port>&secret=<secret>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| server | 必需的 | MTProxy 服务器 IP 地址或主机 |
| port | 必需的 | MTProxy 服务器端口 |
| secret | 必需的 | MTProxy秘籍 » |
Socks5代理链接
用于socks5代理。
t.me句法:
t.me/socks?server=<server>&port=<port>&user=<user>&pass=<pass>
tg:句法:
tg://socks?server=<server>&port=<port>&user=<user>&pass=<pass>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| server | 必需的 | 代理服务器 IP 地址或主机 |
| port | 必需的 | 代理服务器端口 |
| user | 选修的 | 代理服务器用户名 |
| pass | 选修的 | 代理服务器密码 |
主题链接
用于安装主题»
t.me句法:
t.me/addtheme/<name>
tg:句法:
tg://addtheme?slug=<name>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| name | 必需的 | 安装主题时使用的主题简称» |
壁纸链接
用于分享和安装聊天背景(壁纸):点击此处查看各种壁纸和填充类型的更多信息 »。
图片壁纸
用于基于图像的壁纸 »。
t.me句法:
t.me/bg/<slug>?mode=<mode>
tg:句法:
tg://bg?slug=<slug>&mode=<mode>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 使用account.getWallPaper获取图像文件的壁纸别名。 |
| mode | 选修的 | 结合使用blur和motion(通过 连接+)以启用文档中指定的模糊和/或视差运动 »。 |
纯色填充壁纸
用于填充壁纸 »纯色填充 »。
t.me句法:
t.me/bg/<hex_color>
tg:句法:
tg://bg?color=<hex_color>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| hex_color | 必需的 | 以十六进制 RGB 格式填充颜色。 |
渐变填充壁纸
用于填充壁纸 »带有渐变填充 »。
t.me句法:
t.me/bg/<top_color>-<bottom_color>?rotation=<rotation>
tg:句法:
tg://bg?gradient=<top_color>-<bottom_color>&rotation=<rotation>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| top_color | 必需的 | 顶部渐变颜色(十六进制 RGB 格式)。 |
| bottom_color | 必需的 | 底部渐变颜色(十六进制 RGB 格式)。 |
| rotation | 选修的 | 渐变的顺时针旋转角度,以度为单位;0-359。必须始终能被 45 整除,如果未设置则默认为 0。 |
自由渐变填充壁纸
用于填充壁纸 »带有自由渐变填充 »。
t.me句法:
t.me/bg/<hex_color1>~<hex_color2>~<hex_color3>t.me/bg/<hex_color1>~<hex_color2>~<hex_color3>~<hex_color4>
tg:句法:
tg://bg?gradient=<hex_color1>~<hex_color2>~<hex_color3>tg://bg?gradient=<hex_color1>~<hex_color2>~<hex_color3>~<hex_color4>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| hex_color1 | 必需的 | 第一个渐变颜色(十六进制 RGB 格式)。 |
| hex_color2 | 必需的 | 第二个渐变颜色,采用十六进制 RGB 格式。 |
| hex_color3 | 必需的 | 第三种渐变颜色,采用十六进制 RGB 格式。 |
| hex_color4 | 选修的 | 第四种渐变颜色,采用十六进制 RGB 格式。 |
纯色图案壁纸
用于图案壁纸 »纯色填充 »。
t.me句法:
t.me/bg/<slug>?intensity=<intensity>&bg_color=<bg_color>&mode=<mode>
tg:句法:
tg://bg?slug=<slug>&intensity=<intensity>&bg_color=<bg_color>&mode=<mode>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 使用account.getWallPaper获取图案文件的壁纸别名。 |
| intensity | 必需的 | 一个介于 -100 到 100 之间的值,用于将图案与文档中指定的填充相结合。 |
| bg_color | 必需的 | 以十六进制 RGB 格式填充颜色。 |
| mode | 选修的 | motion启用文档中指定的视差运动。 |
渐变图案壁纸
用于图案壁纸 »带有渐变填充 »。
t.me句法:
t.me/bg/<slug>?intensity=<intensity>&bg_color=<top_color>-<bottom_color>&rotation=<rotation>&mode=<mode>
tg:句法:
tg://bg?slug=<slug>&intensity=<intensity>&bg_color=<top_color>-<bottom_color>&rotation=<rotation>&mode=<mode>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 使用account.getWallPaper获取图案文件的壁纸别名。 |
| intensity | 必需的 | 一个介于 -100 到 100 之间的值,用于将图案与文档中指定的填充相结合。 |
| top_color | 必需的 | 顶部渐变颜色(十六进制 RGB 格式)。 |
| bottom_color | 必需的 | 底部渐变颜色(十六进制 RGB 格式)。 |
| rotation | 选修的 | 渐变的顺时针旋转角度,以度为单位;0-359。必须始终能被 45 整除,如果未设置则默认为 0。 |
| mode | 选修的 | motion启用文档中指定的视差运动。 |
自由渐变图案壁纸
用于图案壁纸 »带有自由渐变填充 »。
t.me句法:
t.me/bg/<slug>?intensity=<intensity>&bg_color=<hex_color1>~<hex_color2>~<hex_color3>&mode=<mode>t.me/bg/<slug>?intensity=<intensity>&bg_color=<hex_color1>~<hex_color2>~<hex_color3>~<hex_color4>&mode=<mode>
tg:句法:
tg://bg?slug=<slug>&intensity=<intensity>&bg_color=<hex_color1>~<hex_color2>~<hex_color3>&mode=<mode>tg://bg?slug=<slug>&intensity=<intensity>&bg_color=<hex_color1>~<hex_color2>~<hex_color3>~<hex_color4>&mode=<mode>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 使用account.getWallPaper获取图案文件的壁纸别名。 |
| intensity | 必需的 | 一个介于 -100 到 100 之间的值,用于将图案与文档中指定的填充相结合。 |
| hex_color1 | 必需的 | 第一个渐变颜色(十六进制 RGB 格式)。 |
| hex_color2 | 必需的 | 第二个渐变颜色,采用十六进制 RGB 格式。 |
| hex_color3 | 必需的 | 第三种渐变颜色,采用十六进制 RGB 格式。 |
| hex_color4 | 选修的 | 第四种渐变颜色,采用十六进制 RGB 格式。 |
| mode | 选修的 | motion启用文档中指定的视差运动。 |
机器人链接
用于链接到机器人。
t.me句法:
t.me/<bot_username>?start=<parameter>
tg:句法:
tg://resolve?domain=<bot_username>&start=<parameter>
请注意,推荐链接的语法类似,但必须带有前缀parameter。
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 机器人用户名 |
| parameter | 选修的 | 起始参数,最多 64 个base64url字符:如果提供此参数且该bot_username用户确实是一个机器人,则文本输入栏应替换为一个Start按钮(即使用户已启动机器人),点击该按钮后应调用messages.startBot并传递相应的参数parameter。请注意,如果此参数bot_username等于premium_bot_username配置值“”,则点击此链接应立即调用messages.startBot并传递相应的参数parameter。 |
群组/频道机器人链接
用于将机器人添加到群组或频道。
首先,请确认<bot_username>链接确实指向机器人。
然后,对于群组链接:
-
如果admin未提供该参数:
- 打开一个对话框,选择群组,用户可以在其中添加成员。
- 将机器人添加到群组
- 如果parameter提供了参数,则使用相应的参数调用messages.startBot。parameter
-
如果admin提供了该参数:
- 打开一个对话框,选择用户组,用户可以在其中添加/编辑管理员。
- 如果机器人已经是该组的管理员,则将现有管理员权限与管理员权限合并。admin
- 将机器人添加为管理员/将管理员权限修改为新权限
- 如果parameter提供了参数,则使用相应的参数调用messages.startBot。parameter
频道链接:
- 打开一个对话框,选择频道,用户可以在其中添加/编辑管理员。
- 如果机器人已经是频道管理员,则将现有管理员权限与频道中的管理员权限合并。admin
- 将机器人添加为管理员/将管理员权限修改为新权限
t.me语法(组):
t.me/<bot_username>?startgroup=<parameter>&admin=<permissions>t.me/<bot_username>?startgroup&admin=<permissions>
tg:语法(组):
tg://resolve?domain=<bot_username>&startgroup=<parameter>&admin=<permissions>tg://resolve?domain=<bot_username>&startgroup&admin=<permissions>
t.me语法(通道):
t.me/<bot_username>?startchannel&admin=<permissions>
tg:语法(通道):
tg://resolve?domain=<bot_username>&startchannel&admin=<permissions>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 机器人用户名 |
| parameter | 群组链接可选,频道链接中不包含。 | 起始参数,仅适用于群组链接,最多 64 个base64url字符:如果提供且该bot_username链接确实是一个机器人,则在将机器人添加到群组后,应使用适当的参数调用messages.startBot 。parameter |
| admin | 群组链接可选,频道链接必填 |
以下标识符以逗号分隔+,分别对应于chatAdminRights »构造函数中的相应标志: -change_info-chatAdminRights.change_info -post_messages-chatAdminRights.post_messages -edit_messages-chatAdminRights.edit_messages -delete_messages-chatAdminRights.delete_messages -restrict_members-chatAdminRights.ban_users -invite_users-chatAdminRights.invite_users -pin_messages-chatAdminRights.pin_messages -manage_topics-chatAdminRights.manage_topics --chatAdminRights.add_admins -promote_members-chatAdminRights.manage_call -manage_video_chats-chatAdminRights.anonymous--chatAdminRights.other--chatAdminRights.post_stories--chatAdminRights.edit_stories--chatAdminRights.delete_stories--chatAdminRights.manage_direct_messages anonymous manage_chat post_stories edit_stories delete_stories manage_direct_messages |
游戏链接
用于分享游戏。
这些链接应按以下方式处理:
- 检查是否bot_username确实是机器人用户名,如果是,则
- 弹出对话框选择提示
- 使用inputMediaGame和inputGameShortName (如游戏文档中所述)将游戏发送到选定的对话框。
t.me句法:
t.me/<bot_username>?game=<short_name>
tg:句法:
tg://resolve?domain=<bot_username>&game=<short_name>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 拥有该游戏的机器人的用户名 |
| short_name | 必需的 | 游戏简称 |
设置链接
我的星星链接
用于将用户引导至“我的星星”页面,其中包含充值按钮、星星交易历史记录、统计数据等等»。
tg:句法:
tg://stars
我的toncoins链接
用于将用户引导至 TON 余额页面,其中包含充值按钮、TON 交易历史记录和统计信息。
tg:句法:
tg://ton
设置链接
用于引导用户进入应用设置。
tg:句法:
tg://settings
没有参数。
更改电话号码链接
用于将用户带到电话号码修改页面,调用account.sendChangePhoneCode和account.changePhone。
tg:句法:
tg://settings/change_number
没有参数。
活动会话链接
用于将用户带到活动会话页面,调用account.getAuthorizations。
tg:句法:
tg://settings/devices
没有参数。
文件夹设置链接
用于将用户带到文件夹设置。
tg:句法:
tg://settings/folders
没有参数。
语言设置链接
用于引导用户进入语言设置页面。
tg:句法:
tg://settings/language
没有参数。
隐私和安全设置链接
用于引导用户进入隐私和安全设置。
tg:句法:
tg://settings/privacy
没有参数。
自动删除设置链接
用于引导用户进入邮件自动删除设置页面。
tg:句法:
tg://settings/auto_delete
没有参数。
个人资料设置链接
用于将用户引导至个人资料设置菜单。
tg:句法:
tg://settings/edit_profile
没有参数。
主题设置链接
用于将用户引导至应用程序的主题设置部分。
tg:句法:
tg://settings/theme
没有参数。
登录码链接
包含用户授权期间要使用的电话号码验证码»。
t.me句法:
t.me/login/<code>
tg:句法:
tg://login?code=<code>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| code | 必需的 | 登录码。 |
发票链接
用于发起发票付款 » ,使用payments.exportedInvoice生成。
t.me句法:
t.me/invoice/<slug>t.me/$<slug>
tg:句法:
tg://invoice?slug=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 付款时要使用的发票别名»。 |
语言包链接
用于使用langpack.getLangPack导入自定义语言包。
t.me句法:
t.me/setlanguage/<slug>
tg:句法:
tg://setlanguage?lang=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 使用langpack.getLangPack导入的语言包名称 |
Telegram Passport 链接
有关参数和用法,请参阅Telegram Passport 文档 »。
tg:句法:
tg://passport?paramstg://resolve?domain=telegrampassport¶ms
电话确认链接
与登录码链接不同。
这些链接用于确认手机号码的所有权,以防止帐户被删除:有关如何处理这些链接的更多信息,请参阅帐户删除文档»。
t.me句法:
t.me/confirmphone?phone=<phone>&hash=<hash>
tg:句法:
tg://confirmphone?phone=<phone>&hash=<hash>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| phone | 必需的 | 电话号码 |
| hash | 必需的 | 确认哈希值需按此处所述进行处理» |
高级多礼品链接
用于将用户引导至向好友赠送 Telegram Premium 订阅的屏幕,有关向多个用户赠送 Telegram Premium 的更多信息,请参阅此处 »。
此链接用于邀请用户向其他用户赠送高级订阅,请点击此处»查看包含实际礼品码的不同链接类型,这些礼品码可用于导入赠送的 Telegram 高级订阅。
tg:句法:
tg://premium_multigift?ref=<referrer>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| referrer | 选修的 | 官方应用程序使用help.saveAppLog进行分析。 |
高级推荐链接
官方应用使用此插件显示Telegram Premium订阅页面。
tg:句法:
tg://premium_offer?ref=<referrer>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| referrer | 选修的 | 官方应用程序使用此方法通过help.saveAppLog进行分析 |
高级礼品码链接
用于处理Telegram Premium 礼品码链接。
tg:句法:
tg://giftcode?slug=<slug>
t.me句法:
t.me/giftcode/<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 选修的 | 此礼品码别名将传递给`payments.checkGiftCode`以获取更多信息,并最终传递给`payments.applyGiftCode`以应用礼品码。有关更多信息,请参阅赠品文档。 |
二维码登录链接
用于二维码登录流程 »。
tg:句法:
tg://login?token=<base64encodedtoken>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| server | 必需的 | Base64URL编码的二维码登录令牌 |
主要小程序链接
用于打开主要小程序 »。
如果指定的机器人没有配置主小程序(即未设置用户bot_has_main_app标志) ,则回退到用户名链接的行为»。
应该使用messages.requestMainWebView打开主小程序。
t.me句法:
t.me/<bot_username>?startapp&mode=<mode>t.me/<bot_username>?startapp=<start_parameter>&mode=<mode>
请注意,直接小程序链接的语法类似,但多了一个short_name参数来标识机器人拥有的特定小程序。
tg:句法:
tg://resolve?domain=<bot_username>&startapp&mode=<mode>tg://resolve?domain=<bot_username>&startapp=<start_parameter>&mode=<mode>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 拥有主小程序的机器人的用户名» |
| start_parameter | 选修的 | 如果提供,则应将其传递给messages.requestMainWebView。start_param |
| mode | 选修的 |
如果等于compact,则必须设置messages.requestMainWebView.flag。如果等于,则必须设置messages.requestMainWebView.flag。compact fullscreenfullscreen |
直接迷你应用链接
用于分享直接链接的小程序。
这些链接与机器人附件菜单深度链接不同,因为它们不需要用户安装附件菜单,而且单个机器人可以提供多个命名的小程序,这些小程序通过它们的链接来区分short_name。
这些链接应按照直接链接小程序文档中的规定进行处理»。
t.me句法:
t.me/<bot_username>/<short_name>?startapp=<start_parameter>&mode=<mode>
tg:句法:
tg://resolve?domain=<bot_username>&appname=<short_name>&startapp=<start_parameter>&mode=<mode>
请注意,主小程序链接的语法类似,但没有参数short_name。
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 拥有该游戏的机器人的用户名 |
| appname | 必需的 | 迷你应用简称,在调用messages.getBotApp时传递给inputBotAppShortName。short_name |
| startapp | 选修的 | start_param传递给messages.requestAppWebView |
| mode | 选修的 |
如果等于compact,则必须设置messages.requestAppWebView.flag。如果等于,则必须设置messages.requestAppWebView.flag。compact fullscreenfullscreen |
机器人附件或侧边菜单链接
用于在特定聊天中安装并打开机器人附件或侧边菜单
。
对于所有链接类型,客户端应首先按照此处说明安装关联的机器人附件或侧边菜单项。如果用户接受安装提示,则根据链接子类型,使用以下逻辑打开小程序:
在当前聊天中打开
全局安装附件/侧边菜单项后,通过将其传递给messages.requestWebViewpeer的参数,在当前打开的聊天中使用messages.requestWebView打开关联的小程序。
如果当前聊天不支持attachMenuBotpeer_types字段:
- 如果用户在上一步中刚刚安装了附件菜单,则通知用户附件菜单已成功安装。
- 否则,通知用户无法在指定的聊天中打开附件菜单 Web 应用程序。
t.me句法:
t.me/<bot_username>?startattacht.me/<bot_username>?startattach=<start_parameter>
tg:句法:
tg://resolve?domain=<bot_username>&startattachtg://resolve?domain=<bot_username>&startattach=<start_parameter>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 拥有该附件/侧边菜单项的机器人的用户名 |
| start_parameter | 选修的 | 如果提供,则应将其传递给messages.requestWebView。start_param |
在特定聊天中打开
全局安装附件/侧边菜单项后,使用messages.requestWebView在特定聊天中打开关联的小程序(传递给messages.requestWebViewpeer的参数)。
t.me句法:
t.me/<username>?attach=<bot_username>t.me/<username>?attach=<bot_username>&startattach=<start_parameter>t.me/+<phone_number>?attach=<bot_username>t.me/+<phone_number>?attach=<bot_username>&startattach=<start_parameter>
tg:句法:
tg://resolve?domain=<username>&attach=<bot_username>tg://resolve?domain=<username>&attach=<bot_username>&startattach=<start_parameter>tg://resolve?phone=<phone_number>&attach=<bot_username>tg://resolve?phone=<phone_number>&attach=<bot_username>&startattach=<start_parameter>
如果attachMenuBotpeer_types字段不支持指定的聊天功能:
- 如果用户在上一步中刚刚安装了附件菜单,则通知用户附件菜单已成功安装。
- 否则,通知用户无法在指定的聊天中打开附件菜单 Web 应用程序。
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 用户名链接是必需的 | 聊天用户名,以及打开小程序的位置 |
| phone_number | 电话号码链接需要此信息 | 打开小程序后,即可找到私聊电话号码。 |
| bot_username | 必需的 | 拥有附件/侧边菜单的机器人的用户名 |
| start_parameter | 选修的 | 如果提供,则应将其传递给messages.requestWebView。start_param |
在任何聊天窗口中打开
全局安装附件/侧边菜单项后,会打开一个对话框选择表单,该表单将使用messages.requestWebView在特定聊天中打开附件菜单小程序(将其传递给messages.requestWebViewpeer的参数)。
t.me句法:
t.me/<bot_username>?startattach&choose=users+bots+groups+channelst.me/<bot_username>?startattach=<start_parameter>&choose=users+bots+groups+channels
tg:句法:
tg://resolve?domain=<bot_username>&startattach&choose=users+bots+groups+channelstg://resolve?domain=<bot_username>&startattach=<start_parameter>&choose=users+bots+groups+channels
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 拥有附件/侧边菜单的机器人的用户名 |
| start_parameter | 选修的 | 如果提供,则应将其传递给messages.requestWebView。start_param |
| choose | 选修的 | 用冒号分隔的逗号users、逗号、bots逗号组合表示要在对话框选择弹出窗口中显示的对话框类型:必须与attachMenuBot字段中包含的对话框类型相交才能使用。groupschannels+peer_types |
星星充值链接
用于确保用户余额中至少有 N 个Telegram 星星
。
如果没有,此链接必须将用户引导至Telegram 星星充值页面。
tg:句法:
tg://stars_topup?balance=<star_count>&purpose=<purpose>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| star_count | 必需的 |
表示执行操作所需的星星数量(整数,必须介于 1 和 1000000000000 之间)。 如果当前余额大于或等于此值,则不应弹出充值表单,而应显示一个简单的提示信息,告知用户已有足够的星星完成操作:此提示信息还应包含一个“仍然购买”按钮,点击该按钮必须无条件弹出星星充值表单。 |
| purpose | 选修的 |
包含一个字符串,用于指示充值原因,该字符串必须显示在充值页面上(如果已启用),可选值:--购买星星以保持您的频道订阅有效。--购买星星以使您的订阅在接下来的 12 个月内保持有效。 subs subadvance12 |
收藏礼品链接
识别独特的收藏礼品 »: 使用payments.getUniqueStarGift获取有关收藏品的信息。
t.me句法:
t.me/nft/<slug>
tg:句法:
tg://nft?slug=<slug>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| slug | 必需的 | 收藏礼品的标识符,要传递给payments.getUniqueStarGift。 |
礼品收集链接
识别同伴个人资料上的星级礼物收藏 » :使用payments.getSavedStarGifts并collection_id设置标志以获取收藏中的礼物。
t.me句法:
t.me/<username>?collection=<collection_id>t.me/<username>/c/<collection_id>
tg:句法:
tg://resolve?domain=<username>&collection=<collection_id>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| username | 必需的 | 拥有该集合的对等节点的用户名。 |
| collection_id | 必需的 | 来自starGiftCollection的星光礼物收藏的整数 ID»collection_id |
推荐链接
用于联盟计划:导入后,所有通过关联小程序购买数字产品和订阅的 Telegram Star也将向链接创建者转移一定数量的 Star 。
请点击这里»查看完整流程的更多信息。
t.me句法:
t.me/<bot_username>?ref=<referrer>t.me/<bot_username>?start={prefix}<referrer>
tg:句法:
tg://resolve?domain=<bot_username>&ref=<referrer>tg://resolve?domain=<bot_username>&start={prefix}<referrer>
{prefix}starref_start_param_prefixes 客户端配置参数中指定的任何前缀»:对于推荐链接的第二个变体,这是必需的,以便将它们与机器人链接区分开来。
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| bot_username | 必需的 | 拥有该小程序的机器人的用户名 |
| referrer | 必需的 | 引荐来源 ID,将传递给contacts.resolveUsername |
身份链接
ID 链接只是机器人 API提供的一种抽象,用于简化inputMessageEntityMentionName和inputKeyboardButtonUserProfile构造函数的构建,普通客户端应该忽略它。
tg:句法:
tg://user?id=<id>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| id | 必需的 | 用户身份 |
表情符号链接
表情符号链接只是机器人 API提供的一种抽象,用于简化messageEntityCustomEmoji构造函数的构建,普通客户端应该忽略它们。
tg:句法:
tg://emoji?id=<id>
参数:
| 姓名 | 选修的 | 描述 |
|---|---|---|
| id | 必需的 | 自定义表情符号 ID |
不支持的链接
如果客户端遇到tg:此页面上未列出的链接类型,则应仅使用链接的组成部分调用help.getDeepLinkInfo 。path
模式:
help.deepLinkInfoEmpty#66afa166 = help.DeepLinkInfo; help.deepLinkInfo#6a4ee832 flags:# update_app:flags.0?true message:string entities:flags.1?Vector<MessageEntity> = help.DeepLinkInfo;---functions---help.getDeepLinkInfo#3fedc75f path:string = help.DeepLinkInfo;
该方法可能返回格式化文本,例如:
- 对链接功能进行描述,或者
- 解释为什么该应用不支持某个链接;
并且/或者邀请用户升级到最新版本的客户端应用程序才能使用该链接:在这种情况下,结果update_app标志也会被设置,应用程序应该直接链接到商店或尝试更新到最新版本。
可用于测试的示例链接:
- tg://need_update_for_some_feature?test=a
- tg:some_unsupported_feature?test=b
在这种情况下,应使用以下参数调用help.getDeepLinkInfo :
- help.getDeepLinkInfo({path: "need_update_for_some_feature"})
- help.getDeepLinkInfo({path: "some_unsupported_feature"})
请注意,对于无法识别的链接,不应调用此方法t.me,而应使用通常的 HTTP 链接处理逻辑。