Як шукати заданий рядок у всіх історіях чату?
СTRL + F - пошук у одному чаті, але у мене їх багато, тому я хочу знайти щось у всіх збережених чатах?
Як шукати заданий рядок у всіх історіях чату?
СTRL + F - пошук у одному чаті, але у мене їх багато, тому я хочу знайти щось у всіх збережених чатах?
Відповіді:
У списку контактів або в списку Останні просто натисніть контакт або групу, для якої потрібно переглянути історію розмов, і відобразиться історія ваших розмов.
Файл бази даних 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, ви можете скопіювати це у підказку Run:
%APPDATA%\Skype
\[Skype User Name]
У Mac OS X: Library/Application Support/Skype/[Skype User Name]
На майбутнє ви можете розглянути SkyHistory
[USER NAME]
на %USERNAME%
так, щоб ваш шлях став копіювати / вставляти. Також "Ім'я Skype" було для мене неоднозначним (думав, що це версія Skype чи щось таке O_o), я б оновив до "Ім'я користувача Skype"
Skyperious також, можливо, варто перевірити. Він має декілька можливостей над SkypeLogView, як-от
Написання власних запитів SQL, використовуючи, наприклад, SqliteBrowser для пошуку в базі даних 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
Нещодавно я знайшов приємний онлайн-інструмент для перегляду історії Skype: http://www.skypebrowser.com
Здається, найкращим рішенням, якщо вас не турбують проблеми конфіденційності.
Наступні запити на 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
стовпців
SkyHistory не працював для мене - схоже, він не був розроблений для 68 Мб скайп-журналів:)
Один з найпотужніших підходів - це також дуже простий - просто використовуйте клієнт SQLite. Тут я написав простий посібник: http://jehy.ru/articles/2014/05/26/searching-through-skype-history/
Якщо у вас більше 300 контактів, і вони ведуть розбіжності, що перетинаються - ви розумієте, що простого підходу Ctrl + F знайти неможливо.
На щастя, Skype використовує базу даних SQLite, і ми можемо зробити пряме підключення до неї та пошук там безпосередньо. Отже, вам потрібно:
1) Завантажте клієнт SQLite (я використовував http://sqlitebrowser.org/, але ви можете встановити будь-який клієнт, який вам подобається)
Утримуйте клавішу Windows Клавіша Windows на клавіатурі, а потім натисніть клавішу R, щоб відкрити вікно запуску. Якщо ви використовуєте пристрій із сенсорним екраном у Windows 8, ви можете відкрити вікно Запуск із шарму пошуку. Введіть% appdata% \ Skype у вікно Run та натисніть Enter. Відкрийте папку, названу по імені Skype. Знайдіть файл main.db у папці, цей файл - ваша історія чату.
3) Використовуйте клієнт SQLite, щоб відкрити цей файл. 4) Відкрийте таблицю бази даних «повідомлення» 5) Використовуйте будь-які запити SQL, які ви хочете шукати потрібне повідомлення. Ось приклад того, як я шукаю слово "git" у розмовах - але є багато полів, які ви можете використовувати для пошуку та замовлення.