<p><ahref="https://telegram.org/tour/channels">Channels</a> are a tool for broadcasting your messages to large audiences. They can have an unlimited number of subscribers, they can be public with a permanent URL and each post in a channel has its own view counter.<br>
Technically, they are represented by <ahref="/constructor/channel">channel</a> constructors. </p>
<p>Channels can be created using the <ahref="/method/channels.createChannel">channels.createChannel</a> method, by setting the <code>broadcast</code> flag. </p>
<p><ahref="https://telegram.org/tour/groups">Supergroups</a> are a powerful tool for building communities and can support up to 200,000 members each.<br>
Technically, supergroups are actually channels: they are represented by <ahref="/constructor/channel">channel</a> constructors, with the <code>megagroup</code> flag set to true. </p>
<p>Channels can be created using the <ahref="/method/channels.createChannel">channels.createChannel</a> method, by setting the <code>megagroup</code> flag.<br>
Supergroups can also be assigned a <code>geo_point</code> to become <ahref="https://telegram.org/blog/contacts-local-groups">geochats</a>. </p>
An admin, <ahref="/api/config#channel-suggestions">when prompted by the API using suggestions »</a>, can convert a megagroup into a gigagroup using <ahref="/method/channels.convertToGigagroup">channels.convertToGigagroup</a> (one way only).<br>
After that, only admins will be able to write in the group (like when <ahref="#rights"><code>send_messages</code> rights are disabled for all group participants by default</a>), but the participant limit is removed and the group can become much bigger than a supergroup (e.g. >200,000 currently).<br>
Also, one can't invite people into gigagroups and participants of voice chats in gigagroups are muted by default. </p>
<p>In previous versions of telegram, only legacy groups (represented by <ahref="/constructor/chat">chat</a> constructors) could be created using <ahref="/method/messages.createChat">messages.createChat</a>: these groups have fewer features, and can only have 200 members at max.<br>
Messages from all legacy groups are stored in the <ahref="/api/updates#message-related-event-sequences">user's message box »</a>: this means that all legacy groups and all private chats share the same, single message ID and <ahref="/api/updates">PTS</a> sequence. </p>
<p>To upgrade a legacy group to a supergroup, <ahref="/method/messages.migrateChat">messages.migrateChat</a> can be used.
The <code>chats</code> field of the result will have two objects: </p>
<ul>
<li>A <ahref="/constructor/chat">chat</a> constructor with a <code>migrated_to</code> field, indicating the address of the new supergroup</li>
<li>The new <ahref="/constructor/channel">channel</a> megagroup constructor</li>
</ul>
<p>When <ahref="/method/channels.getFullChannel">getting full info</a> about the migrated channel, the <ahref="/constructor/channelFull">channelFull</a> object will have <code>migrated_from_chat_id</code> and <code>migrated_from_max_id</code> fields indicating the original ID of the chat, and the message ID in the original chat at which the group was migrated.</p>
<p>All users of the chat will receive an <ahref="/constructor/updateNewMessage">updateNewMessage</a> from the old chat with a <ahref="/constructor/messageService">messageService</a> containing a <ahref="/constructor/messageActionChatMigrateTo">messageActionChatMigrateTo</a> constructor.</p>
<p>All new messages have to be sent to the new supergroup.</p>
<p>When working with migrated groups clients need to handle loading of the message history (as well as search results et cetera) from both the legacy group and the new supergroup. This is done by merging the two messages lists (requested with different <ahref="/type/Peer">Peer</a> values) client side.</p>
<h3><aclass="anchor"href="#invite-links-and-join-requests"id="invite-links-and-join-requests"name="invite-links-and-join-requests"><iclass="anchor-icon"></i></a>Invite links and join requests</h3>
<p>Channels, legacy groups and supergroups may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.</p>
<p>For more info on how to work with public usernames, invite links and join requests, see <ahref="/api/invites">here »</a>.</p>
<p>Channels, legacy groups and supergroups allow setting <ahref="https://telegram.org/blog/permissions-groups-undo">granular permissions</a> both for admins and specific users; channels, supergroups and legacy groups also allow setting global granular permissions for users.</p>
<p>For more info on how to set and modify rights, see <ahref="/api/rights">here »</a>.</p>
<p>Groups can be associated to a channel as a <ahref="https://telegram.org/blog/privacy-discussions-web-bots">discussion group</a>, to allow users to discuss about posts. </p>
<p>For more info on how to set a discussion group in channel, see <ahref="/api/discussion">here »</a></p>
<p>Both supergroups and channels offer a so-called <ahref="https://telegram.org/blog/admin-revolution">admin log</a>, a log of recent relevant supergroup and channel actions, like the modification of group/channel settings or information on behalf of an admin, user kicks and bans, and more.</p>
<p>See <ahref="/api/recent-actions">here »</a> for more info.</p></div>
</div>
</div>
</div>
<divclass="footer_wrap">
<divclass="footer_columns_wrap footer_desktop">
<divclass="footer_column footer_column_telegram">
<h5>Telegram</h5>
<divclass="footer_telegram_description"></div>
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.