Как выгрузить чат Телеграма и загрузить его в Поселково
Бот Поселково отвечает жителям в группе посёлка, но о том, что обсуждали до его прихода, он ничего не знает. Выгрузка чата — это способ отдать ему прошлые разговоры: где брать песок, кто чинил скважину, когда отключают воду.
Выгрузка делается бесплатно и только в настольном Телеграме: в телефоне такого пункта нет. Сама выгрузка занимает от минуты до получаса — зависит от того, сколько лет группе. Но в первый раз Телеграм заставит ждать сутки, и об этом ниже.
Что понадобится
Telegram Desktop. Не «Телеграм в браузере» и не приложение с телефона — именно настольная программа: desktop.telegram.org. Есть для Windows, macOS и Linux.
Права в группе. Выгрузить историю может тот, кто в группе состоит. Если группа закрытая и вас в ней нет — сначала попросите добавить.
Сутки запаса в первый раз. Телеграм отвечает на первый запрос выгрузки предупреждением о безопасности и предлагает подтвердить его с другого устройства либо подождать примерно 24 часа. Это защита: так у владельца аккаунта есть время заметить чужую попытку скачать всю переписку. Пункт меню после этого никуда не исчезает — просто первый экспорт откладывается.
Порядок
Откройте группу в Telegram Desktop и нажмите на её название сверху — справа раскроется карточка группы.

Нажмите More (три точки) и выберите Export chat history.

Откроется окно настроек выгрузки. Здесь важны две вещи.
Снимите все галочки с медиа — фотографии, видео, голосовые, файлы. Нам нужен только текст: с медиа выгрузка весит гигабайты и идёт часами, а мы их всё равно не читаем.
Выберите формат JSON. Нажмите на строку Format и отметьте
Machine-readable JSON. Это единственный формат, который мы умеем читать:
«Human-readable HTML» — красивая страница для человека, и данных в ней нет.

Нажмите Export. Телеграм покажет полосу с числом сообщений — окно можно закрыть, но сам Телеграм до конца выгрузки не закрывайте.

Когда выгрузка закончится, Телеграм откроет папку с результатом. Нужен один
файл — result.json. Остальное можно удалить.
Загрузка в Поселково
Откройте раздел «Чат-группы» в управлении посёлком и перетащите result.json
в поле загрузки.

Заполните поле «На каком основании сохраняем переписку». Это самое важное поле на странице, и вот почему: оставите пустым — мы прочитаем файл, покажем найденные телефоны и ссылки, но ни одной строки переписки не сохраним. Заполните — и разговоры попадут в базу знаний, а бот сможет отвечать тем, на что в группе уже отвечали.
Пишется там свободный текст, который читает человек, а не программа. Например: «согласия собраны при заселении, договор от 12.03.2024». Это ваша выгрузка вашей группы, и основание указываете вы.
Группу указывать не нужно — мы возьмём её из файла сами, вместе с названием и идентификатором. Если такой группы у вас ещё не было, мы её сразу и подключим.
Что дальше
Разбор идёт в фоне и занимает несколько минут: страница обновится сама.
В списке появятся три числа: сколько сообщений прочитано, сколько разговоров получилось и сколько сохранено. Разговоров всегда заметно меньше, чем сообщений — это нормально: мы собираем ответы в цепочки, потому что отдельное сообщение «а когда?» само по себе ни на что не отвечает. На настоящем посёлке 4767 сообщений превратились в 3012 разговоров.
Если третье число — ноль, значит основание не заполнено. Загрузите файл ещё раз, заполнив поле.
Сам файл мы удаляем сразу после разбора. В нём годы чужих слов, и хранить его незачем: остаются только разговоры, и они удаляются вместе с выгрузкой, если вы её удалите.
Чтобы бот отвечал
Выгрузка даёт боту память о прошлом, но говорить в группе он от этого не начнёт. Для этого добавьте его в группу как обычного участника: найдите в поиске Телеграма @PoselkovoBot и пригласите, как пригласили бы соседа.
Точное имя бота всегда написано на самой странице чат-групп — если когда-нибудь оно изменится, верным будет то, что там.
Пока бота в группе нет, в списке будет висеть предупреждение: он не увидит ни одного сообщения.