我正在尝试在 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
应该会消失。