处理推送通知
应用程序配置
要能够向苹果服务器发送APNS通知或向谷歌服务器发送GCM通知,必须在应用设置中指定应用证书(APNS)或应用密钥(GCM)。
订阅通知
要订阅通知,客户端必须调用account.registerDevice查询,输入token_type和令牌作为识别当前设备的参数。建议至少每24小时重复一次查询,或者在重启应用时进行一次。使用 account.unregisterDevice 来取消订阅。
支持的token_type如下:
- 1- APNS(苹果推送设备令牌)
- 2- FCM(谷歌Firebase的Firebase令牌)
- 3- MPNS(微软推送通道URI)
-
4- 简单推送(Firefox已弃用的简单推送API的端点):注意,这种推送类型也可以被开源推送通知规范使用,如UnifiedPush。
简单推送的工作原理是,每当收到相关消息时,向指定的HTTPS端点发送一个带有有效载荷的简单PUT请求:收到此类通知后,客户端应连接到MTProto API并获取更新。
(注意,在 Telegram 的实现中,这个不一定是增量的,只需将每个不同的请求视为等待通过 MTProto 获取新消息的信号。)version=numbernumber - 5- Ubuntu phone(Ubuntu推送令牌)
- 6- 黑莓(黑莓推送代币)
- 7- MTProto 独立会话
- 8- WNS(窗口推送)
- 9- APNS VoIP(苹果推送VoIP令牌)
- 10- 网页推送(web push,见下文)
- 11- MPNS VoIP(微软推送VoIP令牌)
- 12- Tizen(tizen 推送的标记)
- 13- 华为推送
对于网页推送,令牌必须是带有以下密钥的 JSON 编码对象:10
- endpoint: 推送服务暴露的绝对URL,应用服务器可以发送推送消息
-
keys: P-256 椭圆曲线 Diffie-Hellman 参数
- p256dh: Base64url编码的P-256椭圆曲线Diffie-Hellman公钥
- auth: Base64url编码的认证秘密
通知加密
对于FCM和APNS VoIP,可选的加密密钥用于加密推送通知,可以传递给account.registerDevice ()。该密钥()用于使用 MTProto v2 加密载荷。secretauth_key
FCM 载荷将是一个 JSON 载荷,包含一个包含 base64url 编码的加密 MTProto 载荷的字段。解密后,结果将是一个 JSON 对象,前缀为 32 位小端序整数,长度为 JSON 负载长度。像往常一样,务必遵守MTProto文档中描述的所有安全检查。p
示例实现。
如上所述,在使用网页推送时,有效载荷也可以使用P-256椭圆曲线Diffie-Hellman加密。
通知结构
以下格式提供一个(可选加密的)通知,作为 JSON 对象:
{ "data": { "loc_key": "CHAT_MESSAGE_CONTACT", "loc_args": ["John Doe", "My magical group", "Contact Exchange"], "user_id": 14124122, "custom": { "chat_id": 241233, "msg_id": 123 }, "sound": "sound1.mp3", } }
每个通知都有多个参数来描述它。
- loc_key - 通知类型:形式为 的字符串文字,用于总结通知。例如, 。/[A-Z_0-9]+/CHAT_MESSAGE_TEXT
- loc_args - 通知占位参数:插入模板时产生可读通知的列表或参数。
-
自定义——在打开通知时传递给应用程序的自定义参数。可能的字段:
- attachb64 - 关于媒体的通知,base64url编码的对应照片/文档对象的TL序列化
- updates - 更新对象的 base64url 编码的 TL 序列化,目前仅发送给 PHONE_CALL_REQUEST(内含 updatePhoneCall)
- call_id - 呼叫显示,用于PHONE_CALL_REQUEST
- call_ah - 呼叫访问哈希,用于PHONE_CALL_REQUEST
- encryption_id - ENCRYPTION_REQUEST、ENCRYPTION_ACCEPT、ENCRYPTED_MESSAGE的秘密聊天ID。
- random_id - ENCRYPTED_MESSAGE 中消息的随机ID。
- contact_id - CONTACT_JOINED 年加入 Telegram 的联系人 Telegram 用户标识符
- msg_id - 新消息事件或反应事件的消息ID
- channel_id - 事件发生的信道/超组标识符
- chat_id - 事件发生的基本组标识符
- from_id - 事件发生地的用户ID
- chat_from_broadcast_id - 如果群组消息是以信道形式发送的,该字段将包含发送方信道ID
- chat_from_group_id - 如果组消息是以超组形式发送的,该字段将包含发送方超组ID
- chat_from_id - 仅限群组,消息作者标识符(忽略chat_from_broadcast_id/chat_from_group_id中的任何标识)
- 提及——当前用户是否在这条新消息中被提及或回复
- 静音——消息是否静默发布(此通知不应播放任何声音)
- schedule - 消息是否已发出且通过定时消息发送
- report_delivery_until_date - 如果设置且当前 Unixtime 大于指定 Unixtime,调用 inmessages.reportMessagesDelivery,设置标志并在客户端收到消息后立即传递该消息的 ID 和对等端(可选地批量处理同一对等端的请求),用于 Telegram Gateway 验证消息。push
- edit_date - 这条消息最后一次编辑是什么时候
- top_msg_id - 讨论帖中新提及/回复thread_id
- 声音——将播放的音频文件名称。
- user_id - 如果客户端有多个账户活跃且运行中,推送通知应被发送到哪个账户的ID。
- 公告——大致相当于服务通知(Telegram通知,id)用户收到的消息,但必须通过推送通知传递,不得联系API。777000
通知处理
原则上,data.loc_key、data.custom和互联网连接即可生成通知。显然,如果可能的话,生成视觉通知时不必使用所有传输的数据,可以依赖客户端已存储的信息。但如果用户或聊天没有本地缓存,loc_args传递的值也可能被使用。data.user_id是推送通知应被发送的账户的ID,适用于多个账户同时运行的客户。
服务通知
以下通知可用于更新应用设置。
| 类型 | 额外的自定义参数 | 描述 |
|---|---|---|
| DC_UPDATE |
data.custom.dc- 数据中心 编号data.custom.addr- 带有端口号格式的服务器地址111.112.113.114:443 |
如果客户端收到该通知,必须将接收到的服务器地址添加到可能地址列表中。如果第一个 DC 的地址被传递(),建议立即使用 help.getConfig 调用它以更新 dc-configuration。dc=1 |
| MESSAGE_DELETED |
data.custom.channel_id:对于通道和超级组,通道/超级组标识符 data.custom.chat_id:对于聊天,聊天标识 符data.custom.from_id:对于私信,作者标识 data.custom.messages:已删除消息的逗号分隔 ID |
消息被删除了,删除了本次聊天的多个通知 |
| READ_REACTION |
data.custom.channel_id:对于通道和超级组,通道/超级组标识符 data.custom.chat_id:对于聊天,聊天标识 符data.custom.from_id:对于PM,作者标识 符data.custom.messages:被读取反应的消息的逗号分隔ID。 |
回复会被阅读,删除与反应相关的通知 |
| READ_HISTORY |
data.custom.channel_id:对于通道和超级组,通道/超级组标识符 data.custom.chat_id:对于聊天,聊天标识 符data.custom.from_id:对于项目管理,作者标识 符data.custom.max_id:最大已读消息的 ID |
已阅读消息历史,删除本次聊天的多条通知 |
| READ_STORIES |
data.custom.channel_id:对于频道和超级组,频道/超级组标识符 data.custom.from_id:对于用户发送的故事,作者标识 符data.custom.max_id:已读故事的最大 ID |
已阅读故事通知,删除本次聊天中与故事相关的通知 |
| STORY_DELETED |
data.custom.channel_id:对于频道和超级组,频道/超级组标识符 data.custom.from_id:对于用户发送的故事,作者标识 符data.custom.story_id:已删除故事的ID。 |
一篇故事被删除,请移除本故事的通知 |
| GEO_LIVE_PENDING | 目前正在共享的任何实时位置都应该会更新 | |
| SESSION_REVOKE | data.user_id会退出并移除指定会话的数据库,仅适用于来自 MTProto 加密的负载 | |
| MESSAGE_MUTED | 很少发一次,聊天里每10条消息,或者私信里每15秒发一次,用来更新徽章或下载消息 | |
| MESSAGE_ANNOUNCEMENT | data.announcement:公告 | 大致相当于从服务通知(Telegram 通知,id)用户收到的消息,但必须通过推送通知传递,不能联系 API。777000 |
可能的通知
| 类型 | 模板示例 | 论点 |
|---|---|---|
| AUTH_REGION | 新登录,来自未识别设备{1},位置:{2} |
1. 设备名称 2.位置 |
| AUTH_UNKNOWN | 从未识别的设备新登录{1} | 1. 设备名称 |
| CHANNEL_MESSAGES | {1}发布了一张专辑 | 1. 消息作者 |
| CHANNEL_MESSAGE_AUDIO | {1}发了语音消息 | 1. 消息作者 |
| CHANNEL_MESSAGE_CONTACT | {1}发了联系方式{2} |
1. 消息作者 2.联系方式 |
| CHANNEL_MESSAGE_DOC | {1}发了一个文件 | 1. 消息作者 |
| CHANNEL_MESSAGE_DOCS | {1}发布了{2}文件 |
1. 频道名称 2.发布的文件数量 |
| CHANNEL_MESSAGE_FWDS | {1}发了{2}转发的信息 |
1. 消息作者 2.转发消息数量 |
| CHANNEL_MESSAGE_GAME | {1}邀请你一起玩{2} |
1. 消息作者 2.游戏名称 |
| CHANNEL_MESSAGE_GAME_SCORE | {1}在比赛中得分{3}{2} |
1. 用户 2.游戏名称 3。配乐 |
| CHANNEL_MESSAGE_GEO | {1}发布了一个地点 | 1. 频道名称 |
| CHANNEL_MESSAGE_GEOLIVE | {1}发布了实时位置 | 1. 频道名称 |
| CHANNEL_MESSAGE_GIF | {1}发了一个GIF。 | 1. 频道名称 |
| CHANNEL_MESSAGE_GIVEAWAY | {1}发布了{2}x x {3}m Premium订阅的赠品 |
1. 频道名称 2.赠品活动中的Telegram Premium订阅数量 3.每次Telegram Premium订阅的月数在赠品中 |
| CHANNEL_MESSAGE_GIVEAWAY_STARS | {1}发布了一个{3}星的赠奖{2} |
1. 频道名称 2.抽奖中获奖者人数 3.发放的Telegram星数 |
| CHANNEL_MESSAGE_NOTEXT | {1}发了条消息 | 1. 频道名称 |
| CHANNEL_MESSAGE_PAID_MEDIA | {1}发了一篇付费帖子给{2}星 |
1. 频道名称 2.明星 |
| CHANNEL_MESSAGE_PHOTO | {1}发了张照片 | 1. 频道名称 |
| CHANNEL_MESSAGE_PHOTOS | {1}发了{2}张照片 |
1. 频道名称 2.发送的照片数量 |
| CHANNEL_MESSAGE_PLAYLIST | {1}发布了{2}音乐文件 |
1. 频道名称 2.发布的音频文件数量 |
| CHANNEL_MESSAGE_POLL | {1}发了一个投票{2} |
1. 频道名称 2.投票名称 |
| CHANNEL_MESSAGE_QUIZ | {1}发了一个测验{2} |
1. 频道名称 2.测验名称 |
| CHANNEL_MESSAGE_ROUND | {1}发了一段视频消息 | 1. 频道名称 |
| CHANNEL_MESSAGE_STICKER | {1}贴了一个{2}贴纸 |
1. 频道名称 2.贴纸表情 |
| CHANNEL_MESSAGE_STORY | {1}分享了一个故事 | 1. 频道名称 |
| CHANNEL_MESSAGE_TEXT | {1}: {2} |
1. 频道名称 2.消息主体 |
| CHANNEL_MESSAGE_TODO | {1}发布了一份清单{2} |
1. 频道名称 2.清单标题 |
| CHANNEL_MESSAGE_TODO_APPEND | {1}增加了{2}任务 |
1. 频道名称 2.新增任务数量 |
| CHANNEL_MESSAGE_TODO_DONE | {1}开启了{2}任务 |
1. 频道名称 2.切换任务数量 |
| CHANNEL_MESSAGE_VIDEO | {1}发了一个视频 | 1. 频道名称 |
| CHANNEL_MESSAGE_VIDEOS | {1}发了{2}视频 |
1. 频道名称 2.发布的视频数量 |
| CHAT_ADD_MEMBER | {1}邀请{3}加入了{2} |
1. 消息作者 2.聊天名称 3.新参赛者名称 |
| CHAT_ADD_YOU | {1}邀请你参加小组{2} |
1. 用户名 2.集团名称 |
| CHAT_CREATED | {1}邀请你参加小组{2} |
1. 消息作者 2.聊天名称 |
| CHAT_DELETE_MEMBER | {1}将{3}从群{2}中移除 |
1. 消息作者 2.聊天名称 3.被删除的参与者姓名 |
| CHAT_DELETE_YOU | {1}把你从群里移除了{2} |
1. 消息作者 2.聊天名称 |
| CHAT_JOINED | {1}加入了{2} |
1. 用户名 2.集团名称 |
| CHAT_LEFT | {1}离开了{2} |
1. 消息作者 2.聊天名称 |
| CHAT_MESSAGES | {1}给乐队寄了一张专辑{2} |
1. 用户名 2.集团名称 |
| CHAT_MESSAGE_AUDIO | {1}给群组发了语音消息{2} |
1. 消息作者 2.聊天名称 |
| CHAT_MESSAGE_CONTACT | {1}在群组里{3}分享了一个联系人{2} |
1. 用户名 2.组名 3.联系方式 |
| CHAT_MESSAGE_DOC | {1}给群组发了一个文件{2} |
1. 用户名 2.集团名称 |
| CHAT_MESSAGE_DOCS | {1}把{3}文件发给了群组{2} |
1. 用户名 2.组名 3.已发送的文件数量 |
| CHAT_MESSAGE_FWDS | {1}将{3}消息转发给群组{2} |
1. 用户名 2.组名 3.转发的消息数量 |
| CHAT_MESSAGE_GAME | {1}邀请大家{2}一起玩{3} |
1. 用户名 2.组名 3.游戏名称 |
| CHAT_MESSAGE_GAME_SCORE | {1}在小组赛中{3}场得分{4}{2} |
1. 用户名 2.组名 3.游戏名称 4.配乐 |
| CHAT_MESSAGE_GEO | {1}给团队发送了一个位置{2} |
1. 消息作者 2.聊天名称 |
| CHAT_MESSAGE_GEOLIVE | {1}与该小组共享直播地点{2} |
1. 用户名 2.集团名称 |
| CHAT_MESSAGE_GIF | {1}给群里发了一个GIF{2} |
1. 用户名 2.集团名称 |
| CHAT_MESSAGE_GIVEAWAY | {1}向群组发送了{3}x {4}m Premium订阅的赠品{2} |
1. 用户名 2.组名 3.赠品活动中的Telegram Premium订阅数量 4.每次Telegram Premium订阅的月数在赠品中 |
| CHAT_MESSAGE_GIVEAWAY_STARS | {1}向{3}团体发送了{4}颗星星的赠品{2} |
1. 用户名 2.组名 3.抽奖中获奖者人数 4.发放的Telegram星数 |
| CHAT_MESSAGE_INVOICE | {1}给{2}集团寄了一张发票{3} |
1. 用户名 2.组名 3.产品名称 |
| CHAT_MESSAGE_NOTEXT | {1}给群里发了条消息{2} |
1. 消息作者 2.聊天名称 |
| CHAT_MESSAGE_PAID_MEDIA | {1}在{2}群里发了一篇付费帖子给{3}星 |
1. 消息作者 2.聊天名称 3.星星 |
| CHAT_MESSAGE_PHOTO | {1}给群里发了张照片{2} |
1. 消息作者 2.聊天名称 |
| CHAT_MESSAGE_PHOTOS | {1}给{3}群发了照片{2} |
1. 用户名 2.组名 3.发送的照片数量 |
| CHAT_MESSAGE_PLAYLIST | {1}向乐队发送了{3}音乐文件{2} |
1. 用户名 2.组名 3.发送的音频文件数量 |
| CHAT_MESSAGE_POLL | {1}向{3}群发了一份投票{2} |
1. 用户名 2.组名 3.投票名称 |
| CHAT_MESSAGE_QUIZ | {1}给小组发了一个测验{3}{2} |
1. 用户名 2.组名 3.测验名称 |
| CHAT_MESSAGE_ROUND | {1}给那群人发了视频消息{2} |
1. 用户名 2.集团名称 |
| CHAT_MESSAGE_STICKER | {1}给团队寄了一张{3}贴纸{2} |
1. 用户名 2.组名 3.贴纸表情 |
| CHAT_MESSAGE_STORY | {1}向大家分享了一个故事 | 1. 团体名称 |
| CHAT_MESSAGE_TEXT | {1} @ {2}: {3} |
1. 消息作者 2.聊天名称 3.消息主体 |
| CHAT_MESSAGE_TODO | {1} sent a checklist {3} to the group {2} |
1. User 2. Group name 3. Checklist title |
| CHAT_MESSAGE_TODO_APPEND | {1} added {3} tasks in the group {2} |
1. User 2. Group name 3. Number of added tasks |
| CHAT_MESSAGE_TODO_DONE | {1} toggled {3} tasks in the group {2} |
1. User name 2. Group name 3. Number of toggled tasks |
| CHAT_MESSAGE_VIDEO | {1} sent a video to the group {2} |
1. Message author 2. Chat name |
| CHAT_MESSAGE_VIDEOS | {1} sent {3} videos to the group {2} |
1. User name 2. Group name 3. Number of videos that were sent |
| CHAT_PHOTO_EDITED | {1} changed the group photo for {2} |
1. Message author 2. Chat name |
| CHAT_REACT_AUDIO | {1}: {3} to your voice message in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_CONTACT | {1}: {3} to your contact {4} in {2} |
1. User name 2. Group name 3. Reaction 4. Contact name |
| CHAT_REACT_DOC | {1}: {3} to your file in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_GAME | {1}: {3} to your game in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_GEO | {1}: {3} to your map in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_GEOLIVE | {1}: {3} to your live location in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_GIF | {1}: {3} to your GIF in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_GIVEAWAY | {1} reacted {3} in group {2} to your giveaway |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_INVOICE | {1}: {3} to your invoice in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_NOTEXT | {1}: {3} to your message in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_PAID_MEDIA | {1} reacted {3} in group {2} to your paid post for {4} star |
1. User name 2. Group name 3. Reaction 4. Stars |
| CHAT_REACT_PHOTO | {1}: {3} to your photo in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_POLL | {1}: {3} to your poll {4} in {2} |
1. User name 2. Group name 3. Reaction 4. Poll name |
| CHAT_REACT_QUIZ | {1}: {3} to your quiz {4} in {2} |
1. User name 2. Group name 3. Reaction 4. Quiz name |
| CHAT_REACT_ROUND | {1}: {3} to your video message in {2} |
1. User name 2. Group name 3. Reaction |
| CHAT_REACT_STICKER | {1}: {3} to your {4} sticker in {2} |
1. User name 2. Group name 3. Reaction 4. Sticker emoji |
| CHAT_REACT_TEXT | {1}: {3} in {2} to your "{4}" |
1. User name 2. Group name 3. Reaction 4. Message body |
| CHAT_REACT_TODO | {1}: {3} to your checklist {4} in {2} |
1. User name 2. Group name 3. Reaction 4. Checklist title |
| CHAT_REACT_VIDEO | {1}:{3}你的视频,{2} |
1. 用户名 2.组名 3.反应 |
| CHAT_REQ_JOINED | {2}|{1}被接纳进了这个团体 |
1. 用户名 2.聊天名称 |
| CHAT_RETURNED | {1}回到了{2} |
1. 消息作者 2.聊天名称 |
| CHAT_TITLE_EDITED | {1}将该团体更名为{2} |
1. 用户名 2.集团名称 |
| CHAT_VOICECHAT_END | {1}结束了群组的语音{2} |
1. 用户名 2.聊天名称 |
| CHAT_VOICECHAT_INVITE | {1}邀请{3}加入群组的语音聊天{2} |
1. 用户名 2.聊天名 3.受邀用户 |
| CHAT_VOICECHAT_INVITE_YOU | {1}邀请你加入群里的语音聊天{2} |
1. 用户名 2.聊天名称 |
| CHAT_VOICECHAT_START | {1}在群里开始语音聊天,开始了{2} |
1. 用户名 2.聊天名称 |
| CONF_CALL_MISSED | 你错过了{1}的电话 | 1. 用户名 |
| CONTACT_JOINED | {1}加入了Telegram! | 1. 联系方式 |
| ENCRYPTED_MESSAGE | 你有一条新消息 | |
| ENCRYPTION_ACCEPT | 你有一条新消息 | |
| ENCRYPTION_REQUEST | 你有一条新消息 | |
| LOCKED_MESSAGE | 你有一条新消息 | |
| 信息 | {1}给你寄了一张专辑 | 1. 用户名 |
| MESSAGE_AUDIO | {1}给你发了语音消息 | 1. 消息作者 |
| MESSAGE_CONTACT | {1}和你分享了一个联系人{2} |
1. 用户名 2.联系方式 |
| MESSAGE_DOC | {1}给你发了个文件 | 1. 用户名 |
| MESSAGE_DOCS | {1}给你发了{2}文件 |
1. 用户名 2.发送的文件数量 |
| MESSAGE_FWDS | {1}转发了{2}消息给你 |
1. 用户名 2.被转发的消息数量 |
| MESSAGE_GAME | {1}邀请你一起玩{2} |
1. 用户名 2.游戏名称 |
| MESSAGE_GAME_SCORE | {1}在比赛中得分{3}{2} |
1. 用户名 2.游戏名称 3.比分 |
| MESSAGE_GEO | {1}给你发了一个位置 | 1. 消息作者 |
| MESSAGE_GEOLIVE | {1}给你发了一个实时位置 | 1. 用户名 |
| MESSAGE_GIF | {1}给你发了个GIF图 | 1. 用户名 |
| MESSAGE_GIFTCODE | {1}给你发了{2} Telegram Premium的礼品码 |
1. 用户名 2.Telegram 高级订阅期限 |
| MESSAGE_GIVEAWAY | {1}给你发了{2}x {3}m Premium订阅的赠品 |
1. 用户名 2.赠品活动中的Telegram Premium订阅数量 3.赠送活动中每个Telegram Premium订阅的月数 |
| MESSAGE_GIVEAWAY_STARS | {1}给你发了{3}星的赠品{2} |
1. 用户名 2.抽奖中获奖者人数 3.赠送的Telegram星星数量 |
| MESSAGE_INVOICE | {1}给你寄了一张发票{2} |
1. 用户名 2.产品 |
| MESSAGE_NOTEXT | {1}给你发了消息 | 1. 消息作者 |
| MESSAGE_PAID_MEDIA | {1}给你发了一则付费帖子,给你{2}星 |
1. 消息作者 2.星星 |
| MESSAGE_PHOTO | {1}给你发了张照片 | 1. 消息作者 |
| MESSAGE_PHOTOS | {1}给你发了{2}照片 |
1. 用户名 2.发送的照片数量 |
| MESSAGE_PHOTO_SECRET | {1}给你发了一张自毁的照片 | 1. 用户名 |
| MESSAGE_PLAYLIST | {1}给你发了音乐文件{2} |
1. 用户名 2.发送的音频文件数量 |
| MESSAGE_POLL | {1}给你发了个投票{2} |
1. 用户名 2.投票名称 |
| MESSAGE_QUIZ | {1}给你发了个测验{2} |
1. 用户名 2.测验名称 |
| MESSAGE_RECURRING_PAY | 你被{2}起诉{1} |
1. 定期订阅资金的实体 2.定期订阅的费用 |
| MESSAGE_ROUND | {1}给你发了视频消息 | 1. 用户名 |
| MESSAGE_SAME_WALLPAPER | {1}为这次聊天设置了同样的壁纸 | 1. 用户名 |
| MESSAGE_SCREENSHOT | {1}截了个图 | 1. 用户名 |
| MESSAGE_STARGIFT | {1}送给你一份价值{2}星的礼物 |
1. 用户名 2.电报星数 |
| MESSAGE_STARGIFT_UPGRADE | {1}升级了你的天赋 | 1. 用户名 |
| MESSAGE_STICKER | {1}给你寄了个{2}贴纸 |
1. 用户名 2.贴纸表情 |
| MESSAGE_STORY | {1} shared a story with you | 1. User name |
| MESSAGE_STORY_MENTION | {1} mentioned you in a story | 1. User name |
| MESSAGE_TEXT | {1}: {2} |
1. Message author 2. Message body |
| MESSAGE_TODO | {1} sent you a checklist {2} |
1. User name 2. Checklist title |
| MESSAGE_UNIQUE_STARGIFT | {1} transferred you a Gift! | 1. User name |
| MESSAGE_VIDEO | {1} sent you a video | 1. Message author |
| MESSAGE_VIDEOS | {1} sent you {2} videos |
1. User name 2. Number of videos that were sent |
| MESSAGE_VIDEO_SECRET | {1} sent you a self-destructing video | 1. User name |
| MESSAGE_WALLPAPER | {1} set a new wallpaper for this chat | 1. User name |
| PHONE_CALL_MISSED | You missed a call from {1} | 1. User name |
| PHONE_CALL_REQUEST | {1} is calling you! | 1. User name |
| PINNED_AUDIO | {1} pinned a voice message | 1. User name |
| PINNED_AUDIO | {1} pinned a voice message in the group {2} |
1. User name 2. Group name |
| PINNED_CONTACT | {1} pinned a contact {2} |
1. User name 2. Contact name |
| PINNED_CONTACT | {1} pinned a contact {3} in the group {2} |
1. User name 2. Group name 3. Contact name |
| PINNED_DOC | {1} pinned a file | 1. User name |
| PINNED_DOC | {1} pinned a file in the group {2} |
1. User name 2. Group name |
| PINNED_GAME | {1} pinned a game | 1. User name |
| PINNED_GAME | {1} pinned a game in the group {2} |
1. User name 2. Group name |
| PINNED_GAME_SCORE | {1} pinned a game score | 1. User name |
| PINNED_GAME_SCORE | {1} pinned a game score in the group {2} |
1. User name 2. Group name |
| PINNED_GEO | {1} pinned a map | 1. User name |
| PINNED_GEO | {1} pinned a map in the group {2} |
1. User name 2. Group name |
| PINNED_GEOLIVE | {1} pinned a live location | 1. User name |
| PINNED_GEOLIVE | {1} pinned a live location in the group {2} |
1. User name 2. Group name |
| PINNED_GIF | {1} pinned a GIF | 1. User name |
| PINNED_GIF | {1} pinned a GIF in the group {2} |
1. User name 2. Group name |
| PINNED_GIVEAWAY | {1} pinned a giveaway | 1. User name |
| PINNED_GIVEAWAY | {1} pinned a giveaway in the group {2} |
1. User name 2. Group name |
| PINNED_INVOICE | {1} pinned an invoice | 1. User name |
| PINNED_INVOICE | {1} pinned an invoice in the group {2} |
1. User name 2. Group name |
| PINNED_NOTEXT | {1} pinned a message | 1. User name |
| PINNED_NOTEXT | {1} pinned a message in the group {2} |
1. User name 2. Group name |
| PINNED_PAID_MEDIA | {1} pinned a paid post for {2} star |
1. User name 2. Stars |
| PINNED_PAID_MEDIA | {1} pinned a paid post for {3} star in the group {2} |
1. User name 2. Group name 3. Stars |
| PINNED_PHOTO | {1} pinned a photo | 1. User name |
| PINNED_PHOTO | {1} pinned a photo in the group {2} |
1. User name 2. Group name |
| PINNED_POLL | {1} pinned a poll {2} |
1. User name 2. Poll name |
| PINNED_POLL | {1} pinned a poll {3} in the group {2} |
1. User name 2. Group name 3. Poll name |
| PINNED_QUIZ | {1} pinned a quiz {2} |
1. User name 2. Quiz name |
| PINNED_QUIZ | {1} pinned a quiz {3} in the group {2} |
1. User name 2. Group name 3. Quiz name |
| PINNED_ROUND | {1} pinned a video message | 1. User name |
| PINNED_ROUND | {1} pinned a video message in the group {2} |
1. User name 2. Group name |
| PINNED_STICKER | {1}别上了{2}贴纸 |
1. 用户名 2.贴纸表情 |
| PINNED_STICKER | {1}在群组里别了一个{3}贴纸{2} |
1. 用户名 2.组名 3.贴纸表情 |
| PINNED_TEXT | {1}钉在“{2}” |
1. 用户名 2.消息主体 |
| PINNED_TEXT | {1}在组{3}中钉住了“”{2} |
1. 用户名 2.组名 3.消息主体 |
| PINNED_TODO | {1}把清单钉在了{2} |
1. 用户名 2.清单标题 |
| PINNED_TODO | {1}在群组里{3}了一份清单{2} |
1. 用户名 2.组名 3.清单标题 |
| PINNED_VIDEO | {1}置顶了一个视频 | 1. 用户名 |
| PINNED_VIDEO | {1}在群组里钉了一个视频{2} |
1. 用户名 2.集团名称 |
| REACT_AUDIO | {1}:{2}到你的语音留言 |
1. 用户名 2.反响 |
| REACT_CONTACT | {1}:{2}你的联系人,联系人{3} |
1. 用户名 2.反应3 。联系方式 |
| REACT_DOC | {1}:{2}你的档案 |
1. 用户名 2.反响 |
| REACT_GAME | {1}:{2}你的游戏 |
1. 用户名 2.反响 |
| REACT_GEO | {1}:{2}你的地图 |
1. 用户名 2.反响 |
| REACT_GEOLIVE | {1}:{2}你的实时位置 |
1. 用户名 2.反响 |
| REACT_GIF | {1}:{2}你的GIF吧 |
1. 用户名 2.反响 |
| REACT_GIVEAWAY | {1}对你的赠品{2}反应 |
1. 用户名 2.反响 |
| REACT_HIDDEN | 对你信息的新反应 | |
| REACT_INVOICE | {1}:{2}你的发票 |
1. 用户名 2.反响 |
| REACT_NOTEXT | {1}:{2}你的信息 |
1. 用户名 2.反响 |
| REACT_PHOTO | {1}:{2}你的照片 |
1. 用户名 2.反响 |
| REACT_POLL | {1}:{2}你的投票{3} |
1. 用户名 2.反应3 。投票名称 |
| REACT_QUIZ | {1}:{2}你的测验{3} |
1. 用户名 2.反应3 。测验名称 |
| REACT_ROUND | {1}:{2}你的视频留言 |
1. 用户名 2.反响 |
| REACT_STICKER | {1}:{2}你的{3}贴纸 |
1. 用户名 2.反应3 。贴纸表情 |
| REACT_STORY | {1}:{2}你的故事 |
1. 故事发布 的同类 2.反响 |
| REACT_STORY_HIDDEN | 对你故事的新反应 | |
| REACT_TEXT | {1}:{2}你的“{3}” |
1. 用户名 2.反应3 。消息主体 |
| REACT_TODO | {1}:{2}你的清单{3} |
1. 用户名 2.反应3 。清单标题 |
| REACT_VIDEO | {1}:{2}你的视频 |
1. 用户名 2.反响 |
| STORY_HIDDEN_AUTHOR | 新故事发布了 | |
| STORY_NOTEXT | {1}发了个故事 | 1. 同侪名 |