sql – すべてのSkype履歴から検索する

skype sql sqlite

すべてのチャット履歴で与えられた文字列を検索するには? СTRL+F – 1つのチャットの中を検索しますが、たくさんのチャットを持っているので、保存されているすべてのチャットの中から何かを見つけたいですか?

  21  coms  2012-10-10


ベストアンサー

連絡先リストまたは最近のリストで、会話の履歴を表示したい連絡先またはグループをクリックするだけで、会話の履歴が表示されます

すべてのチャット履歴が保存されているmain.dbデータベースファイル。 main.dbは標準のSQLiteデータベースファイルで、任意のSQLiteブラウザアプリケーションを使用して開くことができます。SkypeLogView という、Skypeのチャットや通話データを読み取るために特別に設計された無料のアプリケーションがあります

main.dbファイルは以下のいずれかに保存されます(OSによって異なります)

Windows 7で+ : C:\Users\%USERNAME%\AppData\Roaming\Skype\[Skype User Name]

Windows XPで。C:\Documents and Settings\%USERNAME%\Application Data\Skype\[Skype User Name]

以下は、すべてのWindowsのバージョンで動作する必要があります、あなたはそれを実行プロンプトにコピーすることができます

%APPDATA%\Skype \[Skype User Name]

Mac OS Xでは。Library/Application Support/Skype/[Skype User Name]

将来的には、SkyHistoryを検討してみてはいかがでしょうか

24  Dave  2012-10-10


Skyperiousもチェックする価値があるかもしれません。これは、SkypeLogViewよりもいくつかの機能を持っています

  • 連絡先をCSVファイルからSkypeの連絡先にインポートします
  • 任意のデータベーステーブルを表示し、そのデータをエクスポートします
  • 任意のテーブルのデータを変更、追加、または削除します
  • 直接SQLクエリを実行します
  • 2つのSkypeデータベースでメッセージを同期させる:異なるコンピュータのチャット履歴を最新の状態にしたり、古いファイルから欠落したメッセージを現在のものに復元したり
  • Chat statistics

7  Keegan  2015-06-08


SqliteBrowserなどを使って独自のSQLクエリを作成してSkypeデータベースを検索すると、サードパーティのSkype専用ツールを使用するよりも柔軟性と機能性が向上します

例えば、このクエリはすべてのチャットでテキスト文字列を検索し、メッセージが投稿された(ローカルの)時間、メッセージ自体、チャットの名前(名前がある場合)、チャットに参加している人を表示します

select DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime') as postedon, c.displayname as chatname, m.from_dispname as fromuser, m.body_xml as msgtext
from Messages m
INNER JOIN Conversations c ON m.convo_id = c.id
where m.body_xml LIKE '%my text%' --case insensitive
order by m.timestamp DESC

7  twasbrillig  2014-06-17


最近、Skypeの履歴を閲覧するための素敵なオンラインツールを見つけました。http://www.skypebrowser.com

プライバシーの問題を気にしないのであれば、最適な解決策のように思えます

3  holdenmcgrohen  2016-04-23


main.dbの以下のクエリは私のために動作します

グループチャットを見つける

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), c.id, m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.type = 2 AND
m.body_xml NOT NULL
ORDER BY m.timestamp ASC

バディとのプライベートチャットを見つけます

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE m.body_xml NOT NULL AND
c.identity LIKE '%YOUR.BUDDY.NAME.HERE%' --case insensitive
ORDER BY m.timestamp ASC

あなたの相棒とのプライベートチャットでは、与えられた単語を見つけます

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.identity = 'YOUR.BUDDY.NAME.HERE' AND
m.body_xml NOT NULL AND
m.body_xml LIKE '%YOUR.SEARCHED.WORD.HERE%' --case insensitive
ORDER BY m.timestamp ASC

PS: バディ名がスカイプで表示されているものと違う場合がありますので、まずはこちらをチェックしてみてください

SELECT identity, displayname FROM conversations

で、identityの欄から1つピックアップします

1  Wakan Tanka  2016-10-13


SkyHistoryは私のために動作しませんでした – 68MBのSkypeログ用に設計されていないようです。)

最も強力なアプローチの一つは、また、非常にシンプルなものです – SQLiteクライアントを使用するだけです。ここで私は簡単なマニュアルを書いた。http://jehy.ru/articles/2014/05/26/searching-through-skype-history/

300人以上の連絡先があり、会話が重複している場合は、Ctrl+Fのシンプルなアプローチでは何も見つけられないことを理解しています

幸いなことに、SkypeはSQLiteデータベースを使っているので、そこに直接接続して検索することができます。だから、必要なのです

1) SQLiteクライアントをダウンロードしてください(私はhttp://sqlitebrowser.org/を使用しましたが、好きなクライアントをインストールすることができます) 2) skypeのウェブサイトで説明されているように履歴ファイルを見つけてください

キーボードのWindowsキーを押したまま、Rを押してRunウィンドウを表示させます。Windows 8でタッチスクリーンデバイスを使用している場合は、検索チャームから実行ウィンドウを表示することができます。Run(実行)ウィンドウに「%appdata%Skype」と入力してEnterを押します。Skype名にちなんだフォルダを開きます。フォルダの中にあるmain.dbファイルを見つけます

3) SQLiteクライアントを使用して、このファイルを開きます。4) データベースのテーブル “messages “を開く 5) 必要なメッセージを検索するために任意のSQLクエリを使用します。ここでは私が会話の中で “git “という単語を検索した例ですが、検索や並び替えに使えるフィールドはたくさんあります

1  Jehy  2014-05-26


ここでの回答は全て時代遅れのようです

Skypeバージョン8.50以降では、会話の履歴がユーザのマシンで利用できなくなりました。以前は、すべてのチャット履歴はローカルのSQLiteデータベースファイルに保存されていました。新しいバージョンでは、チャットメッセージはクラウドサーバのみに保存され、Skypeクライアントがコマンドで取得し、外部ツールからは利用できないようになっています

こちらから引用

唯一の遅いオプションは、時間内にすべてのチャットをスクロールしているようです

0  testing  2020-07-15


タイトルとURLをコピーしました