telegram-crawler/data/web/blogfork.telegram.org/constructor/channel.html
2024-09-23 18:02:35 +00:00

414 lines
34 KiB
HTML

<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>channel</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Channel/supergroup info When updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren&#39;t set in the new constructor). The only exception to the above rule is when the min flag is set, in which case only the following fields must be applied over any locally stored version: - title - megagroup - color - photo - username - usernames - has_geo - noforwards - emoji_status - has_link - slow_mode_enabled - scam - fake - gigagroup - forum - level - restricted - restriction_reason - join_to_send - join_request - is_verified - default_banned_rights See here » for an implementation of the logic to use when updating the local user peer database.">
<meta property="og:title" content="channel">
<meta property="og:image" content="">
<meta property="og:description" content="Channel/supergroup info When updating the local peer database, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren&#39;t set in the new constructor). The only exception to the above rule is when the min flag is set, in which case only the following fields must be applied over any locally stored version: - title - megagroup - color - photo - username - usernames - has_geo - noforwards - emoji_status - has_link - slow_mode_enabled - scam - fake - gigagroup - forum - level - restricted - restriction_reason - join_to_send - join_request - is_verified - default_banned_rights See here » for an implementation of the logic to use when updating the local user peer database.">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
<link href="/css/telegram.css?241" rel="stylesheet" media="screen">
<style>
</style>
</head>
<body class="preload">
<div class="dev_page_wrap">
<div class="dev_page_head navbar navbar-static-top navbar-tg">
<div class="navbar-inner">
<div class="container clearfix">
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
<ul class="nav navbar-nav">
<li><a href="//telegram.org/">Home</a></li>
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
<li class=""><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class="active"><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/channel" >channel</a></li></ul></div>
<h1 id="dev_page_title">channel</h1>
<div id="dev_page_content"><p>Channel/supergroup info</p>
<p>When updating the <a href="/api/peers">local peer database</a>, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).</p>
<p>The only exception to the above rule is when the <code>min</code> flag is set, in which case <strong>only</strong> the following fields must be applied over any locally stored version:</p>
<ul>
<li><code>title</code></li>
<li><code>megagroup</code></li>
<li><code>color</code></li>
<li><code>photo</code></li>
<li><code>username</code></li>
<li><code>usernames</code></li>
<li><code>has_geo</code></li>
<li><code>noforwards</code></li>
<li><code>emoji_status</code></li>
<li><code>has_link</code></li>
<li><code>slow_mode_enabled</code></li>
<li><code>scam</code></li>
<li><code>fake</code></li>
<li><code>gigagroup</code></li>
<li><code>forum</code></li>
<li><code>level</code></li>
<li><code>restricted</code></li>
<li><code>restriction_reason</code></li>
<li><code>join_to_send</code></li>
<li><code>join_request</code></li>
<li><code>is_verified</code></li>
<li><code>default_banned_rights</code></li>
</ul>
<p>See <a href="https://github.com/tdlib/td/blob/a24af0992245f838f2b4b418a0a2d5fa9caa27b5/td/telegram/ChatManager.cpp#L8329">here »</a> for an implementation of the logic to use when updating the <a href="/api/peers">local user peer database</a>.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 185 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="?layer=1">1 &ndash; Base layer</a></li><li><a href="?layer=2">2 &ndash; New userpic notifications</a></li><li><a href="?layer=3">3 &ndash; Send message can trigger link change</a></li><li><a href="?layer=4">4 &ndash; Check-in chats</a></li><li><a href="?layer=5">5 &ndash; Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 &ndash; Foursquare integration</a></li><li><a href="?layer=7">7 &ndash; Added wallPaperSolid</a></li><li><a href="?layer=8">8 &ndash; Added end-to-end encryption</a></li><li><a href="?layer=9">9 &ndash; Improved big files upload perfomance</a></li><li><a href="?layer=10">10 &ndash; Improved chat participants updates</a></li><li><a href="?layer=11">11 &ndash; Improved secret chats</a></li><li><a href="?layer=12">12 &ndash; New dynamic support</a></li><li><a href="?layer=13">13 &ndash; Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 &ndash; Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 &ndash; Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 &ndash; Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 &ndash; Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 &ndash; Added usernames</a></li><li><a href="?layer=23">23 &ndash; Stickers for secret chats</a></li><li><a href="?layer=105">105 &ndash; Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 &ndash; Login with QR code</a></li><li><a href="?layer=109">109 &ndash; Polls v2</a></li><li><a href="?layer=110">110 &ndash; People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 &ndash; Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 &ndash; Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 &ndash; PSA</a></li><li><a href="?layer=114">114 &ndash; Video thumbs for GIFs</a></li><li><a href="?layer=115">115 &ndash; Peek Channel Invite</a></li><li><a href="?layer=116">116 &ndash; Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 &ndash; WebRTC Phone Calls</a></li><li><a href="?layer=118">118 &ndash; Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 &ndash; Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 &ndash; Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121">121 &ndash; SVG-based Outlines for Stickers</a></li><li><a href="?layer=122">122 &ndash; Voice Chats</a></li><li><a href="?layer=123">123 &ndash; Voice Chat improvements</a></li><li><a href="?layer=124">124 &ndash; Expiring Invite links</a></li><li><a href="?layer=125">125 &ndash; Voice Chats in Broadcasts</a></li><li><a href="?layer=126">126 &ndash; Ban channels in channels</a></li><li><a href="?layer=127">127 &ndash; Payments in channels</a></li><li><a href="?layer=128">128 &ndash; Microthumbs for User/Chat profile photos</a></li><li><a href="?layer=129">129 &ndash; Video Chats</a></li><li><a href="?layer=130">130 &ndash; Custom placeholder for bot reply keyboards</a></li><li><a href="?layer=131">131 &ndash; Reset 2FA Password after a week</a></li><li><a href="?layer=132">132 &ndash; Chat themes</a></li><li><a href="?layer=133">133 &ndash; 64-bit IDs for User/Chat</a></li><li><a href="?layer=134">134 &ndash; Chat Requests, Shared Media Calendar</a></li><li><a href="?layer=135">135 &ndash; Send Message As a Channel</a></li><li><a href="?layer=136">136 &ndash; Reactions</a></li><li><a href="?layer=137">137 &ndash; Translations</a></li><li><a href="?layer=138">138 &ndash; GIF Sticker Packs</a></li><li><a href="?layer=139">139 &ndash; RTMP streaming</a></li><li><a href="?layer=140">140 &ndash; WebApps, Cloud Ringtones</a></li><li><a href="?layer=142">142 &ndash; TCP Reflectors</a></li><li><a href="?layer=143">143 &ndash; Premium Subscription, Cloud Invoices</a></li><li><a href="?layer=144">144 &ndash; Premium as a Gift, Custom Emoji</a></li><li><a href="?layer=145">145 &ndash; Custom Reactions, Statuses, Sign In with email</a></li><li><a href="?layer=147">147 &ndash; Keywords for stickers and emojis</a></li><li><a href="?layer=148">148 &ndash; Forums, collectible usernames</a></li><li><a href="?layer=150">150 &ndash; Pinned forum topics, general topic</a></li><li><a href="?layer=151">151 &ndash; Media spoilers, suggested profile photos</a></li><li><a href="?layer=152">152 &ndash; Real-time translations, Firebase SMS authentication</a></li><li><a href="?layer=153">153 &ndash; Modify created stickersets</a></li><li><a href="?layer=155">155 &ndash; Dates for reactions</a></li><li><a href="?layer=158">158 &ndash; Shared folders, per-chat wallpapers</a></li><li><a href="?layer=159">159 &ndash; Anonymous votes</a></li><li><a href="?layer=160">160 &ndash; Stories</a></li><li><a href="?layer=164">164 &ndash; Stories in Channels</a></li><li><a href="?layer=166">166 &ndash; Giveaways in channels</a></li><li><a href="?layer=167">167 &ndash; Similar channels</a></li><li><a href="?layer=168">168 &ndash; Channel colors</a></li><li><a href="?layer=169">169 &ndash; Multiselection of chats for bots</a></li><li><a href="?layer=170">170 &ndash; Saved Messages 2.0</a></li><li><a href="?layer=171">171 &ndash; Saved Messages 2.0</a></li><li><a href="?layer=174">174 &ndash; Group boosts</a></li><li><a href="?layer=176">176 &ndash; Business</a></li><li><a href="?layer=177">177 &ndash; Business Bots, Birthdays</a></li><li><a href="?layer=178">178 &ndash; Saved Personal channel, Reactions notifications</a></li><li><a href="?layer=179">179 &ndash; Channel revenue stats, phrases in SMS</a></li><li><a href="?layer=180">180 &ndash; Message Effects, Hashtags</a></li><li><a href="?layer=181">181 &ndash; Stars</a></li><li><a href="?layer=182">182 &ndash; Stars Revenue</a></li><li><a href="?layer=183">183 &ndash; Paid posts</a></li><li><a href="?layer=184">184 &ndash; Stars Refunds</a></li><li><a href="?layer=185"><strong>185 &ndash; MiniApp Store, Star Gifts</strong></a></li>
<li class="divider"></li>
<li><a href="/api/layers">More...</a></li>
</ul>
</li>
</ul>
</div>
<pre class="page_scheme"><code><a href="/constructor/channel" class="current_page_link" >channel</a>#aadfc8f flags:<a href="/type/%23" >#</a> creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true forum:flags.30?true flags2:<a href="/type/%23" >#</a> stories_hidden:flags2.1?true stories_hidden_min:flags2.2?true stories_unavailable:flags2.3?true id:<a href="/type/long" >long</a> access_hash:flags.13?<a href="/type/long" >long</a> title:<a href="/type/string" >string</a> username:flags.6?<a href="/type/string" >string</a> photo:<a href="/type/ChatPhoto" >ChatPhoto</a> date:<a href="/type/int" >int</a> restriction_reason:flags.9?<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/RestrictionReason" >RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights" >ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights" >ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights" >ChatBannedRights</a> participants_count:flags.17?<a href="/type/int" >int</a> usernames:flags2.0?<a href="/type/Vector%20t" >Vector</a>&lt;<a href="/type/Username" >Username</a>&gt; stories_max_id:flags2.4?<a href="/type/int" >int</a> color:flags2.7?<a href="/type/PeerColor" >PeerColor</a> profile_color:flags2.8?<a href="/type/PeerColor" >PeerColor</a> emoji_status:flags2.9?<a href="/type/EmojiStatus" >EmojiStatus</a> level:flags2.10?<a href="/type/int" >int</a> = <a href="/type/Chat" >Chat</a>;</code></pre></p>
<h3><a class="anchor" href="#parameters" id="parameters" name="parameters"><i class="anchor-icon"></i></a>Parameters</h3>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th style="text-align: center;">Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>flags</strong></td>
<td style="text-align: center;"><a href="/type/%23">#</a></td>
<td>Flags, see <a href="/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></td>
</tr>
<tr>
<td><strong>creator</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td>
<td>Whether the current user is the creator of this channel</td>
</tr>
<tr>
<td><strong>left</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.2?<a href="/constructor/true">true</a></td>
<td>Whether the current user has left or is not a member of this channel</td>
</tr>
<tr>
<td><strong>broadcast</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.5?<a href="/constructor/true">true</a></td>
<td>Is this a channel?</td>
</tr>
<tr>
<td><strong>verified</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.7?<a href="/constructor/true">true</a></td>
<td>Is this channel verified by telegram?</td>
</tr>
<tr>
<td><strong>megagroup</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.8?<a href="/constructor/true">true</a></td>
<td>Is this a supergroup? <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>restricted</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/constructor/true">true</a></td>
<td>Whether viewing/writing in this channel for a reason (see <code>restriction_reason</code>)</td>
</tr>
<tr>
<td><strong>signatures</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.11?<a href="/constructor/true">true</a></td>
<td>Whether signatures are enabled (channels)</td>
</tr>
<tr>
<td><strong>min</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.12?<a href="/constructor/true">true</a></td>
<td>See <a href="/api/min">min</a></td>
</tr>
<tr>
<td><strong>scam</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.19?<a href="/constructor/true">true</a></td>
<td>This channel/supergroup is probably a scam <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>has_link</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.20?<a href="/constructor/true">true</a></td>
<td>Whether this channel has a linked <a href="/api/discussion">discussion group »</a> (or this supergroup is a channel's discussion group). The actual ID of the linked channel/supergroup is contained in <a href="/constructor/channelFull">channelFull</a>.<code>linked_chat_id</code>. <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>has_geo</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.21?<a href="/constructor/true">true</a></td>
<td>Whether this chanel has a geoposition</td>
</tr>
<tr>
<td><strong>slowmode_enabled</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.22?<a href="/constructor/true">true</a></td>
<td>Whether slow mode is enabled for groups to prevent flood in chat. <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>call_active</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.23?<a href="/constructor/true">true</a></td>
<td>Whether a group call or livestream is currently active</td>
</tr>
<tr>
<td><strong>call_not_empty</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.24?<a href="/constructor/true">true</a></td>
<td>Whether there's anyone in the group call or livestream</td>
</tr>
<tr>
<td><strong>fake</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.25?<a href="/constructor/true">true</a></td>
<td>If set, this <a href="/api/channel">supergroup/channel</a> was reported by many users as a fake or scam: be careful when interacting with it. <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>gigagroup</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.26?<a href="/constructor/true">true</a></td>
<td>Whether this <a href="/api/channel">supergroup</a> is a gigagroup<br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>noforwards</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.27?<a href="/constructor/true">true</a></td>
<td>Whether this channel or group is <a href="https://telegram.org/blog/protected-content-delete-by-date-and-more">protected</a>, thus does not allow forwarding messages from it</td>
</tr>
<tr>
<td><strong>join_to_send</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.28?<a href="/constructor/true">true</a></td>
<td>Whether a user needs to join the supergroup before they can send messages: can be false only for <a href="/api/discussion">discussion groups »</a>, toggle using <a href="/method/channels.toggleJoinToSend">channels.toggleJoinToSend</a><br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>join_request</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.29?<a href="/constructor/true">true</a></td>
<td>Whether a user's join request will have to be <a href="/api/invites#join-requests">approved by administrators</a>, toggle using <a href="/method/channels.toggleJoinRequest">channels.toggleJoinToSend</a><br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>forum</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/constructor/true">true</a></td>
<td>Whether this supergroup is a <a href="/api/forum">forum</a>. <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>flags2</strong></td>
<td style="text-align: center;"><a href="/type/%23">#</a></td>
<td>Flags, see <a href="/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></td>
</tr>
<tr>
<td><strong>stories_hidden</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.1?<a href="/constructor/true">true</a></td>
<td>Whether we have <a href="/api/stories#hiding-stories-of-other-users">hidden all stories posted by this channel »</a>.</td>
</tr>
<tr>
<td><strong>stories_hidden_min</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.2?<a href="/constructor/true">true</a></td>
<td>If set, indicates that the <code>stories_hidden</code> flag was not populated, and its value must cannot be relied on; use the previously cached value, or re-fetch the constructor using <a href="/method/channels.getChannels">channels.getChannels</a> to obtain the latest value of the <code>stories_hidden</code> flag.</td>
</tr>
<tr>
<td><strong>stories_unavailable</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.3?<a href="/constructor/true">true</a></td>
<td>No stories from the channel are visible.</td>
</tr>
<tr>
<td><strong>id</strong></td>
<td style="text-align: center;"><a href="/type/long">long</a></td>
<td>ID of the channel, see <a href="/api/peers#peer-id">here »</a> for more info</td>
</tr>
<tr>
<td><strong>access_hash</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.13?<a href="/type/long">long</a></td>
<td>Access hash, see <a href="/api/peers#access-hash">here »</a> for more info</td>
</tr>
<tr>
<td><strong>title</strong></td>
<td style="text-align: center;"><a href="/type/string">string</a></td>
<td>Title</td>
</tr>
<tr>
<td><strong>username</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.6?<a href="/type/string">string</a></td>
<td>Main active username.</td>
</tr>
<tr>
<td><strong>photo</strong></td>
<td style="text-align: center;"><a href="/type/ChatPhoto">ChatPhoto</a></td>
<td>Profile photo</td>
</tr>
<tr>
<td><strong>date</strong></td>
<td style="text-align: center;"><a href="/type/int">int</a></td>
<td>Date when the user joined the supergroup/channel, or if the user isn't a member, its creation date</td>
</tr>
<tr>
<td><strong>restriction_reason</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt;</td>
<td>Contains the reason why access to this channel must be restricted. <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
<tr>
<td><strong>admin_rights</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.14?<a href="/type/ChatAdminRights">ChatAdminRights</a></td>
<td>Admin rights of the user in this channel (see <a href="/api/rights">rights</a>)</td>
</tr>
<tr>
<td><strong>banned_rights</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.15?<a href="/type/ChatBannedRights">ChatBannedRights</a></td>
<td>Banned rights of the user in this channel (see <a href="/api/rights">rights</a>)</td>
</tr>
<tr>
<td><strong>default_banned_rights</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.18?<a href="/type/ChatBannedRights">ChatBannedRights</a></td>
<td>Default chat rights (see <a href="/api/rights">rights</a>)</td>
</tr>
<tr>
<td><strong>participants_count</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.17?<a href="/type/int">int</a></td>
<td>Participant count</td>
</tr>
<tr>
<td><strong>usernames</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt;</td>
<td>Additional usernames</td>
</tr>
<tr>
<td><strong>stories_max_id</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.4?<a href="/type/int">int</a></td>
<td>ID of the maximum read <a href="/api/stories">story</a>.</td>
</tr>
<tr>
<td><strong>color</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.7?<a href="/type/PeerColor">PeerColor</a></td>
<td>The channel's <a href="/api/colors">accent color</a>.</td>
</tr>
<tr>
<td><strong>profile_color</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.8?<a href="/type/PeerColor">PeerColor</a></td>
<td>The channel's <a href="/api/colors">profile color</a>.</td>
</tr>
<tr>
<td><strong>emoji_status</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.9?<a href="/type/EmojiStatus">EmojiStatus</a></td>
<td><a href="/api/emoji-status">Emoji status</a></td>
</tr>
<tr>
<td><strong>level</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.10?<a href="/type/int">int</a></td>
<td><a href="/api/boost">Boost level</a>. <br>Changes to this flag should invalidate the local <a href="/constructor/channelFull">channelFull</a> cache for this channel/supergroup ID, see <a href="/api/peers#full-info-database">here »</a> for more info.</td>
</tr>
</tbody>
</table>
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
<p><a href="/type/Chat">Chat</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#channelfull" id="channelfull" name="channelfull"><i class="anchor-icon"></i></a><a href="/constructor/channelFull">channelFull</a></h4>
<p>Full info about a <a href="/api/channel#channels">channel</a>, <a href="/api/channel#supergroups">supergroup</a> or <a href="/api/channel#gigagroups">gigagroup</a>.</p>
<p>When updating the <a href="/api/peers">local peer database »</a>, all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).</p>
<h4><a class="anchor" href="#peer-database" id="peer-database" name="peer-database"><i class="anchor-icon"></i></a><a href="/api/peers">Peer database</a></h4>
<p>Many constructors in the API need to be stored in a local database upon reception and should only ever be updated reactively (passively) when received via updates or by other means (as specified in the documentation), to avoid overloading the server by continuously requesting changes for the same unchanged information.</p>
<h4><a class="anchor" href="#min-constructors" id="min-constructors" name="min-constructors"><i class="anchor-icon"></i></a><a href="/api/min">Min constructors</a></h4>
<p>In some situations user and channel constructors have reduced set of fields present (although id is always there) and min flag set.</p>
<h4><a class="anchor" href="#discussion-groups" id="discussion-groups" name="discussion-groups"><i class="anchor-icon"></i></a><a href="/api/discussion">Discussion groups</a></h4>
<p>Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.</p>
<h4><a class="anchor" href="#channels-supergroups-gigagroups-and-basic-groups" id="channels-supergroups-gigagroups-and-basic-groups" name="channels-supergroups-gigagroups-and-basic-groups"><i class="anchor-icon"></i></a><a href="/api/channel">Channels, supergroups, gigagroups and basic groups</a></h4>
<p>How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.</p>
<h4><a class="anchor" href="#channelstogglejointosend" id="channelstogglejointosend" name="channelstogglejointosend"><i class="anchor-icon"></i></a><a href="/method/channels.toggleJoinToSend">channels.toggleJoinToSend</a></h4>
<p>Set whether all users <a href="/api/discussion#requiring-users-to-join-the-group">should join a discussion group in order to comment on a post »</a></p>
<h4><a class="anchor" href="#invites" id="invites" name="invites"><i class="anchor-icon"></i></a><a href="/api/invites">Invites</a></h4>
<p>Chats and channels may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.</p>
<h4><a class="anchor" href="#channelstogglejoinrequest" id="channelstogglejoinrequest" name="channelstogglejoinrequest"><i class="anchor-icon"></i></a><a href="/method/channels.toggleJoinRequest">channels.toggleJoinRequest</a></h4>
<p>Set whether all users should <a href="/api/invites#join-requests">request admin approval to join the group »</a>.</p>
<h4><a class="anchor" href="#forums" id="forums" name="forums"><i class="anchor-icon"></i></a><a href="/api/forum">Forums</a></h4>
<p>Telegram allows creating forums with multiple distinct topics.</p>
<h4><a class="anchor" href="#stories" id="stories" name="stories"><i class="anchor-icon"></i></a><a href="/api/stories">Stories</a></h4>
<p>Telegram users and channels can easily post and view stories through the API.</p>
<h4><a class="anchor" href="#channelsgetchannels" id="channelsgetchannels" name="channelsgetchannels"><i class="anchor-icon"></i></a><a href="/method/channels.getChannels">channels.getChannels</a></h4>
<p>Get info about <a href="/api/channel">channels/supergroups</a></p>
<h4><a class="anchor" href="#admin-banned-default-rights" id="admin-banned-default-rights" name="admin-banned-default-rights"><i class="anchor-icon"></i></a><a href="/api/rights">Admin, banned, default rights</a></h4>
<p>How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.</p>
<h4><a class="anchor" href="#accent-colors" id="accent-colors" name="accent-colors"><i class="anchor-icon"></i></a><a href="/api/colors">Accent colors</a></h4>
<p>Telegram users and channels can change the accent color and background pattern of their profile page and their messages!</p>
<h4><a class="anchor" href="#emoji-status" id="emoji-status" name="emoji-status"><i class="anchor-icon"></i></a><a href="/api/emoji-status">Emoji status</a></h4>
<p>Telegram allows users to set an emoticon or a custom emoji as status, to show next to their name in chats and profiles.</p>
<h4><a class="anchor" href="#channel-and-supergroup-boosts" id="channel-and-supergroup-boosts" name="channel-and-supergroup-boosts"><i class="anchor-icon"></i></a><a href="/api/boost">Channel and supergroup boosts</a></h4>
<p>Telegram Premium users can grant their favorite channels and supergroups additional features like the ability to post stories by giving them boosts.</p></div>
</div>
</div>
</div>
<div class="footer_wrap">
<div class="footer_columns_wrap footer_desktop">
<div class="footer_column footer_column_telegram">
<h5>Telegram</h5>
<div class="footer_telegram_description"></div>
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
</div>
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
<ul>
<li><a href="//telegram.org/faq">FAQ</a></li>
<li><a href="//telegram.org/privacy">Privacy</a></li>
<li><a href="//telegram.org/press">Press</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#mobile-apps">Mobile Apps</a></h5>
<ul>
<li><a href="//telegram.org/dl/ios">iPhone/iPad</a></li>
<li><a href="//telegram.org/android">Android</a></li>
<li><a href="//telegram.org/dl/web">Mobile Web</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
<ul>
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
<li><a href="//macos.telegram.org/">macOS</a></li>
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
</ul>
</div>
<div class="footer_column footer_column_platform">
<h5><a href="/">Platform</a></h5>
<ul>
<li><a href="/api">API</a></li>
<li><a href="//translations.telegram.org/">Translations</a></li>
<li><a href="//instantview.telegram.org/">Instant View</a></li>
</ul>
</div>
</div>
<div class="footer_columns_wrap footer_mobile">
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/blog">Blog</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps">Apps</a></h5>
</div>
<div class="footer_column">
<h5><a href="/">Platform</a></h5>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/press">Press</a></h5>
</div>
</div>
</div>
</div>
<script src="/js/main.js?47"></script>
<script>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>