В преддверии закрытия мессенджера ICQ (которое запланировано на 26 июня) немногочисленные оставшиеся пользователи задаются вопросом как скачать и сохранить историю переписок. Официальный клиент ICQ позволяет лишь вручную скопировать сообщения в текстовый редактор:

Запускаем клиент ICQ на компьютере и открываем необходимый чат. Щёлкаем правой кнопкой мыши по последнему сообщению → «Выбрать». После того как выбрано первое сообщение, нажимаем и удерживаем клавишу Shift, и одновременно с этим нажимаем и удерживаем клавишу Вверх. Держим до тех пор, пока не выделятся все сообщения чата. Нажимаем «Копировать». Вставляем содержимое в текстовый редактор и сохраняем.

Очевидные неудобства:

  • История может быть длинной. Очень длинной. Например, моя переписка с одним контактом насчитывает почти сто тысяч сообщений.

  • Каждый файл, каждое изображение придётся сохранять вручную.

На помощь приходит мультипротокольный мессенджер Миранда.

Не просто жива, а обзавелась поддержкой современных протоколов (Discord, Telegram), кроме того, кипит работа над реализацией голосовых звонков.
Не просто жива, а обзавелась поддержкой современных протоколов (Discord, Telegram), кроме того, кипит работа над реализацией голосовых звонков.

Загрузка истории с сервера

  1. Забираем портативный дистрибутив («Архив 7-zip») с сайта программы. Можно брать стабильную версию (версия в разработке предназначена для пользователей желающих обмазаться самым горячим, ещё дымящимся… кодом. Для наших целей это не нужно). Распаковываем и запускаем.

  2. Создаём профиль — это каталог, где будет храниться база (файл, в котором содержатся настройки программы, контакты, история) и вспомогательные файлы (кэши, резервные копии, отчёты о падениях).

    Имя профиля может быть любым, ограничения накладывает только файловая система.
    Имя профиля может быть любым, ограничения накладывает только файловая система.
  3. Появляется список контактов (пока пустой) и предложение добавить учётные записи мессенджеров и соцсетей.

    В дальнейшем менеджер учётных записей можно вызвать из главного меню.
    В дальнейшем менеджер учётных записей можно вызвать из главного меню.
  4. Нажимаем +, выбираем протокол и придумываем имя учётной записи.

    Имя может быть любым, это имя, по которому Миранда будет отличать эту учётную запись от прочих.
    Имя может быть любым, это имя, по которому Миранда будет отличать эту учётную запись от прочих.

Выбираем созданную учётную запись, вводим UIN и пароль. Если к UIN привязан номер телефона, то можно войти и по SMS.

Можете даже мне написать. Ответа, конечно, не будет.
Можете даже мне написать. Ответа, конечно, не будет.
  1. Нажимаем 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.

  2. Нажимаем цветочек аськи в нижней части окна и переводим протокол в онлайн. Вот и контакты подтянулись (если с подключением возникли проблемы, см. раздел ЧАВО в конце статьи). Все давно офлайн, многие удалены из-за отсутствия активности.

Оно живое!
Оно живое!
  1. Нажимаем правой кнопкой на контакт и выбираем «Load server history». Начнётся загрузка истории переписки с этим контактом. Если история большая, это займёт минуты и даже десятки минут. Например, с одним контактом за 5 лет мы натрындели почти сто тысяч сообщений.

    Контролировать процесс (чтобы понять, что история скачалась и пора переходить к следующему контакту) можно двумя способами:

    • Выбрав в меню контакта (щелчок правой кнопкой мыши по контакту) пункт History, Это рекомендуемый вариант.

    • Двойным щелчком по контакту открыть приват с ним. Вы увидите бешено всасываемый с сервера поток истории, а окно может заметно подвиснуть. И даже упасть, утянув с собой всю Миранду. Ничего не поделаешь: кодовая база в следующем году отметит 25-летие, над программой работали за это время сотни человек, большая часть которых была отнюдь не профессиональными, но вчерашними школьниками и студентами, а слов типа «юнит-тесты» и "автоматизированное тестирование" Миранда никогда не знала. Лучшее тестирование — это тестирование на пользователях. В общем, не открывайте приват с контактом, пока туда всасывается история, вас предупредили.

    Вся история сохраняется в базе (файл .dat в папке профиля), а файлы — в каталог, указанный на шаге 5. Да, файл и событие (сообщение), содержащее этот файл, хранятся в разных местах. Придётся понять и простить, так исторически сложилось. Кроме того, хранение файлов в базе привело бы к значительному увеличению её размера и захламлению (представьте какой-нибудь канал с мемасиками в Telegram, изображения из которого стремительным домкратом ежедневно льются в базу).

    Когда история контакта загрузилась, повторяем загрузку для следующего контакта. И так далее.

  2. 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)


  1. exTvr
    21.06.2024 10:46
    +4

    Спасибо!

    Теперь я знаю, чем заняться в выходные :)).


  1. vis_inet
    21.06.2024 10:46
    +3

    Я всегда исходил из того, что если мне история какой-либо переписки очень важна, то надо самому её как можно чаще сохранять.

    В таком вопросе не стоит ждать милостей от природы и разработчиков.


  1. freylis
    21.06.2024 10:46
    +2

    Вошел в миранду, контакты даже загрузились! а вот история что-то не подгружается :( очень жаль. С удовольствием бы почитал на выходных то, чем я жил в нулевых/десятых


    1. dartraiden Автор
      21.06.2024 10:46

      Она с 2015 года примерно хранится на сервере. Может, чуть раньше. Более старой взяться неоткуда.

      Это собственно одна из причин, по которой ICQ потеряла популярность: у пользователя к этому времени уже давно больше одного устройства, а тут "на каком устройстве история создана, вот там её и читайте".


      1. freylis
        21.06.2024 10:46
        +4

        Очень сильно похоже на одно современное приложение, которое по абсолютно непонятным для меня причинам, в 1000 раз популярнее, чем оно этого заслуживает


        1. mero-vingean
          21.06.2024 10:46

          Сигнал?


          1. minch-dev
            21.06.2024 10:46

            Вацап?


            1. dartraiden Автор
              21.06.2024 10:46

              WhatsApp может, хотя бы, выгрузить историю в учётную запись Google, если есть сервисы последнего. И делать это периодически.

              Соответственно, на другом устройстве её можно оттуда сгрузить.

              В старой аське всё было куда печальнее - резервные копии пользователь должен был делать самостоятельно (особенно на кнопочном телефоне это "удобно").


  1. ProtonLed
    21.06.2024 10:46

    Супер. А вообще пользоваться ICQ можно будет? И что лучше использовать?


    1. dartraiden Автор
      21.06.2024 10:46
      +1

      А вообще пользоваться ICQ можно будет?

      Как написано в начале поста, 26 июня ICQ закрывается.


  1. peacemakerv
    21.06.2024 10:46

    Походу там и гугловое хранилище и web.icq.com - заддосено бекаперами...


  1. aMster1
    21.06.2024 10:46

    6475426

    Зачем я это помню?


    1. dartraiden Автор
      21.06.2024 10:46
      +2

      Затем же, зачем я помню J3QQ4, хотя вводить этот серийник по памяти мне вряд ли когда-то придется.


      1. vis_inet
        21.06.2024 10:46
        +4

        IDDQD


        1. exTvr
          21.06.2024 10:46

          IDDQD

          И мясо. Кроши всех, без оглядки на :))


          1. eigrad
            21.06.2024 10:46
            +1

            Крошить без оглядки это IDKFA.


    1. waffel
      21.06.2024 10:46

      353111903 зарегил в 2007.

      Так же в те времена где то на каком то мобильном wap сайте были выложены 6 знаки. Забрал себе целых два. Сменил ёмайл с паролем и пользовался кучу лет. Клиент QIP показывал что они зареганы в 1997. И самый прикол в том что я их не запоминал. Если кто просил, то подсматривал в QIP номерок и перепечатывал. Потом все 3 номера привязал к сайту QIP. Потом понял что мне в icq не с кем больше общаться. Сгенерил на QIP рандомный пароль, привязал аккаунт к какому то 10 минутному ёмайл и всё.


      1. shoorick
        21.06.2024 10:46

        Шестизнаки в 1997 году? Быть не может. Я в декабре 1996-го регался — у меня семизнак был, знакомые регались через несколько месяцев после меня — уже восьмизнаки были.


      1. shoorick
        21.06.2024 10:46

        Шестизнаки в 1997 году? Быть не может. Я в декабре 1996-го регался — у меня семизнак был, знакомые регались через несколько месяцев после меня — уже восьмизнаки были.


    1. Kimblee
      21.06.2024 10:46

      559115459


  1. vadimk91
    21.06.2024 10:46

    На рабочем компе еще остался раздел с WinXP, глянул - лежит там и ICQ, Судя по дате файлов, пользовался аськой где-то до середины десятых годов, регистрировался давно, семизнак 8804153. База сообщений там же (.cdx/.dbf/.fpt). Безо всякого шифрования, заглянул, наткнулся на

    "Самое печальное, что у нас в отделе сейчас 5 человек в штате и один сверх.
    Ведь никого не интересует, что двое новеньких еще ни бельмеса, один в отпуске и один увольняется завтра и соответственно толку от него... А спросят как с 5-х..."

    Сейчас и отделов этих нет...


  1. eigrad
    21.06.2024 10:46

    Проверил - аккаунт ещё живой. Даже пароль почти с первого раза вспомнил (только оно попросило привязать телефон).

    Из всей истории - только пара сообщений 2017 года. Старую историю ещё при переезде в мэйл продолбали, жалко :-(. Но вообще она у меня где-то на DVD-шках в кладовке забэкаплена, поищу повспоминаю через лет десять.


    1. dartraiden Автор
      21.06.2024 10:46

      продолбали

      По-моему, до "переезда в мэйл" история не хранилась на сервере вообще.


    1. dartraiden Автор
      21.06.2024 10:46

      только оно попросило привязать телефон

      В коде оф. клиента есть проверка языка операционной системы. Если он не русский, то запрос привязки номера можно пропустить.


  1. Ileots
    21.06.2024 10:46

    Интересно, а ограничения какие-нибудь по размеру MHTML есть?.. у меня чаты по 50-100 тысяч сообщений, прокрутка займет по несколько часов (пробовал раньше)


    1. minch-dev
      21.06.2024 10:46

      Я для теста крутил чат с 23 244 сообщениями. На удивление нормально прокрутился, ограничение только по выносливости компа. Прокрутились минут за 30 по-моему. Если крутить без расширения там подгрузка по 20 сообщений, а у меня сделано по 100.


    1. minch-dev
      21.06.2024 10:46

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


    1. minch-dev
      21.06.2024 10:46

      Да, на случай если сообщения ещё не докрутились, а комп уже не тянет, всё продумано. Можно сохранить сколько есть (типа часть 1), потом перезагрузить страницу, и нажать кнопку "телепорта к последнему сообщению", чтобы продолжить собирать следующую часть. Повторять пока не достигнут конец истории :3.


  1. JuriM
    21.06.2024 10:46

    В IRC историю сообщений вообще нельзя было хранить (хотя можно было бота подключить), не знаю как сейчас дело обстоит


  1. AnROm
    21.06.2024 10:46

    Более десяти лет думала, что Аська уже не существует.


    1. dartraiden Автор
      21.06.2024 10:46
      +1

      И IRC существует, и даже Windows 98 существует.


    1. exTvr
      21.06.2024 10:46
      +1

      Корпораты её до сих использовали, я в т.ч.


  1. aveltmp
    21.06.2024 10:46

    Сначала были пятизначные номера, потом их отняли у пользователей и раздали сотрудникам компании мирабилис. Возник черный рынок 6 значных номеров icq. Потом стало известно, что некий президент активно пользуется icq и аська перехала в Россию, где благополучно и находилась в коме. Это всё что я знаю про icq. Нет еще знаю анекдот про разработчика icq, который регулярно занимает у мамы денег потому что она заставила его бросить работу в мирабилисе, а его коллеги через год стали миллионерами. Срочно нужен флешмоб со всеми этими зажженными свечками и рипом.


    1. BigD
      21.06.2024 10:46

      Какой президент?


      1. dartraiden Автор
        21.06.2024 10:46


  1. minch-dev
    21.06.2024 10:46
    +1

    О! Спасибо за упоминание, у расширения прирастает по 100 юзеров в день, был крайне удивлен такой динамикой.
    Сейчас пока все работает не буду ничего трогать, пост мортем (после 26 числа) есть планы добавить просмотр собранной переписки (и из json файлов и из хранилища).


    1. shoorick
      21.06.2024 10:46

      А как пользоваться? Я поставил расширение, тыкаю в зелёную ромашку — вижу инструкцию с кучей слов «нажмите кнопку», а самих кнопок нет.

      Debian GNU/Linux 11 (bullseye), Google Chrome 125.


    1. minch-dev
      21.06.2024 10:46

      Сегодня все юзеры превратились в тыкву! Ещё вчера их было ~350, а уже сегодня целых 24, ровно столько же, сколько в первый день выпуска. То ли гугл дурит, то ли все всё сохранили и удалились, даже не знаю, что лучше.


  1. Anonanonov
    21.06.2024 10:46

    А есть вариант сохранить данные именно с мобильной версии аськи? Не получается зарегаться в свой акк на компе