Недавно понадобилось сохранить историю переписки в скайпе с выбранным абонентом.
Поиск рекомендовал SkypeLogView, но как-то с ним не задалось. Потом попал на статью База данных Skype. Читаем переписку - понравилось. Правда, я запрос упростил.
Итак, понадобится:
- Файл main.db с историей переписки в скайпе. Его можно найти в пользовательском профиле. В моем примере это: c:\Users\Игорь\AppData\Roaming\Skype\igordanyk\main.db, где Игорь - имя пользователя, под которым работаю в Windows, igordanyk - мой логин в скайпе. Файл нужно скопировать в другое место (в примере - D:\Temp) и ОБЯЗАТЕЛЬНО работать с копией.
- Программа SQLite Expert. Скачать ее можно по адресу: http://www.sqliteexpert.com/download.html. Есть бесплатная редакция Personal и пробная версия Professional. Нужна Professional, так как в персональной версии нет функций экспорта результатов в другие форматы.
Собственно выборка:
1. В скайпе нужно найти логин контакта. Для этого вызвать контекстное меню контакта (пр. кн. мыши) и выбрать пункт "Посмотреть личные данные". В примере использовал данные бота Echo / Sound Test Service - его логин echo123
2. Установить и запустить SQLite Expert.
3. Через File - Open Database открыть копию файла main.db, сохраненную во временном каталоге.
4. Выполнить указанные на скриншотах действия:
Запрос в текстовом виде:
select
author, body_xml
from Messages
where
chatname like '%echo123%'
order by timestamp;
Объяснение запроса:
- показать содержимое полей author, body_xml таблицы Messages, выбрав только те записи, для которых в поле chatname встречается текст echo123. Выборку отсортировать по времени сообщений.
|