Invites

Чаты и каналы могут иметь общедоступное имя пользователя или частную ссылку-приглашение: частные ссылки-приглашения могут быть расширены с помощью запросов на присоединение для каждого пользователя.

Общедоступные имена пользователей

 contact.resolvedPeer#7f077ad9 peer:Peer chats:Vector users:Vector = contact.ResolvedPeer;
---функции---
contact.resolveUsername#f93ccba3 имя пользователя:строка = contact.ResolvedPeer;
Channels.joinChannel#24b524c5 канал:InputChannel = Обновления;
channels.checkUsername#10e6bd2c канал: Имя пользователя InputChannel: строка = Bool;
Channels.updateUsername#3514b3de канал: InputChannel имя пользователя: строка = Bool; 

Только супергруппы и каналы могут иметь общедоступные имена пользователей: обычные группы должны быть перенесены в супергруппу, прежде чем им можно будет назначить имя пользователя, см. документацию по миграции » для получения дополнительной информации.

channels.updateUsername можно использовать для прямого назначения или изменения общедоступного имени пользователя супергруппы или канала.
Вы можете использовать channels.checkUsername перед назначением имени пользователя, чтобы убедиться, что указанное имя пользователя допустимо и доступно.

channels.joinChannel можно использовать для присоединения к супергруппе или каналу, используя информацию об одноранговых узлах, полученную с помощью contact.resolveUsername.

Ссылки-приглашения

 chatInviteExported#ab4a819 flags:# revoked:flags.0?true Permanent:flags.5?true request_needed:flags.6?true link:string admin_id:long date:int start_date:flags.4?int expire_date:flags.1?int использование_limit:flags.2?int использование:flags.3?целое запрошено:flags.7?int title:flags.8?string = ExportedChatInvite;
messages.exportedChatInvites#bdc62dcc count:int инвайты:Vector users:Vector = messages.ExportedChatInvites;
messages.exportedChatInvite#1871be50 инвайт:ExportedChatInvite users:Vector
= messages.ExportedChatInvite; messages.exportedChatInviteReplaced#222600ef приглашение:ExportedChatInvite new_invite:ExportedChatInvite users:Vector = messages. ExportedChatInvite; чатInviteImporter#8c5adfd9flags:# запрошено:flags.0?true user_id:long date:int about:flags.2?string author_by:flags.1?long = ChatInviteImporter; messages.chatInviteImporters#81b6b00a count:int importers:Vector users:Vector = messages.ChatInviteImporters; chatAdminWithInvites#f2ecef23 admin_id:long_invites_count:int revoked_invites_count:int = ChatAdminWithInvites; messages.chatAdminsWithInvites#b69b72d7 admins:Vector
users:Vector = messages.ChatAdminsWithInvites; chatInviteAlready#5a686d7c chat:Chat = ChatInvite; chatInvite#300c44c1 flags:# channel:flags.0?true Broadcast:flags.1?true public:flags.2?true megagroup:flags.3?true request_needed:flags.6?true title:string about:flags.5? строка photo:Photo участников_количество: целое число участников:флаги.4?Vector = ChatInvite; чатInvitePeek#61695cb0 чат: Срок действия чата истекает: int = ChatInvite; ---функции--- messages.exportChatInvite#a02ce5d5 flags:# legacy_revoke_permanent:flags.
2?true request_needed:flags.3?true peer:InputPeer expire_date:flags.0?int use_limit:flags.1?int title:flags.4?string = ExportedChatInvite; messages.getExportedChatInvites#a2b5a3f6 flags:# revoked:flags.3?true peer:InputPeer admin_id:InputUser offset_date:flags.2?int offset_link:flags.2?string limit:int = messages.ExportedChatInvites; messages.getExportedChatInvite#73746f5c peer:InputPeer link:string = messages.ExportedChatInvite; messages.editExportedChatInvite#bdca2f75 flags:# revoked:flags.2?true peer:InputPeer link:string expire_date:flags.0?int use_limit:flags.1?int request_needed:flags.3?Bool title:flags.4?string = сообщения.ExportedChatInvite; messages.deleteRevokedExportedChatInvites#56987bd5 peer:InputPeer admin_id:InputUser = Bool; messages.deleteExportedChatInvite#d464a42b peer:InputPeer link:string = Bool; messages.getAdminsWithInvites#3920e6ef peer:InputPeer = messages.ChatAdminsWithInvites; messages.getChatInviteImporters#df04dd4e flags:# запрашиваемый:flags.0?true peer:InputPeer link:flags.
1?string q:flags.2?string offset_date:int offset_user:InputUser limit:int = messages.ChatInviteImporters; messages.checkChatInvite#3eadb1bb hash:string = ChatInvite; messages.importChatInvite#6c50051c hash:string = Обновления;

Приватные ссылки-приглашения могут иметь дату истечения срока действия, ограничение использования и даже могут быть настроены так, чтобы пользователи могли входить в канал, супергруппу или группу только после явного одобрения администратора: см. запросы на присоединение » для получения дополнительной информации.

Ссылки-приглашения соответствуют следующему регулярному выражению: @(?:t|telegram)\.(?:me|dog)/(joinchat/|\+)?([\w-]+)@i .
Первая подходящая группа может быть передана в хэш параметра messages.checkChatInvite для получения информации о чате и messages.importChatInvite для присоединения к чату.
messages.checkChatInvite может возвращать chatInvitePeek только для супергрупп и каналов, и в этом случае пользователь может напрямую получать сообщения чата, используя обновления, messages.

getHistory и channels.getMessages, пока время, указанное в поле unixtime expires , не истечет.

Вновь созданные группы, супергруппы и каналы уже имеют ссылку для приглашения по умолчанию.
Чтобы создать новый, используйте messages.exportChatInvite.
Чтобы получить информацию о существующих приглашениях в чат, при необходимости отфильтровав только ссылки, созданные данным администратором, используйте messages.getExportedChatInvites.
messages.getExportedChatInvite можно использовать для получения информации о конкретной ссылке-приглашении.

messages.editExportedChatInvite используется для редактирования или отзыва существующих ссылок-приглашений: пользователи не могут использовать отозванные ссылки для присоединения к группе, но информацию об отозванных ссылках можно получить с помощью messages.getExportedChatInvites с установленным флагом аннулировано .
Используйте messages.deleteExportedChatInvite, чтобы навсегда удалить ссылку-приглашение, и messages. deleteRevokedExportedChatInvites, чтобы навсегда удалить отозванную ссылку-приглашение.

messages.getChatInviteImporters можно использовать для получения информации о пользователях, присоединившихся по определенной ссылке-приглашению.

Некоторую базовую статистику о количестве ссылок-приглашений, созданных данным администратором, можно получить с помощью messages.getAdminsWithInvites.

Запросы на присоединение

 канал#8261ac61 flags:# создатель:flags.0?true left:flags.2?true Broadcast:flags.5?true Verified:flags.7?true megagroup:flags.8?true limited: flags.9?Настоящие подписи:flags.11?Настоящая мин.:flags.12?Настоящая афера: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 id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:intstrict_reason: flags.
9?Vector admin_rights:flags.14?ChatAdminRights Banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights members_count:flags.17?int = Chat; chatInvite#300c44c1 flags:# channel:flags.0?true Broadcast:flags.1?true public:flags.2?true megagroup:flags.3?true request_needed:flags.6?true title:string about:flags.5? строка photo:Photo участников_количество: целое число участников:флаги.4?Vector
= ChatInvite; updatePendingJoinRequests#7063c3db peer:Peer request_pending:intcentrecent_requesters:Vector = Обновить; updateBotChatInviteRequester#11dfa986 peer:Peer date:int user_id:long about:string инвайт:ExportedChatInvite qts:int = Update; messages.chatInviteImporters#81b6b00a count:int importers:Vector users:Vector = messages.ChatInviteImporters; peerSettings#a518110d flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.
5?true autoarchived: flags.7?true inventory_members:flags.8?true request_chat_broadcast:flags.10?true geo_distance:flags.6?int request_chat_title:flags.9?string request_chat_date:flags.9?int = PeerSettings; messageActionChatJoinedByRequest#ebbca3cb = MessageAction; channelAdminLogEventActionParticipantJoinByRequest#afb6144a инвайт:ExportedChatInvite author_by:long = ChannelAdminLogEventAction; ---функции--- messages.checkChatInvite#3eadb1bb hash:string = ChatInvite; messages.importChatInvite#6c50051c hash:string = Обновления; messages.getChatInviteImporters#df04dd4e flags:# запрашиваемый:flags.0?true peer:InputPeer link:flags.1?string q:flags.2?string offset_date:int offset_user:InputUser limit:int = messages.ChatInviteImporters; messages.hideChatJoinRequest#7fe7e815 flags:# Approved:flags.0?true peer:InputPeer user_id:InputUser = Updates; messages.hideAllChatJoinRequests#e085f4ea flags:# Approved:flags.0?true peer:InputPeer link:flags.1?string = Updates; каналы.toggleJoinRequest#4c29Канал 85b6: InputChannel включен: Bool = Обновления;

Если при создании или редактировании ссылки-приглашения установлен флаг request_needed или если соответствующий параметр переключается с помощью channels.