messages.createChat

Creates a new chat.

May also return 0-N updates of type updateGroupInvitePrivacyForbidden: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an invite link can be shared with the user, instead.

messages.statedMessage#d07ae726 message:Message chats:Vector<Chat> users:Vector<User> pts:int seq:int = messages.StatedMessage;
messages.statedMessageLink#a9af2881 message:Message chats:Vector<Chat> users:Vector<User> links:Vector<contacts.Link> pts:int seq:int = messages.StatedMessage;
---functions---
messages.createChat#419d9aee users:Vector<InputUser> title:string = messages.StatedMessage;

Parameters

Name Type Description
flags # Flags, see TL conditional fields
users Vector<InputUser> List of user IDs to be invited
title string Chat name
ttl_period flags.0?int Time-to-live of all messages that will be sent in the chat: once message.date+message.ttl_period === time(), the message will be deleted on the server, and must be deleted locally as well. You can use messages.setDefaultHistoryTTL to edit this value later.

Result

Updates

Possible errors

Code Type Description
500 CHAT_ID_GENERATE_FAILED Failure while generating the chat ID.
400 CHAT_INVALID Invalid chat.
400 CHAT_TITLE_EMPTY No chat title provided.
400 INPUT_USER_DEACTIVATED The specified user was deleted.
400 TTL_PERIOD_INVALID The specified TTL period is invalid.
400 USERS_TOO_FEW Not enough users (to create a chat, for example).
406 USER_RESTRICTED You're spamreported, you can't create channels or chats.

Related pages

messages.setDefaultHistoryTTL

Changes the default value of the Time-To-Live setting, applied to all new chats.

updateGroupInvitePrivacyForbidden

0-N updates of this type may be returned only when invoking messages.addChatUser, channels.inviteToChannel or messages.createChat: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an invite link can be shared with the user, instead.

Invites

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.