如何在 Skype 中删除 Linux 中仅一个联系人的聊天记录

ivv*_*vva 1 delete skype history

我试图在 Linux 中仅删除一个联系人的聊天记录。我试过sqlite:

http://www.sqlite.org/download.html

但它会暂时删除聊天对话,并在重新启动 Skype 后将它们返回。有没有办法删除特定人的聊天记录?谢谢。

cmk*_*mks 5

你可以用sqliteman 来做

您可以从Ubuntu 软件中心安装 sqliteman 。

首先,不仅仅是关闭而是真正退出Skype(右键单击 Unity 面板中的 Skype 图标并选择退出)。

现在备份 Skype sqlite 数据库。使用您最喜欢的文件管理器去$HOME/.skype/YOUR-SYKPE-NAME/复制main.db文件。

启动 sqliteman 并打开文件$HOME/.skype/YOUR-SYKPE-NAME/main.db 您可能需要启用隐藏文件的显示:在文件列表中某处的文件选择器中右键单击并选中“显示隐藏文件”。

打开后,在顶部的右侧站点上,您会看到 SQL 编辑器。通过单击顶部的单个绿色箭头一个一个地运行以下 SQL 命令。之后每次运行清除SQL编辑器并粘贴/编辑下一个。

替换SKYPE_NAME为 Skype 合作伙伴的真实 Skype 名称,而不是别名!

DELETE FROM messages WHERE
 dialog_partner="SKYPE_NAME" OR
 chatname LIKE "%/$SKYPE_NAME;%" OR
 chatname LIKE "#SKYPE_NAME/$%"
Run Code Online (Sandbox Code Playgroud)
DELETE FROM chats WHERE
 dialog_partner="SKYPE_NAME" OR
 name LIKE "%/$SKYPE_NAME;%" OR
 name LIKE "#SKYPE_NAME/$%"
Run Code Online (Sandbox Code Playgroud)
DELETE FROM chatmembers WHERE
 identity = "SKYPE_NAME" OR
 chatname LIKE "%/$SKYPE_NAME;%" OR
 chatname LIKE "#SKYPE_NAME/$%"
Run Code Online (Sandbox Code Playgroud)
DELETE FROM participants WHERE identity="SKYPE_NAME"
Run Code Online (Sandbox Code Playgroud)
DELETE FROM conversations WHERE
 identity LIKE "%$SKYPE_NAME;%" OR
 identity = "SKYPE_NAME" OR
 identity LIKE "#SKYPE_NAME/$%"
Run Code Online (Sandbox Code Playgroud)
DELETE FROM transfers WHERE partner_handle = "SKYPE_NAME"
Run Code Online (Sandbox Code Playgroud)
DELETE FROM voicemails WHERE partner_handle = "SKYPE_NAME"
Run Code Online (Sandbox Code Playgroud)

关闭 sqliteman(如果询问,您不需要保存 SQL 编辑器的更改)并启动 Skype。历史SKYPE_NAME应该没有了。