Telegram Premium
Telegram Premium 是一项可选的订阅服务,可解锁更多专属的客户端和 API 功能,同时也有助于支持应用的开发。它是 Telegram可持续盈利模式的一部分——由用户驱动,而非广告商或股东。这样,Telegram 才能保持独立运营,并将用户放在首位。
本页面介绍了客户端应用程序应如何处理高级功能:有关 Telegram Premium 功能的易懂概述,请参阅Telegram Premium 常见问题解答。
Telegram Premium 用户
inputUserSelf#f7c1b13f = InputUser;user#20b1422 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true bot_has_main_app:flags2.13?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor bot_active_users:flags2.12?int bot_verification_icon:flags2.14?long send_paid_messages_stars:flags2.15?long = User;help.premiumPromo#5334759c status_text:string status_entities:Vector<MessageEntity> video_sections:Vector<string> videos:Vector<Document> period_options:Vector<PremiumSubscriptionOption> users:Vector<User> = help.PremiumPromo;---functions---users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>; help.getPremiumPromo#b81b93d4 = help.PremiumPromo;
高级用户将拥有用户premium设置的标志。
使用`users.getUsers`并传入`inputUserSelf` 参数可以获取当前用户的订阅状态信息。
您也可以直接使用`help.getPremiumPromo`,它会在相应字段中返回当前用户的信息users。
Telegram Premium 功能
Telegram Premium 提供一系列附加功能和更高的限制:客户应了解当前的订阅状态,以便相应地调整客户行为。
促销页面
help.premiumPromo#5334759c status_text:string status_entities:Vector<MessageEntity> video_sections:Vector<string> videos:Vector<Document> period_options:Vector<PremiumSubscriptionOption> users:Vector<User> = help.PremiumPromo;---functions---help.getPremiumPromo#b81b93d4 = help.PremiumPromo; help.getAppConfig#61e3f854 hash:int = help.AppConfig;
help.getPremiumPromo返回的 help.premiumPromo 构造函数包含有关订阅的各种信息,如构造函数页面中所述。
客户端应在设置中显示 Telegram Premium 按钮。
点击设置中的此按钮、点击高级用户徽章或达到下方列出的任何高级用户限制,均应打开 Telegram Premium 弹窗。
调用help.getPremiumPromo和help.getAppConfig获取有关如何构建高级模态框的信息。
help.getAppConfig将在premium_promo_orderappConfig 字段中返回一个高级功能标识符列表:模态框应包含每个返回功能的一行,并按照返回数组中指定的顺序排列。
如果达到相关限制,则 在订阅 Telegram Premium时必须使用这些功能标识符。
可能的特征标识符:
stories
Telegram Premium增加了一些与故事相关的功能。
与故事相关的付费功能也有特定的子标识符,如果用户在达到以下与故事相关的限制之一后 选择订阅 Telegram Premium,则会使用这些子标识符。
如果用户只是在阅读了与故事相关的功能的宣传页面后注册,则将其stories作为功能标识符传递。
以下是与故事相关的所有功能及其子标识符(包含在标题中)的完整列表:
stories__priority_order
使用stories.getAllStories获取活跃故事列表时,高级用户发布的故事会优先显示给其他用户。
stories__stealth_mode
高级用户可以激活隐身模式»。
stories__permanent_views_history
高级用户即使故事过期也能获取完整的故事浏览列表 »
stories__expiration_durations
高级用户发布文章时可以设置自定义过期选项 »
stories__save_stories_to_gallery
高级用户可以保存其他用户未加密的故事。
stories__links_and_formatting
高级用户可以设置故事标题中的文本实体和链接样式,并使用URL 媒体区域,如stories_entities »配置键所指定。
stories__quality
高级用户可以观看更高质量的故事。
还有一些高级故事功能,列在“限制”部分 » 中。
请参阅故事文档»以了解有关故事的更多信息。
double_limits
点击此条目应该会打开一个辅助弹出窗口,其中列出了改进后的高级限额,如下所示。
与限制相关的 Premium 功能也有某些子标识符,如果用户在达到以下限制之一后 选择订阅 Telegram Premium,则会使用这些子标识符。
如果用户只是在阅读了促销页面上的限制信息后才注册,则将其double_limits作为功能标识符传递。
以下是所有改进的限制及其子标识符的完整列表(包含在标题中):
double_limits__channels
配置键:channels_limit_premium »/channels_limit_default »
高级用户/非高级用户可加入的频道和超级群组的最大数量(整数)
double_limits__saved_gifs
配置项:saved_gifs_limit_premium »/saved_gifs_limit_default »
高级用户/非高级用户可保存的GIF 最大数量(整数)
double_limits__stickers_faved
配置项:stickers_faved_limit_premium »/stickers_faved_limit_default »
高级用户/非高级用户可添加到收藏夹的贴纸最大数量»(整数)
double_limits__dialog_filters
配置项:dialog_filters_limit_premium »/dialog_filters_limit_default »
高级用户/非高级用户可创建的最大文件夹数量(整数)
double_limits__dialog_filters_chats
配置项:dialog_filters_chats_limit_premium »/dialog_filters_chats_limit_default »
高级用户/非高级用户可添加到文件夹中的最大聊天记录数量(整数)
double_limits__dialogs_pinned
配置项:dialogs_pinned_limit_premium »/dialogs_pinned_limit_default »
高级用户/非高级用户可置顶的最大聊天数量(整数)
double_limits__dialogs_folder_pinned
配置项:dialogs_folder_pinned_limit_premium »/dialogs_folder_pinned_limit_default »
高级用户/非高级用户在文件夹中可置顶的聊天记录最大数量(整数)
double_limits__channels_public
配置键:channels_public_limit_premium »/channels_public_limit_default »
高级/非高级用户可以创建的公共频道或超级群组的最大数量(整数)
double_limits__caption_length
配置项:caption_length_limit_premium »/caption_length_limit_default »
高级用户/非高级用户可发送的媒体字幕的最大 UTF-8 长度(整数)
double_limits__about_length
配置键:about_length_limit_premium »/about_length_limit_default »
高级用户/非高级用户的 BIOS 最大 UTF-8 长度(整数)
double_limits__chatlist_invites
配置项:chatlist_invites_limit_premium »/chatlist_invites_limit_default »
高级用户/非高级用户可创建的每个文件夹聊天文件夹深度链接的最大数量。(整数)
double_limits__chatlists_joined
配置项:chatlists_joined_limit_premium »/chatlists_joined_limit_default »
高级用户/非高级用户可共享文件夹 的最大数量。(整数)
double_limits__story_expiring
配置键:story_expiring_limit_premium »/story_expiring_limit_default »
Premium用户/非Premium用户的最大活跃故事数(整数)。
double_limits__story_caption_length
配置项:story_caption_length_limit_premium »/story_caption_length_limit_default »
高级用户/非高级用户故事标题的最大 UTF-8 长度。(整数)
double_limits__stories_sent_weekly
配置键:stories_sent_weekly_limit_premium »/stories_sent_weekly_limit_default »
高级用户/非高级用户每周可发送的故事数量上限。(整数)
double_limits__stories_sent_monthly
配置键:stories_sent_monthly_limit_premium »/stories_sent_monthly_limit_default »
高级用户/非高级用户每月可发送的故事数量上限。(整数)
double_limits__stories_suggested_reactions
配置项:stories_suggested_reactions_limit_premium »/stories_suggested_reactions_limit_default »
高级用户/非高级用户可添加到故事中的故事互动媒体区域的最大数量。(整数)
double_limits__recommended_channels
配置项:recommendation_channels_limit_premium »/recommended_channels_limit_default »
channels.getChannelRecommendations»可以向高级用户/非高级用户推荐的相似频道的最大数量。(整数)
double_limits__saved_dialogs_pinned
配置键:saved_dialogs_pinned_limit_premium »/saved_dialogs_pinned_limit_default »
高级用户/非高级用户已保存消息中置顶对话框的最大数量。(整数)
business
高级用户目前可以使用Telegram Business 功能 »。
last_seen
高级用户可以查看其他用户的最后上线时间和消息已读时间,但无法查看当前用户的最后上线时间或已读时间。
message_privacy
高级用户可以使用inputPrivacyKeyVoiceMessages禁止在私人聊天中接收语音和视频留言消息,并限制接收来自非联系人的消息。
more_upload
高级用户可以上传更大的文件,具体大小由upload_max_fileparts_default与upload_max_fileparts_premium配置键指定。
faster_download
FLOOD_PREMIUM_WAIT_X高级用户没有下载速度限制(即下载文件时不会收到错误,详情请参见此处» )。
wallpapers
高级用户可以为自己和聊天中的其他用户设置自定义聊天壁纸。
peer_colors
高级用户可以为个人资料背景和消息选择自定义颜色和背景表情符号。
voice_to_text
高级用户可以无限制地转录语音留言。
translations
高级用户可以启用实时聊天翻译功能。
no_ads
高级用户看不到任何赞助信息。
unique_reactions
高级用户可以使用更多消息回复功能。
premium_stickers
高级用户可以访问高级贴纸集。
animated_emoji
高级用户可以发送自定义动画表情符号。
advanced_chat_management
高级用户可以重新排列默认文件夹,自动存档,并对非联系人隐藏新聊天记录。
profile_badge
高级用户的名字旁边会显示一个徽章,表明他们正在帮助支持 Telegram。
animated_userpics
高级用户的动态头像将在聊天过程中以及浏览对话列表时播放。
app_icons
高级用户可以更改 Telegram 应用的默认图标。
infinite_reactions
高级用户在回复消息时可以使用自定义表情符号。
emoji_status
高级用户可以设置状态表情符号。
saved_tags
高级用户可以使用已保存的消息标签。
effects
高级用户可以使用消息特效。
channel_boost
高级用户可以提升聊天和频道的曝光度。
forum_topic_icon
高级用户可以将自定义表情符号设置为论坛主题图标。
todo
高级用户可以发布待办事项清单 »
徽章
拥有 Telegram Premium 订阅的用户(用户已premium设置)应该在其名称旁边显示 Telegram Premium 徽章。
动态头像
高级用户的动态头像应该在聊天和对话列表中播放,而不仅仅是在打开个人资料页面时播放。
贴纸建议
高级用户的建议贴纸选择逻辑略有不同,点击此处了解更多信息»。
订阅 Telegram Premium
以下是用户点击订阅按钮后激活 Telegram Premium 订阅的方法:
-
如果premium_bot_username已设置该字段,则调用messages.startBot,并指定以下参数:
- peer以及bot:文中提到的机器人premium_bot_username
-
start_param以下值之一:
- 如果用户在查看特定高级功能的促销页面时点击订阅按钮,则提供功能标识符(如果从主促销页面打开,则提供空字符串)。
- 如果用户在查看特定Telegram Business功能的推广页面时点击订阅按钮,则提供该业务功能标识符(或者business如果是从主业务推广页面打开的)。
- 如果用户在达到 Telegram Premium 提高的限额后点击订阅按钮,则提供其中一个限额标识符。
- 如果用户在达到Telegram Premium 提高的故事相关限制后点击订阅按钮,则提供其中一个故事功能标识符。
- 如果用户点击设置中的 Telegram Premium 按钮上的订阅按钮,则提供settings
- 如果用户点击个人资料页面中 Telegram Premium 星标上的订阅按钮,则提供profile
- 如果用户打开了高级推荐链接,则分别判断deeplink该链接是否referrer为空以及deeplink_$referrer是否不为空。然后,当用户点击已发送账单中的订阅按钮时,按照邮件账单的常规支付流程进行处理。
- 否则,如果设置了该字段,则像处理发票深度链接premium_invoice_slug一样处理付款。t.me/$premium_invoice_slug
还有一种基于payments.assignAppStoreTransaction/payments.assignPlayMarketTransaction的商店订阅流程,但目前第三方应用无法使用(与上述流程不同,后者可供所有客户端使用)。
赠送 Telegram Premium
注意:要将高级订阅赠送给多个朋友,必须改用此处描述的替代付款流程»(inputStorePaymentPremiumGiftCode未设置)。boost_peer
premiumGiftCodeOption#257e962b flags:# users:int months:int store_product:flags.0?string store_quantity:flags.1?int currency:string amount:long = PremiumGiftCodeOption;inputInvoicePremiumGiftStars#dabab2ef flags:# user_id:InputUser months:int message:flags.0?TextWithEntities = InputInvoice;messageActionGiftPremium#6c6274fa flags:# currency:string amount:long months:int crypto_currency:flags.0?string crypto_amount:flags.0?long message:flags.1?TextWithEntities = MessageAction;inputStickerSetPremiumGifts#c88b3b02 = InputStickerSet;---functions---payments.getPremiumGiftCodeOptions#2757ba54 flags:# boost_peer:flags.0?InputPeer = Vector<PremiumGiftCodeOption>;
如果私聊中的对方用户没有高级会员订阅,我们可以赠送他们一个一次性的 Telegram 高级会员订阅。
如果用户和另一个用户的userFulldisplay_gifts_button标志都已设置(通过globalPrivacySettings更改),则在与该用户的私聊中,文本字段中应始终显示一个礼物按钮:点击后,应显示礼物界面,为用户提供赠送Telegram Premium »订阅或Telegram 礼物 »的选项。
同一个送礼界面应该始终(无条件地)通过聊天选择器提供,可通过应用程序设置中的“赠送礼物”选项激活。
用户可以通过设置globalPrivacySettings标志来禁止接收特定类型的礼物,该disallowed_gifts标志对userFull中的其他用户可见。disallowed_gifts
要获取 Telegram Premium 的可用礼品选项,请调用payments.getPremiumGiftCodeOptions。
返回的premiumGiftCodeOption构造函数是一个有序列表,其中包含根据订阅期限提供的、在基本价格基础上有折扣的 Premium 礼品优惠。
仅筛选出用于赠品的users == 1选项。users > 1
每个users/months组合最多可以有两个选项:一个是用户的本地货币,另一个(可选)是Telegram Stars(currency == "XTR")。
currency非官方客户端应该只显示和使用带“=”的选项XTR。
要使用Telegram Stars支付 Telegram Premium 订阅,请创建inputInvoicePremiumGiftStars,然后按照通常的付款流程进行 »。
付款成功处理后,收礼用户将自动收到来自送礼用户的messageService ,其中包含一个messageActionGiftPremium构造函数,其中包含有关赠送的 Telegram Premium 会员资格的价格和期限的更多信息。
客户端应显示此消息,并附上inputStickerSetPremiumGifts 贴纸集中的一个贴纸:这里有一个示例。
请注意,如果premium_gift_attach_menu_icon应用配置参数为true,则在与用户的私聊附件菜单中应显示礼物图标,允许当前用户向聊天中的其他用户 赠送Telegram Premium订阅。
如果该premium_gift_text_field_icon参数也已设置,则在与用户的私聊中,文本栏中应显示一个礼物图标(类似于/与机器人聊天中的图标),提示当前用户向聊天中的其他用户赠送Telegram Premium会员资格。只有当另一个参数也为真时,该参数才能为真premium_gift_attach_menu_icon。
请注意,即使premium_gifts未设置该字段,我们仍然可以使用此处描述的替代付款流程赠送一个(或多个!)高级订阅 »(未设置inputStorePaymentPremiumGiftCodeboost_peer)。
将Telegram Premium订阅赠送给其他用户将为我们创建boosts_per_sent_gift 提升槽位 »,并为接收用户创建一个提升槽位。
Telegram Premium 被屏蔽
如果设置了premium_purchase_blocked应用程序配置参数,用户将无法购买高级帐户,并且所有 Telegram Premium 功能都必须隐藏(例如高级用户的徽章、Telegram Premium 购买按钮等)。