398aca20fa
* Update config.md added -c option to the how to run the bot. Without it I'm sure a ton of people had troubles with module loading and just gave up. * Update config.md making -c a clearer option? * Update docs/help/config.md Co-authored-by: David Schultz <me@zpld.me> Co-authored-by: David Schultz <me@zpld.me>
56 lines
2.5 KiB
Markdown
56 lines
2.5 KiB
Markdown
## Setting up BitBot
|
|
|
|
* Move `docs/bot.conf.example` to `~/.bitbot/bot.conf` and fill in the config options you care about. Ones blank or removed will disable relevant functionality.
|
|
* Run `./bitbotd -a` to add a server.
|
|
* Run `./bitbotd` to start the bot or `./bitbotd -c /path/to/bot.conf` for non-standard config location (outside of `~/.bitbot`).
|
|
* Run `./bitbotctl command master-password` to get the master admin password (needed to add regular admin accounts)
|
|
* Join `#bitbot` on a server with the bot (or invite it to another channel)
|
|
* `/msg <bot> register <password here>` to register your nickname with the bot
|
|
* (use `/msg <bot> identify <password>` to log in in the future)
|
|
* `/msg <bot> masterlogin <master admin password>` to login as master admin
|
|
* `/msg <bot> permission add <your nickname> *` 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.
|
|
|
|
Below is an OpenSSL command example that will create a `bitbot-cert.pem` and `bitbot-key.pem` with `10y` validity (self-signed):
|
|
> openssl req -x509 -nodes -sha512 -newkey rsa:4096 -keyout bitbot-key.pem -out bitbot-cert.pem -days 3650 -subj "/CN=YourBotNick"
|
|
|
|
### 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 <bot> config server sasl userpass <username>:<password>
|
|
|
|
> /msg <bot> config server sasl plain <username>:<password>
|
|
|
|
> /msg <bot> config server sasl scram-sha-1 <username>:<password>
|
|
|
|
> /msg <bot> config server sasl scram-sha-256 <username>:<password>
|
|
|
|
> /msg <bot> 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 <bot> perform add <raw irc command>` 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 <bot> config bot|server|channel|user
|
|
|
|
#### Set config options
|
|
|
|
> /msg <bot> config bot <setting> <value>
|
|
|
|
> /msg <bot> config server <setting> <value>
|
|
|
|
> /msg <bot> config channel:#bitbot <setting> <value>
|
|
|
|
> /msg <bot> config user <setting> <value>
|
|
|
|
> /msg <bot> config user:other_user <setting> <value>
|