aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: 7dd5eabdcabad14f1277c18aaf2f46681be6bd94 (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
#+TITLE: 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 [[https://docs.rs/irc][irc crate]].

* Configuration
The main configuration file is ~[[file:config.toml][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 ~[[file:config.debug.toml][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
#+begin_src shell
# Compile binary
$ cargo build

# Run catinator
$ cargo run

# Run tests
$ cargo test
#+end_src

** 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~