2022-03-04 19:16:20 +01:00
<!DOCTYPE html>
< html class = "" >
< head >
< meta charset = "utf-8" >
< title > Invites< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2022-03-04 19:21:45 +01:00
< meta property = "description" content = "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." >
2022-03-04 19:16:20 +01:00
< meta property = "og:title" content = "Invites" >
< meta property = "og:image" content = "" >
2022-03-04 19:21:45 +01:00
< meta property = "og:description" content = "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." >
2022-03-04 19:16:20 +01:00
< link rel = "shortcut icon" href = "/favicon.ico?4" type = "image/x-icon" / >
< link href = "/css/bootstrap.min.css?3" rel = "stylesheet" >
< link href = "/css/telegram.css?219" 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/invites" > Invites< / a > < / li > < / ul > < / div >
< h1 id = "dev_page_title" > Invites< / h1 >
< div id = "dev_page_content" > <!-- scroll_nav -->
< p > < a href = "/api/channel" > Chats and channels< / a > may have a public username or a private invite link: private invite links may be further enhanced with per-user < a href = "https://telegram.org/blog/shared-media-scrolling-calendar-join-requests-and-more#join-requests-for-groups-and-channels" > join requests< / a > .< / p >
< h2 > < a class = "anchor" href = "#public-usernames" id = "public-usernames" name = "public-usernames" > < i class = "anchor-icon" > < / i > < / a > Public usernames< / h2 >
2022-03-04 19:21:45 +01:00
< pre > < code > < a href = '/constructor/contacts.resolvedPeer' > contacts.resolvedPeer< / a > #7f077ad9 peer:< a href = '/type/Peer' > Peer< / a > chats:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/Chat' > Chat< / a > > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/contacts.ResolvedPeer' > contacts.ResolvedPeer< / a > ;
2022-03-04 19:16:20 +01:00
---functions---
< a href = '/method/contacts.resolveUsername' > contacts.resolveUsername< / a > #f93ccba3 username:< a href = '/type/string' > string< / a > = < a href = '/type/contacts.ResolvedPeer' > contacts.ResolvedPeer< / a > ;
< a href = '/method/channels.joinChannel' > channels.joinChannel< / a > #24b524c5 channel:< a href = '/type/InputChannel' > InputChannel< / a > = < a href = '/type/Updates' > Updates< / a > ;
< a href = '/method/channels.checkUsername' > channels.checkUsername< / a > #10e6bd2c channel:< a href = '/type/InputChannel' > InputChannel< / a > username:< a href = '/type/string' > string< / a > = < a href = '/type/Bool' > Bool< / a > ;
< a href = '/method/channels.updateUsername' > channels.updateUsername< / a > #3514b3de channel:< a href = '/type/InputChannel' > InputChannel< / a > username:< a href = '/type/string' > string< / a > = < a href = '/type/Bool' > Bool< / a > ;< / code > < / pre >
< p > Only < a href = "/api/channel" > supergroups and channels< / a > may have a public usernames: < a href = "/api/channel" > normal groups< / a > must be migrated to a < a href = "/api/channel" > supergroup< / a > before they can be assigned a username, see the < a href = "/api/channel#migration" > migration docs »< / a > for more info. < / p >
< p > < a href = "/method/channels.updateUsername" > channels.updateUsername< / a > can be used to directly assign or change the public username of a supergroup or channel.< br >
You can use < a href = "/method/channels.updateUsername" > channels.checkUsername< / a > before assigning the username to make sure that the specified username is valid and available. < / p >
< p > < a href = "/method/channels.joinChannel" > channels.joinChannel< / a > can be used to join a supergroup or channel using peer information obtained using < a href = "/method/contacts.resolveUsername" > contacts.resolveUsername< / a > .< / p >
< h2 > < a class = "anchor" href = "#invite-links" id = "invite-links" name = "invite-links" > < i class = "anchor-icon" > < / i > < / a > Invite links< / h2 >
< pre > < code > < a href = '/constructor/chatInviteExported' > chatInviteExported< / a > #ab4a819 flags:< a href = '/type/%23' > #< / a > revoked:flags.0?< a href = '/constructor/true' > true< / a > permanent:flags.5?< a href = '/constructor/true' > true< / a > request_needed:flags.6?< a href = '/constructor/true' > true< / a > link:< a href = '/type/string' > string< / a > admin_id:< a href = '/type/long' > long< / a > date:< a href = '/type/int' > int< / a > start_date:flags.4?< a href = '/type/int' > int< / a > expire_date:flags.1?< a href = '/type/int' > int< / a > usage_limit:flags.2?< a href = '/type/int' > int< / a > usage:flags.3?< a href = '/type/int' > int< / a > requested:flags.7?< a href = '/type/int' > int< / a > title:flags.8?< a href = '/type/string' > string< / a > = < a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > ;
< a href = '/constructor/messages.exportedChatInvites' > messages.exportedChatInvites< / a > #bdc62dcc count:< a href = '/type/int' > int< / a > invites:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/messages.ExportedChatInvites' > messages.ExportedChatInvites< / a > ;
< a href = '/constructor/messages.exportedChatInvite' > messages.exportedChatInvite< / a > #1871be50 invite:< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/messages.ExportedChatInvite' > messages.ExportedChatInvite< / a > ;
< a href = '/constructor/messages.exportedChatInviteReplaced' > messages.exportedChatInviteReplaced< / a > #222600ef invite:< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > new_invite:< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/messages.ExportedChatInvite' > messages.ExportedChatInvite< / a > ;
< a href = '/constructor/chatInviteImporter' > chatInviteImporter< / a > #8c5adfd9 flags:< a href = '/type/%23' > #< / a > requested:flags.0?< a href = '/constructor/true' > true< / a > user_id:< a href = '/type/long' > long< / a > date:< a href = '/type/int' > int< / a > about:flags.2?< a href = '/type/string' > string< / a > approved_by:flags.1?< a href = '/type/long' > long< / a > = < a href = '/type/ChatInviteImporter' > ChatInviteImporter< / a > ;
< a href = '/constructor/messages.chatInviteImporters' > messages.chatInviteImporters< / a > #81b6b00a count:< a href = '/type/int' > int< / a > importers:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/ChatInviteImporter' > ChatInviteImporter< / a > > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/messages.ChatInviteImporters' > messages.ChatInviteImporters< / a > ;
< a href = '/constructor/chatAdminWithInvites' > chatAdminWithInvites< / a > #f2ecef23 admin_id:< a href = '/type/long' > long< / a > invites_count:< a href = '/type/int' > int< / a > revoked_invites_count:< a href = '/type/int' > int< / a > = < a href = '/type/ChatAdminWithInvites' > ChatAdminWithInvites< / a > ;
< a href = '/constructor/messages.chatAdminsWithInvites' > messages.chatAdminsWithInvites< / a > #b69b72d7 admins:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/ChatAdminWithInvites' > ChatAdminWithInvites< / a > > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/messages.ChatAdminsWithInvites' > messages.ChatAdminsWithInvites< / a > ;
< a href = '/constructor/chatInviteAlready' > chatInviteAlready< / a > #5a686d7c chat:< a href = '/type/Chat' > Chat< / a > = < a href = '/type/ChatInvite' > ChatInvite< / a > ;
< a href = '/constructor/chatInvite' > chatInvite< / a > #300c44c1 flags:< a href = '/type/%23' > #< / a > channel:flags.0?< a href = '/constructor/true' > true< / a > broadcast:flags.1?< a href = '/constructor/true' > true< / a > public:flags.2?< a href = '/constructor/true' > true< / a > megagroup:flags.3?< a href = '/constructor/true' > true< / a > request_needed:flags.6?< a href = '/constructor/true' > true< / a > title:< a href = '/type/string' > string< / a > about:flags.5?< a href = '/type/string' > string< / a > photo:< a href = '/type/Photo' > Photo< / a > participants_count:< a href = '/type/int' > int< / a > participants:flags.4?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/ChatInvite' > ChatInvite< / a > ;
< a href = '/constructor/chatInvitePeek' > chatInvitePeek< / a > #61695cb0 chat:< a href = '/type/Chat' > Chat< / a > expires:< a href = '/type/int' > int< / a > = < a href = '/type/ChatInvite' > ChatInvite< / a > ;
---functions---
< a href = '/method/messages.exportChatInvite' > messages.exportChatInvite< / a > #a02ce5d5 flags:< a href = '/type/%23' > #< / a > legacy_revoke_permanent:flags.2?< a href = '/constructor/true' > true< / a > request_needed:flags.3?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > expire_date:flags.0?< a href = '/type/int' > int< / a > usage_limit:flags.1?< a href = '/type/int' > int< / a > title:flags.4?< a href = '/type/string' > string< / a > = < a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > ;
< a href = '/method/messages.getExportedChatInvites' > messages.getExportedChatInvites< / a > #a2b5a3f6 flags:< a href = '/type/%23' > #< / a > revoked:flags.3?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > admin_id:< a href = '/type/InputUser' > InputUser< / a > offset_date:flags.2?< a href = '/type/int' > int< / a > offset_link:flags.2?< a href = '/type/string' > string< / a > limit:< a href = '/type/int' > int< / a > = < a href = '/type/messages.ExportedChatInvites' > messages.ExportedChatInvites< / a > ;
< a href = '/method/messages.getExportedChatInvite' > messages.getExportedChatInvite< / a > #73746f5c peer:< a href = '/type/InputPeer' > InputPeer< / a > link:< a href = '/type/string' > string< / a > = < a href = '/type/messages.ExportedChatInvite' > messages.ExportedChatInvite< / a > ;
< a href = '/method/messages.editExportedChatInvite' > messages.editExportedChatInvite< / a > #bdca2f75 flags:< a href = '/type/%23' > #< / a > revoked:flags.2?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > link:< a href = '/type/string' > string< / a > expire_date:flags.0?< a href = '/type/int' > int< / a > usage_limit:flags.1?< a href = '/type/int' > int< / a > request_needed:flags.3?< a href = '/type/Bool' > Bool< / a > title:flags.4?< a href = '/type/string' > string< / a > = < a href = '/type/messages.ExportedChatInvite' > messages.ExportedChatInvite< / a > ;
< a href = '/method/messages.deleteRevokedExportedChatInvites' > messages.deleteRevokedExportedChatInvites< / a > #56987bd5 peer:< a href = '/type/InputPeer' > InputPeer< / a > admin_id:< a href = '/type/InputUser' > InputUser< / a > = < a href = '/type/Bool' > Bool< / a > ;
< a href = '/method/messages.deleteExportedChatInvite' > messages.deleteExportedChatInvite< / a > #d464a42b peer:< a href = '/type/InputPeer' > InputPeer< / a > link:< a href = '/type/string' > string< / a > = < a href = '/type/Bool' > Bool< / a > ;
< a href = '/method/messages.getAdminsWithInvites' > messages.getAdminsWithInvites< / a > #3920e6ef peer:< a href = '/type/InputPeer' > InputPeer< / a > = < a href = '/type/messages.ChatAdminsWithInvites' > messages.ChatAdminsWithInvites< / a > ;
< a href = '/method/messages.getChatInviteImporters' > messages.getChatInviteImporters< / a > #df04dd4e flags:< a href = '/type/%23' > #< / a > requested:flags.0?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > link:flags.1?< a href = '/type/string' > string< / a > q:flags.2?< a href = '/type/string' > string< / a > offset_date:< a href = '/type/int' > int< / a > offset_user:< a href = '/type/InputUser' > InputUser< / a > limit:< a href = '/type/int' > int< / a > = < a href = '/type/messages.ChatInviteImporters' > messages.ChatInviteImporters< / a > ;
< a href = '/method/messages.checkChatInvite' > messages.checkChatInvite< / a > #3eadb1bb hash:< a href = '/type/string' > string< / a > = < a href = '/type/ChatInvite' > ChatInvite< / a > ;
< a href = '/method/messages.importChatInvite' > messages.importChatInvite< / a > #6c50051c hash:< a href = '/type/string' > string< / a > = < a href = '/type/Updates' > Updates< / a > ;< / code > < / pre >
< p > Private invite links can optionally have an expiration date, a usage limit, and can even be set to only allow users into the channel, supergroup or group upon explicit approval of an admin: see < a href = "#join-requests" > join requests »< / a > for more info.< / p >
< p > Invite links match the following regex: < code > @(?:t|telegram)\.(?:me|dog)/(joinchat/|\+)?([\w-]+)@i< / code > .< br >
The first matching group can be passed to the < code > hash< / code > parameter of < a href = "/method/messages.checkChatInvite" > messages.checkChatInvite< / a > to get info about the chat, and < a href = "/method/messages.importChatInvite" > messages.importChatInvite< / a > to join the chat.< br >
2022-03-09 19:42:44 +01:00
< a href = "/method/messages.checkChatInvite" > messages.checkChatInvite< / a > may return < a href = "/constructor/chatInvitePeek" > chatInvitePeek< / a > , in which case the user may directly fetch chat messages using < a href = "/api/updates" > updates< / a > , < a href = "/method/messages.getHistory" > messages.getHistory< / a > and < a href = "/method/channels.getMessages" > channels.getMessages< / a > until the time indicated by the < code > expires< / code > unixtime field.< / p >
2022-03-04 19:16:20 +01:00
< p > Newly created groups, supergroups and channel already have a default invite link.< br >
To generate a new one, use < a href = "/method/messages.exportChatInvite" > messages.exportChatInvite< / a > .< br >
2022-03-04 19:21:45 +01:00
To get info about existing chat invites, optionally filtering only links created by a given admin, use < a href = "/method/messages.getExportedChatInvites" > messages.getExportedChatInvites< / a > .< br >
< a href = "/method/messages.getExportedChatInvite" > messages.getExportedChatInvite< / a > can be used to obtain info about a specific invite link. < / p >
2022-03-04 19:16:20 +01:00
< p > < a href = "/method/messages.editExportedChatInvite" > messages.editExportedChatInvite< / a > is used to edit or revoke existing invite links: revoked links cannot be used by users to join the group, but info about revoked links can still be fetched using < a href = "/method/messages.getExportedChatInvites" > messages.getExportedChatInvites< / a > with the < code > revoke< / code > flag set.< br >
Use < a href = "/method/messages.deleteExportedChatInvite" > messages.deleteExportedChatInvite< / a > to permanently remove an invite link, and < a href = "/method/messages.deleteRevokedExportedChatInvites" > messages.deleteRevokedExportedChatInvites< / a > to permanently remove a revoked invite link. < / p >
< p > < a href = "/method/messages.getChatInviteImporters" > messages.getChatInviteImporters< / a > can be used to fetch info about users that joined using a specific invite link. < / p >
< p > Some basic stats about the number of invite links generated by a given admin can be fetched using < a href = "/method/messages.getAdminsWithInvites" > messages.getAdminsWithInvites< / a > . < / p >
< h2 > < a class = "anchor" href = "#join-requests" id = "join-requests" name = "join-requests" > < i class = "anchor-icon" > < / i > < / a > Join requests< / h2 >
< pre > < code > < a href = '/constructor/chatInvite' > chatInvite< / a > #300c44c1 flags:< a href = '/type/%23' > #< / a > channel:flags.0?< a href = '/constructor/true' > true< / a > broadcast:flags.1?< a href = '/constructor/true' > true< / a > public:flags.2?< a href = '/constructor/true' > true< / a > megagroup:flags.3?< a href = '/constructor/true' > true< / a > request_needed:flags.6?< a href = '/constructor/true' > true< / a > title:< a href = '/type/string' > string< / a > about:flags.5?< a href = '/type/string' > string< / a > photo:< a href = '/type/Photo' > Photo< / a > participants_count:< a href = '/type/int' > int< / a > participants:flags.4?< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/ChatInvite' > ChatInvite< / a > ;
< a href = '/constructor/updatePendingJoinRequests' > updatePendingJoinRequests< / a > #7063c3db peer:< a href = '/type/Peer' > Peer< / a > requests_pending:< a href = '/type/int' > int< / a > recent_requesters:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/long' > long< / a > > = < a href = '/type/Update' > Update< / a > ;
< a href = '/constructor/updateBotChatInviteRequester' > updateBotChatInviteRequester< / a > #11dfa986 peer:< a href = '/type/Peer' > Peer< / a > date:< a href = '/type/int' > int< / a > user_id:< a href = '/type/long' > long< / a > about:< a href = '/type/string' > string< / a > invite:< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > qts:< a href = '/type/int' > int< / a > = < a href = '/type/Update' > Update< / a > ;
< a href = '/constructor/messages.chatInviteImporters' > messages.chatInviteImporters< / a > #81b6b00a count:< a href = '/type/int' > int< / a > importers:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/ChatInviteImporter' > ChatInviteImporter< / a > > users:< a href = '/type/Vector%20t' > Vector< / a > < < a href = '/type/User' > User< / a > > = < a href = '/type/messages.ChatInviteImporters' > messages.ChatInviteImporters< / a > ;
< a href = '/constructor/peerSettings' > peerSettings< / a > #a518110d flags:< a href = '/type/%23' > #< / a > report_spam:flags.0?< a href = '/constructor/true' > true< / a > add_contact:flags.1?< a href = '/constructor/true' > true< / a > block_contact:flags.2?< a href = '/constructor/true' > true< / a > share_contact:flags.3?< a href = '/constructor/true' > true< / a > need_contacts_exception:flags.4?< a href = '/constructor/true' > true< / a > report_geo:flags.5?< a href = '/constructor/true' > true< / a > autoarchived:flags.7?< a href = '/constructor/true' > true< / a > invite_members:flags.8?< a href = '/constructor/true' > true< / a > request_chat_broadcast:flags.10?< a href = '/constructor/true' > true< / a > geo_distance:flags.6?< a href = '/type/int' > int< / a > request_chat_title:flags.9?< a href = '/type/string' > string< / a > request_chat_date:flags.9?< a href = '/type/int' > int< / a > = < a href = '/type/PeerSettings' > PeerSettings< / a > ;
< a href = '/constructor/messageActionChatJoinedByRequest' > messageActionChatJoinedByRequest< / a > #ebbca3cb = < a href = '/type/MessageAction' > MessageAction< / a > ;
< a href = '/constructor/channelAdminLogEventActionParticipantJoinByRequest' > channelAdminLogEventActionParticipantJoinByRequest< / a > #afb6144a invite:< a href = '/type/ExportedChatInvite' > ExportedChatInvite< / a > approved_by:< a href = '/type/long' > long< / a > = < a href = '/type/ChannelAdminLogEventAction' > ChannelAdminLogEventAction< / a > ;
---functions---
< a href = '/method/messages.checkChatInvite' > messages.checkChatInvite< / a > #3eadb1bb hash:< a href = '/type/string' > string< / a > = < a href = '/type/ChatInvite' > ChatInvite< / a > ;
< a href = '/method/messages.importChatInvite' > messages.importChatInvite< / a > #6c50051c hash:< a href = '/type/string' > string< / a > = < a href = '/type/Updates' > Updates< / a > ;
< a href = '/method/messages.getChatInviteImporters' > messages.getChatInviteImporters< / a > #df04dd4e flags:< a href = '/type/%23' > #< / a > requested:flags.0?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > link:flags.1?< a href = '/type/string' > string< / a > q:flags.2?< a href = '/type/string' > string< / a > offset_date:< a href = '/type/int' > int< / a > offset_user:< a href = '/type/InputUser' > InputUser< / a > limit:< a href = '/type/int' > int< / a > = < a href = '/type/messages.ChatInviteImporters' > messages.ChatInviteImporters< / a > ;
< a href = '/method/messages.hideChatJoinRequest' > messages.hideChatJoinRequest< / a > #7fe7e815 flags:< a href = '/type/%23' > #< / a > approved:flags.0?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > user_id:< a href = '/type/InputUser' > InputUser< / a > = < a href = '/type/Updates' > Updates< / a > ;
< a href = '/method/messages.hideAllChatJoinRequests' > messages.hideAllChatJoinRequests< / a > #e085f4ea flags:< a href = '/type/%23' > #< / a > approved:flags.0?< a href = '/constructor/true' > true< / a > peer:< a href = '/type/InputPeer' > InputPeer< / a > link:flags.1?< a href = '/type/string' > string< / a > = < a href = '/type/Updates' > Updates< / a > ;< / code > < / pre >
< p > If the < code > request_needed< / code > flag is set when < a href = "#invite-links" > generating or editing an invite link< / a > , users importing the invite link using < a href = "/method/messages.importChatInvite" > messages.importChatInvite< / a > will receive an < code > INVITE_REQUEST_SENT< / code > RPC error, indicating that an join request was successfully sent to the chat admins. < / p >
< p > Bot administrators will receive a < a href = "/constructor/updateBotChatInviteRequester" > updateBotChatInviteRequester< / a > update for each separate join request.< br >
User administrators will receive an < a href = "/constructor/updatePendingJoinRequests" > updatePendingJoinRequests< / a > , and should invoke < a href = "/method/messages.getChatInviteImporters" > messages.getChatInviteImporters< / a > with the < code > requested< / code > flag set to obtain a list of users waiting to be admitted into the group. < / p >
< p > Administrators can then use < a href = "/method/messages.hideChatJoinRequest" > messages.hideChatJoinRequest< / a > to approve or dismiss a join request, and < a href = "/method/messages.hideAllChatJoinRequests" > messages.hideAllChatJoinRequests< / a > to approve or dismiss in bulk multiple join requests. < / p >
2022-03-04 19:21:45 +01:00
< p > Administrators can also choose send a message to the user before admitting them into the group: in this case, graphical clients < em > on the user side< / em > should display a message on the dialog bar of the chat with the admin, indicating that the chat was initiated by the admin of a chat/channel they have recently requested to join, according to the information contained in the < a href = "/constructor/peerSettings" > peerSettings »< / a > . < / p > < / div >
2022-03-04 19:16:20 +01:00
< / 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/blog" > Blog< / a > < / li >
< li > < a href = "//telegram.org/jobs" > Jobs< / 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/dl/android" > Android< / a > < / li >
< li > < a href = "//telegram.org/dl/wp" > Windows Phone< / 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 = "//core.telegram.org/" > Platform< / a > < / h5 >
< ul >
< li > < a href = "//core.telegram.org/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 = "//core.telegram.org/" > Platform< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > Twitter< / a > < / h5 >
< / div >
< / div >
< / div >
< / div >
< script src = "/js/main.js?43" > < / script >
< script src = "/js/jquery.min.js?1" > < / script >
< script src = "/js/bootstrap.min.js?1" > < / script >
< script > w i n d o w . i n i t D e v P a g e N a v & & i n i t D e v P a g e N a v ( ) ;
backToTopInit("Go up");
removePreloadInit();
< / script >
< / body >
< / html >