読者です 読者をやめる 読者になる 読者になる

sqliteでSkypeの『あの発言はどのグループだったかな・・・』を発見する

Skypeで全グループ検索のやりかた知らないので(あるのかな?)、
『あの発言はどのグループだったかな・・・』
というのがけっこうあって困ってました。



生データはどこにあるんだろう・・・とファイルを探してみたらSQLiteファイルだったので、
(以下の手順はMac限定です!)

$ cd ~/Library/Application\ Support/Skype/mikeda/

$ file main.db
main.db: SQLite 3.x database

こんな感じでクエリ投げてみたらグループを発見できました

$ sqlite3 main.db

sqlite> SELECT convo_id,body_xml FROM Messages WHERE body_xml like '%飲み%';
962|飲み会の場所、ここにしようと思います
http://r.gnavi.co.jp/g431308/
506|今日の飲みは19時30分からなので、19時15分に出発しましょう!

sqlite> SELECT displayname FROM Conversations WHERE id = 962;
【雑談】


いろんなテーブルあるのでちゃんと調べてみるとおもしろそうですね!!!

sqlite> .tables
Accounts        ChatMembers     Conversations   Participants    Videos        
Alerts          Chats           DbMeta          SMSes           Voicemails    
CallMembers     ContactGroups   LegacyMessages  Transfers     
Calls           Contacts        Messages        VideoMessages

sqlite> .schema Messages
CREATE TABLE Messages (id INTEGER NOT NULL PRIMARY KEY, is_permanent INTEGER, convo_id INTEGER, chatname TEXT, author TEXT, from_dispname TEXT, author_was_live INTEGER, guid BLOB, dialog_partner TEXT, timestamp INTEGER, type INTEGER, sending_status INTEGER, consumption_status INTEGER, edited_by TEXT, edited_timestamp INTEGER, param_key INTEGER, param_value INTEGER, body_xml TEXT, identities TEXT, reason TEXT, leavereason INTEGER, participant_count INTEGER, error_code INTEGER, chatmsg_type INTEGER, chatmsg_status INTEGER, body_is_rawxml INTEGER, oldoptions INTEGER, newoptions INTEGER, newrole INTEGER, pk_id INTEGER, crc INTEGER, remote_id INTEGER, call_guid TEXT, extprop_chatmsg_ft_index_timestamp INTEGER, extprop_chatmsg_is_pending INTEGER);

sqlite> .schema Conversations
CREATE TABLE Conversations (id INTEGER NOT NULL PRIMARY KEY, is_permanent INTEGER, identity TEXT, type INTEGER, live_host TEXT, live_start_timestamp INTEGER, live_is_muted INTEGER, alert_string TEXT, is_bookmarked INTEGER, given_displayname TEXT, displayname TEXT, local_livestatus INTEGER, inbox_timestamp INTEGER, inbox_message_id INTEGER, unconsumed_suppressed_messages INTEGER, unconsumed_normal_messages INTEGER, unconsumed_elevated_messages INTEGER, unconsumed_messages_voice INTEGER, active_vm_id INTEGER, context_horizon INTEGER, consumption_horizon INTEGER, last_activity_timestamp INTEGER, active_invoice_message INTEGER, spawned_from_convo_id INTEGER, pinned_order INTEGER, creator TEXT, creation_timestamp INTEGER, my_status INTEGER, opt_joining_enabled INTEGER, opt_access_token TEXT, opt_entry_level_rank INTEGER, opt_disclose_history INTEGER, opt_history_limit_in_days INTEGER, opt_admin_only_activities INTEGER, passwordhint TEXT, meta_name TEXT, meta_topic TEXT, meta_guidelines TEXT, meta_picture BLOB, premium_video_status INTEGER, premium_video_is_grace_period INTEGER, guid TEXT, dialog_partner TEXT, meta_description TEXT, premium_video_sponsor_list TEXT, chat_dbid INTEGER, history_horizon INTEGER, extprop_current_sms_dbid INTEGER, extprop_mark_read_immediately INTEGER, extprop_chat_mode INTEGER);


※なんのドキュメントや情報も確認してないので動作の保証は一切出来ません(´・ω・`)