2010-01-09 22:41:35 +0000 2010-01-09 22:41:35 +0000
30
30

查看完整的Skype聊天记录

我在Mac OS X 10.5.8上使用Skype 2.8。

在聊天菜单下有一个叫做 “最近聊天 "的选项。这让我可以看到最近的聊天记录,但不能看到旧的聊天记录。

我知道较早的聊天记录被保存了,因为它们在~/Library/Application Support/Skype/username/chatmsg256.dbb里。这个文件放在文本编辑器中时,有我以前所有Skype聊天的文本聊天信息。然而,它是以一种未知的文件格式存储的,我不知道如何解析。

Skype是否有一个内置的日志查看器(像Adium的),我可以用它来访问这些旧的日志?

答案 (4)

57
57
57
2012-02-03 08:56:38 +0000

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

查找聊天伙伴的用户名

在终端中使用以下命令(我假设你使用的是bash shell)列出所有聊天伙伴的用户名:

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|Just testing something

选项 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"


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

9
9
9
2010-01-10 00:52:24 +0000

我不知道这是否能显示出_全部的历史记录,但可以试试下面的方法。不管联系人是在线还是离线,弹出聊天窗口。

然后点击 “查看早期信息:"下的 "全部"。

或者,点击联系人的齿轮图标,选择 "查看聊天记录"。这样就会生成一个html文件,在网页浏览器窗口中打开。

我不确定这是否会显示所有的历史记录,原因是我不能完全记住我的聊天记录是什么时候在这台电脑上开始的。

2
2
2
2016-11-23 11:58:12 +0000

只是想提供一些更容易使用和最新的方法来查看Skype日志。

1
1
1
2011-06-22 02:25:00 +0000

尝试 SkypeHistoryViewer

一个小程序,将允许用户打开Skype活动的所有历史,在PC上,检查你的孩子的使用情况,谁在那里说话有什么说,或检查一个欺骗的合作伙伴。目前适用于Windows Vista和7。