top
(README.md)
# olivaw

<img src ="olivaw.png" alt="olivaw logo" width="200px"></img>


A WIP chatbot written in golang.

------------------------------
## Installation

Olivaw is written with go 1.6 but should work with >= go 1.5
 with [the vendor experiment](https://golang.org/s/go15vendor) enabled.

If you want to update or modify dependencies you'll need [godep](https://github.com/tools/godep)

Run `make` or `./build.sh` to build.

------------------------------
## Usage

Run `./bin/olivaw` after building. On the first run a configuration file (`config.toml`)
 will be generated, you will need to edit the contents to include your settings.

If you want full functionality you'll need to set up postgres and redis.
Postgres is used to store message logs and other infrequently queried data while redis
is used to store smaller, frequently queried data such as contact information.

On Ubuntu this would look something like:
```
# setup postgres
export DBNAME=olivaw
sudo apt-get install postgresql
sudo -u postgres createuser $USER --no-superuser --no-createrole --no-createdb
sudo -u postgres createdb $DBNAME --owner $USER
# set the postgres password
psql $DNAME
\password $USER
\q
# setup redis
sudo apt-get install redis-server
```
Where `$USER` is the username olivaw will run under, and `$DBNAME` is the name you will use for the database, which you will also need to set in `config.toml`.
You will also need to set up the [pgpass file](http://www.postgresql.org/docs/9.1/static/libpq-pgpass.html).

------------------------------
## License

Licensed under the
 [Apache v2.0 License](http://www.apache.org/licenses/LICENSE-2.0),
 see `LICENSE.txt`.

Imports 2 package(s) ΒΆ

  1. github.com/lib/pq
  2. github.com/pelletier/go-toml