Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: yk on 05 01 2019, 12:33:05
-
История в QIP2005 (.txt, UIN ICQ), MirandaNG (0.95.11). Поиск в Интернете выдает, что раньше для этого использовали устаревший плагин ImportTXT. Как сейчас можно это сделать?
-
yk, зачем переносить историю из QIP, если ее можно будет с сервера загрузить?
Сейчас это можно сделать только одним образом: разыскать какую-нибудь сборку паругодичной давности, до того как importtxt отстрелили, сконвертировать историю в пустую базу, потом обновиться. Кажется в хоткофе нужный плагин входил, но тут я могу ошибаться.
-
как я вижу популярность вопроса начинает рости
зашел в web версию icq и обнаружил что история переписки на сервере реально короче чем у меня в текстовых файлах ,
в txt 2012 Год , на серваке 2015 год :)
а значит даже если что то и подтянется , то это будет не все ,
-
Я думаю имеет смысл подождать, разработчики понимают, что поток с QIP есть, и я думаю, что импорт будет, дайте отладить протокол. Ну или как описано выше, через ImportTXT и миранду предыдущей версии, её можно скачать с GitHub или офф. сайта миранды (правда придётся руками ссылку править).
-
Elzor importtxt добавляет сообщения в историю только если есть соответствующий контакт. Т.к. в чистой базе нет никаких пользователей - то он ничего не добавляет из файлов истории qip2005. А подключиться к серверу icq, чтобы получить список пользователей, в старых версиях миранды не получиться (видимо?).
А есть какие-то варианты экспорта сообщений в миранду, кроме как из формата БД миранды?
-
yk, добавить контакты руками, если их конечно вменяемое количество.
А есть какие-то варианты экспорта сообщений в миранду, кроме как из формата БД миранды?
Пока, что нет.
Post Merge: 06 01 2019, 12:42:29
Сейчас даже сообщения из базы созданной SQLite нельзя импортировать в MDB
-
Apollo2k4 Количество не вменяемое (qip использовали ~30 пользователей, у многих 20 и более контактов на UIN).
А есть какой-то способ скомпилировать importtxt в том виде, как он был, для текущей версии миранды? Или там настолько все поменялось (в миранде), что нужно переписывать плагин?
-
Из ядра, если память не изменяет, что-то выкинули вместе с ImportTXЕ
Он же на паскале, так что выкидывание паскаля всегда радость
-
Более перспективный путь:
- взять историю QIP 2005, благо она в txt
- выдрать из ImportTXT регулярное выражение, которым парсилась история квипа
- взять sed
- с помощью sed, регулярки и такой-то матери сконвертировать историю контакта в JSON
- всосать её импортом в Миранду
Плюсы в том, что не нужно ничего кодить, лишь шарить в регулярках, а также не нужно поддерживать плагин в дальнейшем
-
dartraiden Не подскажите, как должен выглядеть преобразованный в формат json фрагмент исходной истории из файла (222222.txt) вида:
--------------------------------------<-
Andrew (12:08:19 20/01/2016)
Добрый день, аська была закрыта
-------------------------------------->-
alla (11:59:35 21/01/2016)
Добрый день.
чтобы оно при импорте (стандартным средством Mirand'ы?) попало в историю пользователя Andrew (ICQ UIN 222222) для учетной записи alla (ICQ UIN 111111)?
-
Когда вы импортируете через меню контакта (ПКМ → Импорт〉, история будет влита в историю этого контакта.
Вот так выглядит история в JSON, экспортированная плагином Msg_Export. Import обучен всасывать в таком же формате. См. аттач.
А вот так она выглядит в журнале. См. аттач.
Немного инфы по полям:
flags: очевидно, что r = входящее, m = исходящее
type: тип, 0 = обычное сообщение (EVENTTYPE_MESSAGE), остальные не знаю, надо смотреть исходники
-
В конференции у нас проскочила ещё одна идея, которая вообще не требует регулярок.
Берёте 0.95.8 (https://www.miranda-ng.org/distr/deprecated/0.95.8/) (x32). Там же берёте ImportTXT и DBEditor (оба x32, потому что 64-разрядного ImportTXT не существовало). Создаёте базу, заводите туда учётку аськи. Она, естественно, не подключается, но это и не нужно. Из актуальной 0.95.11 через редактор базы экспортируете контакты в .ini (ПКМ в редакторе базы по разделу "Контакты" → "Экспорт"). Тем же способом из .ini импортируете их через редактор базы в 0.95.8. И пытаетесь плагином ImportTXT втянуть историю квипа для каждого контакта.
Если удалось, то запускаете Import (из главного меню 0.95.11) и втягиваете в актуальную Миранду все контакты с историей из той базы, над которой вы потрудились в 0.95.8.
Всё упирается в то, не сломана ли в ImportTXT была работа с историей альтернативных клиентов. Этого никто не знает.
-
Спасибо за советы.
Способ с использованием версии 0.95.8 и ImportTXT работает (и, наверное, самый простой).
Проверял на истории QIP2005, QIP2010.
Примечание: чтобы не было проблем используйте одинаковые имена при создании профиля Mirandы и учетной записи ICQ в старой и новой версиях.
Еще вопрос:
Есть ли возможность загрузить в профиль Mirandа историю по пользователям ICQ, хранимую на серверах ICQ (суть - при переходе с QIP на Miranda часть пользователей временно использовала родной клиент, соотв. у них сейчас отсутствует история за этот период)?
-
Имя профиля значения не имеет. Главное, чтобы совпал порядковый номер учётки. То есть, если у экспортированных контактов значится, скажем, ICQ_1, то нужно убедиться, что в старой Миранде в базе учётка значится ICQ_1.
-
А по-поводу экспорта в Mirand'у истории с серверов ICQ (за период) не подскажите?
-
Технически возможно подгружать историю с серверов, но пока это не реализовано, поскольку будет конфликтовать с локальной историей. То есть, нужно городить какую-то кнопку, нажатие на которую будет удалять всю локальную историю и загружать с сервера...
-
Т.е. на данный момент возможности загрузить историю (всю или за период) в Миранде нет?
-
Нет.