18

Как искать данную строку во всех историях чата?
СTRL +F - поиск внутри одного чата, но их у меня много, поэтому я хочу найти что-то во всех сохраненных чатах?

6 ответов6

24

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

Файл базы данных main.db, где хранится вся история чата. main.db - это стандартный файл базы данных SQLite, который можно открыть с помощью любого браузера-приложения SQLite. Тем не менее, существует бесплатное приложение, специально предназначенное для чтения чата и данных звонков Skype - SkypeLogView.

Файл main.db сохраняется в одном из следующих (в зависимости от ОС).

В Windows 7 +: C:\Users\%USERNAME%\AppData\Roaming\Skype\[Skype User Name]

В Windows XP: C:\Documents and Settings\%USERNAME%\Application Data\Skype\[Skype User Name]

Следующее должно работать на всех версиях Windows, вы можете скопировать его в строку «Выполнить»:

%APPDATA%\Skype \[Skype User Name]

В Mac OS X: Library/Application Support/Skype/[Skype User Name]

В будущем вы можете рассмотреть SkyHistory

7

Написание собственных запросов SQL с использованием, например, SqliteBrowser для поиска в базе данных Skype, обеспечивает большую гибкость и функциональность, чем использование стороннего инструмента, специфичного для Skype.

Например, этот запрос будет искать текстовую строку во всех ваших чатах и отображать (локальное) время, когда сообщение было отправлено, само сообщение, название чата (если оно имеет имя) и кто находится в чат.

select DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime') as postedon, c.displayname as chatname, m.from_dispname as fromuser, m.body_xml as msgtext
from Messages m
INNER JOIN Conversations c ON m.convo_id = c.id
where m.body_xml LIKE '%my text%' --case insensitive
order by m.timestamp DESC
6

Skyperious также стоит проверить. Он имеет несколько возможностей по сравнению с SkypeLogView, таких как

  • Импортировать контакты из файла CSV в ваши контакты Skype
  • Просмотр любой таблицы базы данных и экспорт их данных
  • Изменить, добавить или удалить данные в любой таблице
  • Выполнять прямые SQL-запросы
  • Синхронизируйте сообщения в двух базах данных Skype: обновляйте историю чата на разных компьютерах или восстанавливайте пропущенные сообщения из старых файлов в текущий
  • Статистика чата
3

Недавно я нашел хороший онлайн-инструмент для просмотра истории Skype: http://www.skypebrowser.com

Кажется, это лучшее решение, если вы не обеспокоены вопросами конфиденциальности.

1

У меня работают следующие запросы на main.db:

Находит групповые чаты

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), c.id, m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.type = 2 AND
m.body_xml NOT NULL
ORDER BY m.timestamp ASC

Находит приватный чат с вашим другом

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE m.body_xml NOT NULL AND
c.identity LIKE '%YOUR.BUDDY.NAME.HERE%' --case insensitive
ORDER BY m.timestamp ASC

В приватном чате с вашим собеседником находит данное слово

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.identity = 'YOUR.BUDDY.NAME.HERE' AND
m.body_xml NOT NULL AND
m.body_xml LIKE '%YOUR.SEARCHED.WORD.HERE%' --case insensitive
ORDER BY m.timestamp ASC

PS: иногда имя вашего собеседника может отличаться от того, которое отображается в скайпе, поэтому сначала проверьте это:

SELECT identity, displayname FROM conversations

и выбрать один из столбца identity

1

SkyHistory не работает для меня - похоже, он не был рассчитан на 68 МБ журналов Skype:)

Один из самых мощных подходов также очень прост - просто используйте клиент SQLite. Здесь я написал простое руководство: http://jehy.ru/articles/2014/05/26/searching-through-skype-history/

Если у вас более 300 контактов и они пересекаются - вы понимаете, что невозможно найти что-либо с помощью простого подхода Ctrl+F.

К счастью, Skype использует базу данных SQLite, и мы можем напрямую подключиться к ней и искать там напрямую. Итак, вам необходимо:

1) Скачать клиент SQLite (я использовал http://sqlitebrowser.org/, но вы можете установить любой клиент, который вам нравится) 2) Найти файл истории, как он описан на веб-сайте Skype:

Удерживайте нажатой клавишу Windows Клавишу Windows на клавиатуре, затем нажмите R, чтобы открыть окно «Выполнить». Если вы используете устройство с сенсорным экраном в Windows 8, вы можете вызвать окно «Выполнить» из окна «Поиск». Введите% appdata%\Skype в окно «Выполнить» и нажмите Enter. Откройте папку с именем вашего имени Skype. Найдите файл main.db в папке, этот файл - ваша история чата.

3) Используйте ваш клиент SQLite, чтобы открыть этот файл. 4) Откройте таблицу базы данных «messages» 5) Используйте любые SQL-запросы, которые вы хотите найти для нужного вам сообщения. Вот пример того, как я ищу слово «git» в разговорах, но есть много полей, которые вы можете использовать для поиска и упорядочения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .