Skyperious

Skype SQLite database viewer and merger

Index
Downloads
Installation
Screenshots
FAQ
Help Texts
Search syntax
Command-line help
Changelog
View the Project on GitHub suurjaak/Skyperious

Help Texts

Search Syntax

Skyperious supports a simple query syntax for searching messages:

Search for exact word or phrase

"do re mi"
Use quotes (") to search for an exact phrase or word. Quoted text is searched exactly as entered, leaving whitespace as-is and ignoring any wildcard characters.
Search for either word

this OR that
To find messages containing at least one of several words, include OR between the words. OR works also for phrases and grouped words (but not keywords).
Group words together

(these two) OR this
-(none of these)

Surround words with round brackets to group them for OR queries or for excluding from results.
Search for partially matching text

bas*ball
Use an asterisk (*) to make a wildcard query: the wildcard will match any text between its front and rear characters (including other words).
Search within specific chats

chat:office
chat:"coffee & cig"

To find messages from specific chats only, use the keyword chat:name.

Search from more than one chat by adding more chat: keywords.
Search from specific authors

from:maria
from:"john smith"

To find messages from specific authors only, use the keyword from:name.

Search from more than one author by adding more from: keywords.
Search from specific time periods

date:2020
date:2022-01
date:2020-12-24..2021

To find messages from specific time periods, use the keyword date:period or date:periodstart..periodend. For the latter, either start or end can be omitted.

A date period can be year, year-month, or year-month-day. Additionally, date:period can use a wildcard in place of any part, so date:*-12-24 would search for all messages from the 24th of December.

Search from a more narrowly defined period by adding more date: keywords.
Exclude words or keywords

-notthisword
-"not this phrase"
-(none of these)
-chat:notthischat
-from:notthisauthor
-date:2021

To exclude certain messages, add a dash (-) in front of words, phrases, grouped words or keywords.
SPECIAL: search specific tables

table:fromthistable
-table:notfromthistable

When performing search on all columns of all database tables (the fourth option on the search toolbar), use the keyword table:name to constrain results to specific tables only.

Search from more than one table by adding more table: keywords, or exclude certain tables by adding a -table: keyword.

Examples

Search is made on raw Skype message body, so there can be results which do not seem to match the query - Skype messages contain more than plain text.
For example, searching for href will match a message with body
<a href="http://lmgtfy.com/">lmgtfy.com</a>, displayed as lmgtfy.com.

This can be used for finding specific type of messages, for example <sms finds SMS messages, <file finds transfers, <quote finds quoted messages, and <ss finds messages with emoticons.

Command-Line Help

Command-line interface does not require having wx installed, if running from source code.
It is likewise available with compiled binaries.

$ skyperious -h

usage: skyperious [-h] [--verbose] {export,search,sync,merge,diff,gui} ...

Skyperious - Skype SQLite database viewer and merger.

positional arguments:
  {export,search,sync,merge,diff,gui}
    export              export Skype databases as HTML, text or spreadsheet
    search              search Skype databases for messages or data
    sync                download new messages from Skype online service
    contacts            export Skype contacts as HTML, text or spreadsheet
    create              create new Skype database, blank or from Skype source
    merge               merge two or more Skype databases into a new database
    diff                compare chat history in two Skype databases
    gui                 launch Skyperious graphical program (default option)

optional arguments:
  -h, --help            show this help message and exit
  --verbose             print detailed progress messages to stderr
  --config-file         path of configuration file to use
$ skyperious -h export

usage: skyperious export [-h] [-t {html,xlsx,csv,txt,xlsx_single}] [-o DIR]
                         [-c CHAT [CHAT ...]] [-a NAME [NAME ...]]
                         [-s START_DATE] [-e END_DATE] [--media-folder]
                         [--ask-password] [--store-password] [--verbose]
                         FILE [FILE ...]

Export all message history from a Skype database into files under a new
folder, or a single Excel workbook with chats on separate sheets.

positional arguments:
  FILE                  one or more Skype databases to export
                        (supports * wildcards)

optional arguments:
  -h, --help            show this help message and exit
  -t {html,xlsx,csv,txt,xlsx_single}, --type {html,xlsx,csv,txt,xlsx_single}
                        export type: HTML files (default), Excel workbooks,
                        CSV spreadsheets, text files, or a single Excel
                        workbook with separate sheets
  -o DIR, --output DIR  output directory if not current directory
  -c CHAT [CHAT ...], --chat CHAT [CHAT ...]
                        names of specific chats to export
  -a NAME [NAME ...], --author NAME [NAME ...]
                        names of specific authors whose chats to export
  -s START_DATE, --start START_DATE
                        date to export messages from, as YYYY-MM-DD
  -e END_DATE, --end END_DATE
                        date to export messages until, as YYYY-MM-DD
  --media-folder        save shared media into a subfolder in HTML export
                        instead of embedding into HTML
  --media-cache         cache downloaded media in user directory,
                        for faster repeated exports
  --ask-password        prompt for Skype password on HTML export to download
                        shared media
  --store-password      store entered password in configuration
  --verbose             print detailed progress messages to stderr
  --no-terminal         command-line output suitable for non-terminal display,
                        like piping to a file
  --config-file         path of configuration file to use
$ skyperious -h sync

usage: skyperious sync [-h] [-u USERNAME] [-p PASSWORD] [--store-password]
                       [--ask-password] [-c CHAT [CHAT ...]]
                       [-a NAME [NAME ...]] [--verbose]
                       FILE [FILE ...]

Synchronize Skype database via login to Skype online service.

positional arguments:
  FILE                  Skype database file(s) to sync (supports * wildcards),
                        will be created if it does not exist yet

optional arguments:
  -h, --help            show this help message and exit
  -u USERNAME, --username USERNAME
                        username for Skype account, used only if the Skype
                        database does not contain account information yet
  -p PASSWORD, --password PASSWORD
                        password for Skype account, if not using stored or
                        prompted
  --ask-password        prompt for Skype account password
  --store-password      store given password in configuration
  --contact-update      update profile fields of existing contacts from online
                        data (default)
  --no-contact-update   do not update profile fields of existing contacts from
                        online data
  --check-older         check all older chats in database for messages to
                        sync, may take a long time (default)
  --no-check-older      do not check all older chats in database for messages
                        to sync
  -c CHAT [CHAT ...], --chat CHAT [CHAT ...]
                        names of specific chats to sync
  -a NAME [NAME ...], --author NAME [NAME ...]
                        names of specific authors whose chats to sync
  --verbose             print detailed progress messages to stderr
  --no-terminal         command-line output suitable for non-terminal display,
                        like piping to a file; also skips all user interaction
                        like asking for Skype username or password
  --config-file         path of configuration file to use
$ skyperious -h contacts

usage: skyperious contacts [-h] [-t {html,xlsx,csv,txt}] [-o FILE]
                           [-f TEXT [TEXT ...]] [-n NAME [NAME ...]]
                           [-c CHAT [CHAT ...]] [--verbose] [--no-terminal]
                           [--config-file CONFIG_FILE]
                           FILE [FILE ...]

Export contacts from a Skype database into file.

positional arguments:
  FILE                  Skype databases to process (supports * wildcards)

optional arguments:
  -h, --help            show this help message and exit
  -t {html,xlsx,csv,txt}, --type {html,xlsx,csv,txt}
                        export type: HTML files (default), Excel workbooks,
                        CSV spreadsheets, text files
  -o FILE, --output FILE
                        output filename if not using auto-generated
  -f TEXT [TEXT ...], --filter TEXT [TEXT ...]
                        select contacts with given texts in any profile fields
  -n NAME [NAME ...], --name NAME [NAME ...]
                        names of specific contacts to select
  -c CHAT [CHAT ...], --chat CHAT [CHAT ...]
                        names of chats to select contacts by
  --verbose             print detailed progress messages to stderr
  --no-terminal         command-line output suitable for non-terminal display,
                        like piping to a file; also skips all user interaction
                        like asking for Skype username or password
  --config-file CONFIG_FILE
                        path of configuration file to use
$ skyperious -h create

usage: skyperious create [-h] [-i INPUT] [-u USERNAME] [-p PASSWORD]
                         [--ask-password] [--store-password] [--verbose]
                         FILE

Create a new blank database, or populated from Skype online service, or from a
Skype export archive.

positional arguments:
  FILE                  Skype database file to create. Skipped if exists.

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        Skype export archive to populate from (*.json;*.tar)
  -u USERNAME, --username USERNAME
                        Skype username, for a blank database if no password
  -p PASSWORD, --password PASSWORD
                        password for populating database from Skype online
                        service
  --ask-password        prompt for Skype account password
  --store-password      store given password in configuration
  --verbose             print detailed progress messages to stderr
  --no-terminal         command-line output suitable for non-terminal display,
                        like piping to a file; also skips all user interaction
                        like asking for Skype username or password
  --config-file         path of configuration file to use
$ skyperious -h merge

usage: skyperious merge [-h] [--verbose] [-o OUTPUT] FILE1 FILE2 [FILE2 ...]

Merge two or more Skype database files into a new database in current
directory, with a full combined message history. New filename will be generated
automatically. Last database in the list will be used as base for comparison.

positional arguments:
  FILE                  two or merge Skype databases to merge
                        (supports * wildcards)

optional arguments:
  -h, --help            show this help message and exit
  --verbose             print detailed progress messages to stderr
  -o OUTPUT, --output OUTPUT
                        Final database filename, auto-chosen by default
  --no-terminal         command-line output suitable for non-terminal display,
                        like piping to a file
  --config-file         path of configuration file to use
$ skyperious -h diff

usage: skyperious diff [-h] [--verbose] FILE1 FILE2

Compare two Skype databases for differences in chat history.

positional arguments:
  FILE1       first Skype database
  FILE2       second Skype databases

optional arguments:
  -h, --help            show this help message and exit
  --verbose             print detailed progress messages to stderr
  --no-terminal         command-line output suitable for non-terminal display,
                        like piping to a file
  --config-file         path of configuration file to use
$ skyperious -h gui

usage: skyperious gui [-h] [FILE [FILE ...]]

Launch Skyperious graphical program (default option).

positional arguments:
  FILE        Skype database(s) to open on startup, if any
              (supports * wildcards)

optional arguments:
  -h, --help            show this help message and exit
  --config-file         path of configuration file to use