Revert "New Chat: Create supergroups instead of legacy ones (#1704)"

This reverts commit b60b3ae719d76192575598235fd5685d2c727bb5.
This commit is contained in:
Alexander Zinchuk 2022-02-14 00:53:39 +03:00
parent 0bcb12d006
commit a76275f355
3 changed files with 38 additions and 7 deletions

View File

@ -508,15 +508,14 @@ export async function updateChatMutedState({
}
export async function createChannel({
title, about = '', users, type = 'channel',
title, about = '', users,
}: {
title: string; about?: string; users?: ApiUser[]; type?: 'channel' | 'group';
title: string; about?: string; users?: ApiUser[];
}, noErrorUpdate = false): Promise<ApiChat | undefined> {
const result = await invokeRequest(new GramJs.channels.CreateChannel({
broadcast: true,
title,
about,
...(type === 'channel' && { broadcast: true }),
...(type === 'group' && { megagroup: true }),
}));
// `createChannel` can return a lot of different update types according to docs,
@ -607,6 +606,39 @@ export function deleteChannel({
}), true);
}
export async function createGroupChat({
title, users,
}: {
title: string; users: ApiUser[];
}): Promise<ApiChat | undefined> {
const result = await invokeRequest(new GramJs.messages.CreateChat({
title,
users: users.map(({ id, accessHash }) => buildInputEntity(id, accessHash)) as GramJs.InputUser[],
}), undefined, true);
// `createChat` can return a lot of different update types according to docs,
// but currently chat creation returns only `Updates` type.
// Errors are added to catch unexpected cases in future testing
if (!(result instanceof GramJs.Updates)) {
if (DEBUG) {
// eslint-disable-next-line no-console
console.error('Unexpected chat creation update', result);
}
return undefined;
}
const newChat = result.chats[0];
if (!newChat || !(newChat instanceof GramJs.Chat)) {
if (DEBUG) {
// eslint-disable-next-line no-console
console.error('Created chat not found', result);
}
return undefined;
}
return buildApiChatFromPreview(newChat);
}
export async function editChatPhoto({
chatId, accessHash, photo,
}: {

View File

@ -9,7 +9,7 @@ export {
export {
fetchChats, fetchFullChat, searchChats, requestChatUpdate,
saveDraft, clearDraft, fetchChat, updateChatMutedState,
createChannel, joinChannel, deleteChatUser, deleteChat, leaveChannel, deleteChannel, editChatPhoto,
createChannel, joinChannel, deleteChatUser, deleteChat, leaveChannel, deleteChannel, createGroupChat, editChatPhoto,
toggleChatPinned, toggleChatArchived, toggleDialogUnread, setChatEnabledReactions,
fetchChatFolders, editChatFolder, deleteChatFolder, fetchRecommendedChatFolders,
getChatByUsername, togglePreHistoryHidden, updateChatDefaultBannedRights, updateChatMemberBannedRights,

View File

@ -1152,10 +1152,9 @@ async function createGroupChat(title: string, users: ApiUser[], photo?: File) {
});
try {
const createdChat = await callApi('createChannel', {
const createdChat = await callApi('createGroupChat', {
title,
users,
type: 'group',
});
if (!createdChat) {