CINXE.COM
Channels, supergroups, gigagroups and basic groups
<!DOCTYPE html> <html class=""> <head> <meta charset="utf-8"> <title>Channels, supergroups, gigagroups and basic groups</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta property="description" content="How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them."> <meta property="og:title" content="Channels, supergroups, gigagroups and basic groups"> <meta property="og:image" content="2831d0518f782d1977"> <meta property="og:description" content="How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them."> <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="active"><a href="/api">API</a></li> <li class=""><a href="/mtproto">Protocol</a></li> <li class=""><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="/api/channel" >Channels, supergroups, gigagroups and basic…</a></li></ul></div> <h1 id="dev_page_title">Channels, supergroups, gigagroups and basic groups</h1> <div id="dev_page_content"><!-- scroll_nav --> <h3><a class="anchor" href="#channels" id="channels" name="channels"><i class="anchor-icon"></i></a>Channels</h3> <p><a href="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 <a href="/constructor/channel">channel</a> constructors. </p> <p>Channels can be created using the <a href="/method/channels.createChannel">channels.createChannel</a> method, by setting the <code>broadcast</code> flag. </p> <h3><a class="anchor" href="#supergroups" id="supergroups" name="supergroups"><i class="anchor-icon"></i></a>Supergroups</h3> <p><a href="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 <a href="/constructor/channel">channel</a> constructors, with the <code>megagroup</code> flag set to true. </p> <p>Channels can be created using the <a href="/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 <a href="/api/nearby">geochats »</a>. </p> <h4><a class="anchor" href="#forums" id="forums" name="forums"><i class="anchor-icon"></i></a>Forums</h4> <p>Supergroups can be converted into <a href="/api/forum">forums</a>, splitting conversion into distinct <a href="/api/forum#forum-topics">forum topics</a>, see the <a href="/api/forum">forum documentation for more info »</a>. </p> <h3><a class="anchor" href="#gigagroups" id="gigagroups" name="gigagroups"><i class="anchor-icon"></i></a>Gigagroups</h3> <p>Gigagroups are something between a channel and a supergroup.<br> An admin, <a href="/api/config#channel-suggestions">when prompted by the API using suggestions »</a>, can convert a megagroup into a gigagroup using <a href="/method/channels.convertToGigagroup">channels.convertToGigagroup</a> (one way only).<br> After that, only admins will be able to write in the group (like when <a href="#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> <h3><a class="anchor" href="#basic-groups" id="basic-groups" name="basic-groups"><i class="anchor-icon"></i></a>Basic groups</h3> <p>In previous versions of telegram, only basic groups (represented by <a href="/constructor/chat">chat</a> constructors) could be created using <a href="/method/messages.createChat">messages.createChat</a>: these groups have fewer features, and can only have 200 members at max.<br> Messages from all basic groups are stored in the <a href="/api/updates#message-related-event-sequences">user's message box »</a>: this means that all basic groups and all private chats share the same, single message ID and <a href="/api/updates">PTS</a> sequence. </p> <h4><a class="anchor" href="#migration" id="migration" name="migration"><i class="anchor-icon"></i></a>Migration</h4> <p>To upgrade a basic group to a supergroup, <a href="/method/messages.migrateChat">messages.migrateChat</a> can be used. </p> <p>Clients should automatically migrate basic groups to supergroups if an admin tries to execute an action that is only supported by supergroups. </p> <p>The <code>chats</code> field of the result will have two objects: </p> <ul> <li>A <a href="/constructor/chat">chat</a> constructor with a <code>migrated_to</code> field, indicating the address of the new supergroup</li> <li>The new <a href="/constructor/channel">channel</a> megagroup constructor</li> </ul> <p>When <a href="/method/channels.getFullChannel">getting full info</a> about the migrated channel, the <a href="/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 <a href="/constructor/updateNewMessage">updateNewMessage</a> from the old chat with a <a href="/constructor/messageService">messageService</a> containing a <a href="/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 basic group and the new supergroup. This is done by merging the two messages lists (requested with different <a href="/type/Peer">Peer</a> values) client side.</p> <h3><a class="anchor" href="#invite-links-and-join-requests" id="invite-links-and-join-requests" name="invite-links-and-join-requests"><i class="anchor-icon"></i></a>Invite links and join requests</h3> <p>Channels, basic 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 <a href="/api/invites">here »</a>.</p> <h3><a class="anchor" href="#rights" id="rights" name="rights"><i class="anchor-icon"></i></a>Rights</h3> <p>Channels, basic groups and supergroups allow setting <a href="https://telegram.org/blog/permissions-groups-undo">granular permissions</a> both for admins and specific users; channels, supergroups and basic groups also allow setting global granular permissions for users.</p> <p>For more info on how to set and modify rights, see <a href="/api/rights">here »</a>.</p> <h3><a class="anchor" href="#pinned-messages" id="pinned-messages" name="pinned-messages"><i class="anchor-icon"></i></a>Pinned messages</h3> <p>Telegram allows pinning multiple messages on top in a chat, group, supergroup or channel. </p> <p>See <a href="/api/pin">here »</a> for more info on pinning and unpinning messages. </p> <h3><a class="anchor" href="#discussion" id="discussion" name="discussion"><i class="anchor-icon"></i></a>Discussion</h3> <p>Groups can be associated to a channel as a <a href="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 <a href="/api/discussion">here »</a></p> <h3><a class="anchor" href="#recent-actions" id="recent-actions" name="recent-actions"><i class="anchor-icon"></i></a>Recent actions</h3> <p>Both supergroups and channels offer a so-called <a href="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 <a href="/api/recent-actions">here »</a> for more info.</p> <h3><a class="anchor" href="#global-search" id="global-search" name="global-search"><i class="anchor-icon"></i></a>Global search</h3> <p>The <a href="/api/search#global-search">search view »</a> has a separate Channel tab for channel-related global searches, see <a href="/api/search#global-search">here »</a> for more info.</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 src="/js/jquery.min.js?1"></script> <script src="/js/bootstrap.min.js?1"></script> <script>window.initDevPageNav&&initDevPageNav(); backToTopInit("Go up"); removePreloadInit(); </script> </body> </html> <!-- page generated in 9.52ms -->