Diary Bot is a robot that automatically writes a very detailed diary for you. It pulls data from all kind of sources such as social media providers, communities, or local storages and processes them into a daily overview of your activities.
Diary Bot stores all your data locally. It never uploads any information (passwords, keys) anywhere. As a side effect, it maintains a local archive of your data, so you can always access your data locally.
As of now, the code for the first data sources is published. Other sources are already implemented, but the source code needs to be "cleaned up" before releasing. Also an early-beta frontend of the diary exists, which hopefully be released soon. Stay tuned!
Module | Category | Description |
---|---|---|
Chat | iMessages together with their attachments (from local database) | |
Location | Moves daily storylines with places, routes, and activities. | |
Chat | Skype messages (from local database) | |
Social | Twitter tweets. | |
Life | Xbox live achievements. Data provided by XboxAPI. | |
Location | Foursquare checkins of visited venues or events. | |
Media | last.fm tracks your music you are listening to and suggest you new one. | |
Social | instagram share images and videos with friends and other peoples. |
- CouchDB is used as main data store. It should work with version 1.3.1 or later.
- Python is used as main scripting language. Version 2.7.5 or later should be OK.
- Install CouchDB.
- Install Python.
- Install a virtual environment, select it and install the required modules with
pip install -r requirements.txt
.
git clone https://github.com/nlohmann/diarybot
cd diarybot
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
For all subsequent calls, we expect the virtual environment to be set up and activated.
Diary Bot reads the file diarybot.cfg
at startup. A template diarybot_template.cfg
for this file is part of the distribution. You need to rename this file to diarybot.cfg
before starting Diary Bot. The rest of this section explains which adjustments you need to make to diarybot.cfg
to configure Diary Bot to your needs.
All databases will be prefixed with diarybot-
which makes it easier for you to clean up if you don't like Diary Bot any more. Please edit section [couchdb]
in the configuration file diarybot.cfg
to set the database URL, database username and password, and also the database prefix.
Diary Bot comes with several modules, one for each data source. In principle, a module will only be called, if the respective database has been created and the module has been enabled. The sections below explain you how to create the databases.
The source for Diary Bot are implemented as modules. Each module pulls data from a data source and stores it in a dedicated data source.
To create the iMessage database, please execute:
python -m diarybot.modules.chat.imessage.setup
To set up the module, please set enable = true
in the [imessage]
section of the configuration file diarybot.cfg
.
To set up the Moves module, please execute:
python -m diarybot.modules.location.moves.setup
To create the Foursquare database, please execute:
python -m diarybot.modules.location.foursquare.setup
To set up the module, please set enable = true
in the [foursquare]
section of the configuration file diarybot.cfg
and set variable access_token
, client_id
, client_secret
and redirect_uri
to a valid values of the Foursquare API.
To create the Skype database, please execute:
python -m diarybot.modules.chat.skype.setup
To set up the module, please set enable = true
in the [skype]
section of the configuration file diarybot.cfg
and set variable skype_username
to your Skype user name.
To create the Moves database, please execute:
python -m diarybot.modules.social.twitter.setup
To set up the module, please set enable = true
in the [twitter]
section of the configuration file diarybot.cfg
and set variables consumer_key
, consumer_secret
, access_token
, and access_token_secret
to valid values for the Twitter API.
To create the Xbox database, please execute:
python -m diarybot.modules.life.xbox.setup
To set up the module, please set enable = true
in the [xbox]
section of the configuration file diarybot.cfg
and set variable api_key
to your Xbox API key.
To create the last.fm database, please execute:
python -m diarybot.modules.media.lastfm.setup
To set up the module, please set enable = true
in the [instagram]
section of the configuration file diarybot.cfg
and set variable access_token
, client_id
, client_secret
and redirect_uri
to a valid values of the Foursquare API.
To create the Instagram database, please execute:
python -m diarybot.modules.social.instagram.setup
To set up the module, please set enable = true
in the [instagram]
section of the configuration file diarybot.cfg
and set variable access_token
and id
to a valid values of the Foursquare API.
Run Diary Bot with all enabled modules with
python -m main