查看完整的 Skype 聊天记录

hek*_*ran 31 skype history logging macos

我在 Mac OS X 10.5.8 上有 Skype 2.8。

在聊天菜单下有一个名为“最近聊天”的选项。这使我可以查看最近的聊天记录,但不能查看较旧的聊天记录。

我知道旧的存储是因为它们在~/Library/Application Support/Skype/username/chatmsg256.dbb. 放入文本编辑器时,此文件包含我以前所有 Skype 聊天的文本聊天信息。然而,它以我不知道如何解析的未知文件格式存储。

Skype 是否具有可用于访问这些旧日志的内置日志查看器(如 Adium 的)?

Dan*_*eck 59

Skype 将其聊天记录存储在 SQLite 数据库中:~/Library/Application Support/Skype/YourSkypeName/main.db. 您可以使用命令行sqlite3工具查看聊天记录。

找出聊天伙伴的用户名

终端中的以下命令(我假设您正在使用bashshell)列出所有聊天伙伴的用户名:

sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db 'SELECT DISTINCT(dialog_partner) FROM Messages;'

提取与特定聊天伙伴之间的所有消息

选项 A. 写入终端

要打印与某个聊天伙伴 ( theOtherPersonsUserName) 之间的所有消息,请使用以下命令:

sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db "SELECT author, from_dispname, datetime(timestamp, 'unixepoch') as date, body_xml FROM Messages where dialog_partner = 'theOtherPersonsUserName' ORDER BY timestamp;"

这将按时间顺序每行打印一条消息,包括发送用户名、显示名称、日期和文本,如下所示:

danielbecks-username|Daniel Beck|2012-02-03 08:47:53|只是测试一些东西

选项 B. 写入文件

您可以将此聊天记录直接写入文件。运行以下命令将日志写入theOtherPersonsUserName文件theOtherPersonsUserName.log

sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db "SELECT author, from_dispname, datetime(timestamp, 'unixepoch') as date, body_xml FROM Messages where dialog_partner = 'theOtherPersonsUserName' ORDER BY timestamp;" > "theOtherPersonsUserName.log"


当然,您也可以main.db在任何 SQLite 数据库查看器中打开并从那里开始。


fid*_*eli 9

我不确定这是否显示了整个历史,但请尝试以下操作。无论联系人是在线还是离线,都会弹出聊天窗口。

点击蓝色聊天按钮

然后单击“查看早期消息:”下的“全部”。

点击全部

或者,单击联系人的齿轮图标并选择“查看聊天记录”。这会生成一个在您的 Web 浏览器窗口中打开的 html 文件。

我不确定这是否显示所有历史记录的原因是因为我无法完全记住我的聊天历史记录何时开始在这台计算机上。