深度链接

Telegram 客户端必须通过注册操作系统处理程序来处理在消息、链接实体和其他应用程序中遇到的 特殊链接tg://和深层链接。t.me

链接通常有两种形式:t.meHTTPS 链接和tg:URI。

t.me链接语法示例:

其中t.me也可以是telegram.me、,以及全局配置telegram.dog字段中指定的域,可通过help.getConfig获取。me_url_prefix

tg:链接语法示例:

#fragment解析 Telegram 深度链接时,该部分始终会被忽略。

另请注意,每当<username>.t.me遇到链接时<username>:

应该将其视为链接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:

生成的 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 分享到选定的聊天文本框中。
这些链接应按以下方式处理:

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查询字符串中,而是使用链接别名从服务器获取);每个创建的商务聊天深度链接都有一个浏览计数器。

点击此处»了解更多关于如何创建、编辑、解决和查看企业聊天链接信息的信息。

这些链接应按以下方式处理:

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>链接确实指向机器人。
然后,对于群组链接:

频道链接:

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

游戏链接

用于分享游戏。

这些链接应按以下方式处理:

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&params

电话确认链接

与登录码链接不同。
这些链接用于确认手机号码的所有权,以防止帐户被删除:有关如何处理这些链接的更多信息,请参阅帐户删除文档»。

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字段:

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字段不支持指定的聊天功能:

参数:

姓名 选修的 描述
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标志也会被设置,应用程序应该直接链接到商店或尝试更新到最新版本。

可用于测试的示例链接:

在这种情况下,应使用以下参数调用help.getDeepLinkInfo :

请注意,对于无法识别的链接,不应调用此方法t.me,而应使用通常的 HTTP 链接处理逻辑。