diff --git a/README.md b/README.md index a63fafa7..5bc994e7 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Python3 event-driven modular IRC bot! ## Dependencies [BeautifulSoup4](https://pypi.python.org/pypi/beautifulsoup4), [requests](https://pypi.org/project/requests/), [scrypt](https://pypi.python.org/pypi/scrypt), [suds](https://pypi.python.org/pypi/suds-jurko) and [twitter](https://pypi.python.org/pypi/twitter). Use `pip3 install -r requirements.txt` to install them all at once. -## Configurating -To get BitBot off the ground, there's some API-keys and the like in bot.conf.example. move it to bot.conf, fill in the API keys you want (and remove the ones you don't want - this will automatically disable the modules that rely on them.) +## Setup +See [docs/help/setup.md](docs/help/setup.md). Run `./start.py` to run the bot with default settings (`--help` for more information) which will ask you for server details the first time you run it (run it again after filling out that information to get the bot going.) If you need to add more servers, use `./start.py --add-server`. diff --git a/docs/help/setup.md b/docs/help/setup.md new file mode 100644 index 00000000..84d79381 --- /dev/null +++ b/docs/help/setup.md @@ -0,0 +1,44 @@ +## Setting up BitBot + +* Move `bot.conf.example` to `bot.conf` and fill in the config options you care about. Ones blank or removed will disable relevant functionality. +* Run `./start.py -a` to add a server. +* Run `./start.py -m permissions -M master-password` to get the master admin password (needed to add regular admin accounts) +* Run `./start.py` to start the bot. +* Join `#bitbot` on a server with the bot (or invite it to another channel) +* `/msg register ` to register your nickname with the bot +* `/msg masterlogin ` to login as master admin +* `/msg givepermission *` to give your account admin permissions + +### Configure client TLS certificate + +Generate a TLS keypair and point `bot.conf`'s `tls-key` to the private key and `tls-certificate` to the public key. + +### Configure SASL + +Configure the bot to use SASL to authenticate (usually used for `NickServ` identification) + +`EXTERNAL` usually mean client TLS certificate authentication; `USERPASS` is a BitBot-specific term that selects the strongest user/password algorithm. + +> /msg config server sasl userpass <username>:<password> +> /msg config server sasl plain <username>:<password> +> /msg config server sasl scram-sha-1 <username>:<password> +> /msg config server sasl scram-sha-256 <username>:<password> +> /msg config server sasl external + +### Commands on-connect + +The `perform.py` module allows the bot to execute a saved list of raw IRC commands against a server it's connecting to. Use `/msg performadd ` to add to the current server's list of commands (`%nick%` in a raw command will be replaced with the bot's current nick.) + +### Config options + +#### View available config options + +> /msg config bot|server|channel|user + +#### Set config options + +> /msg config bot +> /msg config server +> /msg config channel:#bitbot +> /msg config user +> /msg config user:other_user