a5f29ce4c0
Add an example of how to create a self-signed cert and key to use with bitbot
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.
|
|
* 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>
|