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

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

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

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

但它会暂时删除聊天对话,重启 skype 后又会恢复。有没有办法删除特定人的聊天记录?谢谢。

答案1

你可以这样做sqliteman

您可以从Ubuntu 软件中心

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

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

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

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

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

DELETE FROM messages WHERE
 dialog_partner="SKYPE_NAME" OR
 chatname LIKE "%/$SKYPE_NAME;%" OR
 chatname LIKE "#SKYPE_NAME/$%"
DELETE FROM chats WHERE
 dialog_partner="SKYPE_NAME" OR
 name LIKE "%/$SKYPE_NAME;%" OR
 name LIKE "#SKYPE_NAME/$%"
DELETE FROM chatmembers WHERE
 identity = "SKYPE_NAME" OR
 chatname LIKE "%/$SKYPE_NAME;%" OR
 chatname LIKE "#SKYPE_NAME/$%"
DELETE FROM participants WHERE identity="SKYPE_NAME"
DELETE FROM conversations WHERE
 identity LIKE "%$SKYPE_NAME;%" OR
 identity = "SKYPE_NAME" OR
 identity LIKE "#SKYPE_NAME/$%"
DELETE FROM transfers WHERE partner_handle = "SKYPE_NAME"
DELETE FROM voicemails WHERE partner_handle = "SKYPE_NAME"

关闭 sqliteman(如果询问,则无需保存 SQL 编辑器的更改)并启动 Skype。历史记录SKYPE_NAME应该会消失。

相关内容