现在来吧,这是 Stackoverflow,让我们来了解一下技术,好吗?让我们放下幼稚的 jpeg、gui 工具和电子表格伪代码,直奔问题的核心!
[拳头撞击]
来源:https://coolaj86.com/articles/searching-skypes-sqlite-database/
找到你的 Skype 数据库
首先,您必须为您的用户找到正确的 Skype 数据库:
ls ~/Library/Application\ Support/Skype/
sqlite3 ~/Library/Application\ Support/Skype/<<YOUR_USER_NAME>>/main.db
学习他们的表格很好!
您需要查看可用的表格及其说明:
.tables " see the short table list
.schema Contacts " all about the Contacts table
.schema Messages " all about the Messages table
您可能需要使用良好的ctrl+f 在输出中搜索time、author 和username 等内容。
深入了解 SQL
那么你必须深入研究 SQL...
" List the 25 most recently contacted contacts
SELECT skypename, lastused_timestamp FROM Contacts ORDER BY lastused_timestamp DESC LIMIT 25;
" List the 100 most recent messages
SELECT id, convo_id, timestamp, type, author, body_xml FROM Messages ORDER BY timestamp DESC LIMIT 100;
" List the 100 most recent conversations (and all participants)
SELECT last_activity_timestamp, identity, type, given_displayname, displayname FROM Conversations ORDER BY last_activity_timestamp DESC LIMIT 100;
" Search for a message with the text 'home'
SELECT author, body_xml FROM Messages WHERE body_xml LIKE '%HOME%' ORDER BY timestamp ASC;
" Search for a contact named 'john'
SELECT (displayname || ' : ' || skypename || ' : ' || fullname) as names FROM Contacts WHERE names LIKE '%JOHN%' ORDER BY lastused_timestamp ASC;
(注意 cmets 带有“,而不是 #)
注意
-
Messages 指的是一行文字,例如“What's up?”
-
Conversations 是指两方或多方之间的消息集合。
- 我认为
Chats 指的是用“昨天”、“7 天前”、“3 月 24 日”等标签分隔的逻辑时间间隔