В преддверии закрытия мессенджера ICQ (которое запланировано на 26 июня) немногочисленные оставшиеся пользователи задаются вопросом как скачать и сохранить историю переписок. Официальный клиент ICQ позволяет лишь вручную скопировать сообщения в текстовый редактор:
Запускаем клиент ICQ на компьютере и открываем необходимый чат. Щёлкаем правой кнопкой мыши по последнему сообщению → «Выбрать». После того как выбрано первое сообщение, нажимаем и удерживаем клавишу Shift, и одновременно с этим нажимаем и удерживаем клавишу Вверх. Держим до тех пор, пока не выделятся все сообщения чата. Нажимаем «Копировать». Вставляем содержимое в текстовый редактор и сохраняем.
Очевидные неудобства:
История может быть длинной. Очень длинной. Например, моя переписка с одним контактом насчитывает почти сто тысяч сообщений.
Каждый файл, каждое изображение придётся сохранять вручную.
На помощь приходит мультипротокольный мессенджер Миранда.
Загрузка истории с сервера
Забираем портативный дистрибутив («Архив 7-zip») с сайта программы. Можно брать стабильную версию (версия в разработке предназначена для пользователей желающих обмазаться самым горячим, ещё дымящимся… кодом. Для наших целей это не нужно). Распаковываем и запускаем.
-
Создаём профиль — это каталог, где будет храниться база (файл, в котором содержатся настройки программы, контакты, история) и вспомогательные файлы (кэши, резервные копии, отчёты о падениях).
-
Появляется список контактов (пока пустой) и предложение добавить учётные записи мессенджеров и соцсетей.
-
Нажимаем
+
, выбираем протокол и придумываем имя учётной записи.
Выбираем созданную учётную запись, вводим UIN и пароль. Если к UIN привязан номер телефона, то можно войти и по SMS.
-
Нажимаем
OK
и переходим в главное окно программы, оно же список контактов.?Рекомендую сразу перейти в настройки и в разделе Events → File transfers, во-первых, поменять каталог входящих файлов на
%miranda_userdata%\Incoming\%userid%\
, во-вторых, снять ограничение на размер скачиваемых файлов, выставив настройке «Only if their size is less than» значение0
. Тем самым, при загрузке истории все файлы, независимо от размера, будут скачаны и с разбивкой по контактно помещены в подкаталогIncoming
, находящийся в профиле.?Кроме того, стоит установить просмотрщик истории NewStory (Главное меню → Available components list) и затем в настройках программы назначить его журналом сообщений (Message sessions → Log Viewer). Это пригодится чуть позже.
?А если вы хотите видеть и загружать стикеры, то установите плагин SmileyAdd.
Нажимаем цветочек аськи в нижней части окна и переводим протокол в онлайн. Вот и контакты подтянулись (если с подключением возникли проблемы, см. раздел ЧАВО в конце статьи). Все давно офлайн, многие удалены из-за отсутствия активности.
-
Нажимаем правой кнопкой на контакт и выбираем «Load server history». Начнётся загрузка истории переписки с этим контактом. Если история большая, это займёт минуты и даже десятки минут. Например, с одним контактом за 5 лет мы натрындели почти сто тысяч сообщений.
Контролировать процесс (чтобы понять, что история скачалась и пора переходить к следующему контакту) можно двумя способами:
Выбрав в меню контакта (щелчок правой кнопкой мыши по контакту) пункт History, Это рекомендуемый вариант.
Двойным щелчком по контакту открыть приват с ним. Вы увидите бешено всасываемый с сервера поток истории, а окно может заметно подвиснуть. И даже упасть, утянув с собой всю Миранду. Ничего не поделаешь: кодовая база в следующем году отметит 25-летие, над программой работали за это время сотни человек, большая часть которых была отнюдь не профессиональными, но вчерашними школьниками и студентами, а слов типа «юнит-тесты» и "автоматизированное тестирование" Миранда никогда не знала. Лучшее тестирование — это тестирование на пользователях. В общем, не открывайте приват с контактом, пока туда всасывается история, вас предупредили.
Вся история сохраняется в базе (файл .dat в папке профиля), а файлы — в каталог, указанный на шаге 5. Да, файл и событие (сообщение), содержащее этот файл, хранятся в разных местах. Придётся понять и простить, так исторически сложилось. Кроме того, хранение файлов в базе привело бы к значительному увеличению её размера и захламлению (представьте какой-нибудь канал с мемасиками в Telegram, изображения из которого стремительным домкратом ежедневно льются в базу).
Когда история контакта загрузилась, повторяем загрузку для следующего контакта. И так далее.
-
PROFIT! История загружена. Теперь с ней можно делать всякое.
Интересный факт: Миранда позволяет выкачать более старую историю, которую официальный клиент даже не видит. Например, в моей практике официальный клиент видел историю, начиная с 2017 года, а Миранда позволила забраться глубже в прошлое — вплоть до 2015.
Просмотр истории в Миранде
Выбираем в меню контакта пункт History. Если вы послушались совета и установили NewStory, то увидите такое окно:
Здесь можно искать в истории, копировать текст, есть дерево дат, поддержка закладок, предпросмотр изображений и экспорт истории в формат JSON. Есть даже фильтры, но они не работают ¯\_(ツ)_/¯
Экспорт истории в текстовый формат
Устанавливаем плагин Msg_Export. Переходим в Настройки → History → Message export. Здесь можно выбрать формат, путь (по умолчанию папка профиля\MsgExport\
) и контакты для экспорта (щелчок правой кнопкой мыши по выделенным контактам → Export).
?Если нужен формат JSON, лучше воспользоваться плагином NewStory. Плагин Msg_Export очень старый и странный, а поддержка JSON к нему была прикручена лишь несколько лет назад. В NewStory поддержка экспорта в JSON реализована гораздо лучше.
Другие варианты
Поскольку база (.dat) представляет собой обычную базу SQLite, можете использовать сторонние утилиты для работы с SQLite. Тысячи их.
ЧАВО
Пароль не подходит. А я ведь точно-точно его помню!
Во-первых, убедитесь, что ваша учётная запись не удалена. Пройдите по ссылке https://icq.im/вашUIN
— если вместо имени видите [deleted]
, то учётную запись удалили из-за неактивности. Восстановить её невозможно.
Во-вторых, попробуйте ввести в Миранде не весь пароль, а лишь первые 8 символов. Дело в том, что все годы до перехода под крыло Mail.ru, максимальная длина пароля была именно такой. Если пользователь вводил более длинный пароль, то все официальные и сторонние клиенты молча урезали его до 8 символов. Сейчас это ограничение снято и Миранда отправляет на сервер пароль целиком. Но если вы не меняли его с древних времён, то сервер ожидает получить 8 символов.
Всё это слишком сложно, а у меня лапки. Можно ли как-то попроще?
Устанавливаем в браузер расширение ICQ Backup 2024, написанное хабраюзером @minch-dev. Логинимся на web.icq.com. Выбираем чат, нажимаем «Собрать историю чата». Когда закончится прокрутка чата, собранную историю можно сохранить в форматах MHTML и JSON. Файлы из чатов автоматически скачиваются в подкаталоги с разбивкой по чатам.
Комментарии (39)
vis_inet
21.06.2024 10:46+3Я всегда исходил из того, что если мне история какой-либо переписки очень важна, то надо самому её как можно чаще сохранять.
В таком вопросе не стоит ждать милостей от природы и разработчиков.
freylis
21.06.2024 10:46+2Вошел в миранду, контакты даже загрузились! а вот история что-то не подгружается :( очень жаль. С удовольствием бы почитал на выходных то, чем я жил в нулевых/десятых
dartraiden Автор
21.06.2024 10:46Она с 2015 года примерно хранится на сервере. Может, чуть раньше. Более старой взяться неоткуда.
Это собственно одна из причин, по которой ICQ потеряла популярность: у пользователя к этому времени уже давно больше одного устройства, а тут "на каком устройстве история создана, вот там её и читайте".
freylis
21.06.2024 10:46+4Очень сильно похоже на одно современное приложение, которое по абсолютно непонятным для меня причинам, в 1000 раз популярнее, чем оно этого заслуживает
mero-vingean
21.06.2024 10:46Сигнал?
minch-dev
21.06.2024 10:46Вацап?
dartraiden Автор
21.06.2024 10:46WhatsApp может, хотя бы, выгрузить историю в учётную запись Google, если есть сервисы последнего. И делать это периодически.
Соответственно, на другом устройстве её можно оттуда сгрузить.
В старой аське всё было куда печальнее - резервные копии пользователь должен был делать самостоятельно (особенно на кнопочном телефоне это "удобно").
ProtonLed
21.06.2024 10:46Супер. А вообще пользоваться ICQ можно будет? И что лучше использовать?
dartraiden Автор
21.06.2024 10:46+1А вообще пользоваться ICQ можно будет?
Как написано в начале поста, 26 июня ICQ закрывается.
aMster1
21.06.2024 10:466475426
Зачем я это помню?
dartraiden Автор
21.06.2024 10:46+2Затем же, зачем я помню J3QQ4, хотя вводить этот серийник по памяти мне вряд ли когда-то придется.
waffel
21.06.2024 10:46353111903 зарегил в 2007.
Так же в те времена где то на каком то мобильном wap сайте были выложены 6 знаки. Забрал себе целых два. Сменил ёмайл с паролем и пользовался кучу лет. Клиент QIP показывал что они зареганы в 1997. И самый прикол в том что я их не запоминал. Если кто просил, то подсматривал в QIP номерок и перепечатывал. Потом все 3 номера привязал к сайту QIP. Потом понял что мне в icq не с кем больше общаться. Сгенерил на QIP рандомный пароль, привязал аккаунт к какому то 10 минутному ёмайл и всё.
shoorick
21.06.2024 10:46Шестизнаки в 1997 году? Быть не может. Я в декабре 1996-го регался — у меня семизнак был, знакомые регались через несколько месяцев после меня — уже восьмизнаки были.
shoorick
21.06.2024 10:46Шестизнаки в 1997 году? Быть не может. Я в декабре 1996-го регался — у меня семизнак был, знакомые регались через несколько месяцев после меня — уже восьмизнаки были.
vadimk91
21.06.2024 10:46На рабочем компе еще остался раздел с WinXP, глянул - лежит там и ICQ, Судя по дате файлов, пользовался аськой где-то до середины десятых годов, регистрировался давно, семизнак 8804153. База сообщений там же (.cdx/.dbf/.fpt). Безо всякого шифрования, заглянул, наткнулся на
"Самое печальное, что у нас в отделе сейчас 5 человек в штате и один сверх.
Ведь никого не интересует, что двое новеньких еще ни бельмеса, один в отпуске и один увольняется завтра и соответственно толку от него... А спросят как с 5-х..."
Сейчас и отделов этих нет...
eigrad
21.06.2024 10:46Проверил - аккаунт ещё живой. Даже пароль почти с первого раза вспомнил (только оно попросило привязать телефон).
Из всей истории - только пара сообщений 2017 года. Старую историю ещё при переезде в мэйл продолбали, жалко :-(. Но вообще она у меня где-то на DVD-шках в кладовке забэкаплена, поищу повспоминаю через лет десять.
dartraiden Автор
21.06.2024 10:46продолбали
По-моему, до "переезда в мэйл" история не хранилась на сервере вообще.
dartraiden Автор
21.06.2024 10:46только оно попросило привязать телефон
В коде оф. клиента есть проверка языка операционной системы. Если он не русский, то запрос привязки номера можно пропустить.
Ileots
21.06.2024 10:46Интересно, а ограничения какие-нибудь по размеру MHTML есть?.. у меня чаты по 50-100 тысяч сообщений, прокрутка займет по несколько часов (пробовал раньше)
minch-dev
21.06.2024 10:46Я для теста крутил чат с 23 244 сообщениями. На удивление нормально прокрутился, ограничение только по выносливости компа. Прокрутились минут за 30 по-моему. Если крутить без расширения там подгрузка по 20 сообщений, а у меня сделано по 100.
minch-dev
21.06.2024 10:46При сохранении в mhtml желательно пару раз хотя бы прокрутить туда-сюда, чтобы все картинки прогрузились. Ну или крутить помедленнее, там есть настройка интервала.
minch-dev
21.06.2024 10:46Да, на случай если сообщения ещё не докрутились, а комп уже не тянет, всё продумано. Можно сохранить сколько есть (типа часть 1), потом перезагрузить страницу, и нажать кнопку "телепорта к последнему сообщению", чтобы продолжить собирать следующую часть. Повторять пока не достигнут конец истории :3.
JuriM
21.06.2024 10:46В IRC историю сообщений вообще нельзя было хранить (хотя можно было бота подключить), не знаю как сейчас дело обстоит
aveltmp
21.06.2024 10:46Сначала были пятизначные номера, потом их отняли у пользователей и раздали сотрудникам компании мирабилис. Возник черный рынок 6 значных номеров icq. Потом стало известно, что некий президент активно пользуется icq и аська перехала в Россию, где благополучно и находилась в коме. Это всё что я знаю про icq. Нет еще знаю анекдот про разработчика icq, который регулярно занимает у мамы денег потому что она заставила его бросить работу в мирабилисе, а его коллеги через год стали миллионерами. Срочно нужен флешмоб со всеми этими зажженными свечками и рипом.
minch-dev
21.06.2024 10:46+1О! Спасибо за упоминание, у расширения прирастает по 100 юзеров в день, был крайне удивлен такой динамикой.
Сейчас пока все работает не буду ничего трогать, пост мортем (после 26 числа) есть планы добавить просмотр собранной переписки (и из json файлов и из хранилища).shoorick
21.06.2024 10:46А как пользоваться? Я поставил расширение, тыкаю в зелёную ромашку — вижу инструкцию с кучей слов «нажмите кнопку», а самих кнопок нет.
Debian GNU/Linux 11 (bullseye), Google Chrome 125.
minch-dev
21.06.2024 10:46Сегодня все юзеры превратились в тыкву! Ещё вчера их было ~350, а уже сегодня целых 24, ровно столько же, сколько в первый день выпуска. То ли гугл дурит, то ли все всё сохранили и удалились, даже не знаю, что лучше.
Anonanonov
21.06.2024 10:46А есть вариант сохранить данные именно с мобильной версии аськи? Не получается зарегаться в свой акк на компе
exTvr
Спасибо!
Теперь я знаю, чем заняться в выходные :)).