aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 9f0632beae7829f5dc6c3d268b2acc5e8586a10c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# catinator

catinator is an irc bot made by and for the `#gnulag` channel on snoonet. It
also tries to be usable as a general purpose higher level IRC bot making
library, based on the [irc crate](https://docs.rs/irc).

## Configuration

The main configuration file is [config.toml](file:config.toml) and gets loaded
from the current `$PWD`. The configuration file is using profiles, the `default`
profile is loaded as a base. If the binary is compiled in release mode the
`release` profile is merged. You can override any variables from `default`
profile in the `release` or `debug` profile. If the binary is compiled in debug
mode the `debug` profile is loaded from
[config.debug.toml](file:config.debug.toml).

All of the settings can also be set using environment variables. The options are
prefixed with `CATINATOR_`, nested variables are sepperated by `_`.

Common environment variables:

- `CATINATOR_USER_PASSWORD`
- `CATINATOR_WA_API_KEY`

## Developing & Running

```shell
# Compile binary
$ cargo build

# Run catinator
$ cargo run

# Run tests
$ cargo test
```

## Logging

you can change the log level by setting the `RUST_LOG` environment variable.
Available levels are in decreasing verbosity: `trace`, `debug`, `info`, `warn`,
`error`