pidgin-sqlite-log
pidgin-sqlite-log copied to clipboard
SQLite Logging for Pidgin/Finch/libpurple
trafficstars
pidgin-sqlite-log
SQLite Logging for Pidgin/Finch/libpurple
Windows downloads in the releases area
To Enable
To use SQLite logging, open Tools->Plugins and enable the 'SQLite Logging' plugin:

Then enable the logging plugin, then in Tools->Preferences->Logging, set the "log format" to SQLite:

The SQLite log file will be created in your .purple/logs folder
Settings
The only setting in the plugin is to "Group conversation history by date", which will show conversation history on a day-by-day basis instead of a conversation-by-conversation basis (which is what the HTML/Text logger does)
Data Structure
The SQLite tables are intentionally simple:
accounts
| Field | Description | Type |
|---|---|---|
| id | Primary Key | autoincrementing int |
| username | The account username | varchar |
| protocol_id | The protocol plugin id | varchar |
logs
| Field | Description | Type |
|---|---|---|
| id | Primary Key | autoincrementing int |
| account_id | accounts.id foreign key | int |
| type | The conversation type - 0 = IM, 1 = Chat, 2 = System | int |
| name | The conversation name - eg EionRobb for an IM, #pidgin for a group chat | varchar |
| startime | When the conversation was started | timestamp |
| endtime | When the conversation was finished | timestamp |
messages
| Field | Description | Type |
|---|---|---|
| id | Primary Key | autoincrementing int |
| log_id | logs.id foreign key | int |
| type | The bitwise mask of message type - eg 0x01 for sent, 0x02 for received | int |
| who | Them who spoke | varchar |
| message | The (HTML) content of the message | text |
| time | The timestamp of the message | timestamp |
(see PurpleMessageFlags for more info about the type bitmask)