Физически часть истории, похоже, удаляется с течением времени. В частности, именно для проверки этой гипотезы я и полез в базу. Обнаружил, что из трех случайно найденных на компе бэкапов все разные — т.е. содержат уникальные только для этого бэкапа сообщения.
Номера версий линухового скайпа и виндового никогда не были связаны. Так что если что-то было в виндовом в 4ой версии в линуховой оно могло быть в 2.x.
Скайп почему-то бесит. Он очень удачно и вовремя занял нишу голосового общения в инете. Это пожалуй единственный плюс. Из минусов — не хранит базу на серваке, настроек всё меньше и меньше (enter \ ctrl enter), памяти жрёт, базу открытой хранит.
Он занял нишу во многом благодаря отсутствию лишних, по мнению простого пользователя, настроек и простоте установки.
Большая часть пользователей предпочитает удобство соображениям безопасности, а уж о таких вещах, как место хранения базы, они вообще не задумываются.
Skype — peer to peer система. То есть, строго говоря сервера там нет. (Хотя есть суперноды...) Ему вроде как негде хранить историю, кроме как локально. С этим кстати связанна еще одна раздражающая особенность. При переходе с одного компьютера на другой тебе приходит для синхронизации старая переписка. И бывает, что последнии сообщения из старых почему то скайп воспринимает как новые, не прочтенные, сообщения.
Скайп ужасен для переписки. Очень странно почему это фактический стандарт у нас.
Зато он прекрасен для голосового общения. (хорошее качество, умеет вычитать звук из колонок из того, что получает в микрофон). И с него можно звонить на телефоны.
Да ну ладно, «peer to peer». Он же куда-то логиниться, кудой-то на обычные телефоны звонит, откуда-то рекламу показывает. Да и пробегала тут на Хабре новость как-то о том, что Microsoft скайповские суперноды на свои серваки по-тихоньку переносит.
У меня версия 5.10.66.116.
Строка сообщения не удаляется, но текст стирается (становится пустым). Заполняются колонки edited_by и edited_timestamp. Аналогично в случае редактирования сообщения меняется body_xml, изменяется edited_by и edited_timestamp.
Вроде все по-честному :)
В SQLite базе хранится только то, что видно в чате, а вот в лежащей рядом папке chatsync/ можно найти полную историю сообщений в бинарном скайповском формате, включая текст всех правок и стертых мессаг.
Более того, даже если собеседник написал что-то вам в оффлайн, а потом удалил, когда вы зайдете в skype его исходное сообщение все равно попадет в chatsync.
А кто подскажет, как корректно удалить историю переписок с мобильного скайпа на андроиде? вот только что провел эксперимент, удалил хистори с десктопного скайпа, и теперь он ее якобы не видит, а мобильный все равно подтягивает в рамках интервала хранения. Облазил все меню, так и не нашел.
Потыкал у себя на макбуке. База лежит по адресу /volumes/Macintosh HD/Users/имя пользователя компьютера/Library/Application Support/Skype/аккаунт скайпа. Так же самая SQLite, та же самая картина.
После покупки Skype'a Microsoft'ом он становится все монстрообразнее. Памяти стал есть больше. Версия для Android теперь практически за день разряжает телефон.
Лезть ручками в SQLite это уже какой-то крайний метод. Есть же API для доступа. Пока аккаунт пока еще ваш и скайп работает, можно на python со Skype4Py только так написать экспортилку истории и всего остального.
Причина не в том, что я не смог справиться со Skype API, а в том, что мне хотелось именно что залезть в базу и посмотреть, что там есть, минуя API. Цели я своей достиг, решил поделиться. Доступ через API с использованием python описывается в другой статье — ссылку на нее я давал чуть выше в комментариях.
Спасибо за статью, действительно сообщения доступны. Давно интересовался этим вопросом, но никак руки не доходили разведать что и как. А раньше, помню, скачивал разные проги типа эспорт истории.
Экспорт истории сообщений из Skype 4.*