3.0 KiB
zyklonb(1)
Name
zyklonb - an experimental IRC bot
Synopsis
zyklonb [OPTION]…
Description
zyklonb is a modular IRC bot with a programming language-agnostic plugin architecture based on co-processes.
Options
- -d, --debug
-
Print more information to help debug various issues.
- -h, --help
-
Display a help message and exit.
- -V, --version
-
Output version information and exit.
- --write-default-cfg[=PATH]
-
Write a configuration file with defaults, show its path and exit.
The file will be appropriately commented.
Commands
The bot accepts the following commands when they either appear quoted by the prefix string on a channel or unquoted as a private message sent directly to the bot, on the condition that the sending user matches the admin regular expression or that it is left unset:
- quote [message]
-
Forwards the message to the IRC server as-is.
- quit [reason]
-
Quits the IRC server, with an optional reason string.
- status
-
Sends back a report about its state and all loaded plugins.
- load plugin[, plugin]…
-
Tries to load the given plugins.
- unload plugin[, plugin]…
-
Tries to unload the given plugins.
- reload plugin[, plugin]…
-
The same as unload immediately followed by load.
Plugins
Plugins communicate with the bot over their standard input and output streams using the IRC protocol. (Caveat: the standard C library doesn’t automatically flush FILE streams for pipes on newlines.) A special ZYKLONB command is introduced for RPC, with the following subcommands:
- ZYKLONB get_config key
-
Request the value of the given configuration option. If no such option exists, the value will be empty. The response will be delivered in the following format:
ZYKLONB :value
This is particularly useful for retrieving the prefix string.
- ZYKLONB print message
-
Make the bot print the message on its standard output.
- ZYKLONB register
-
Once a plugin issues this command, it will start receiving all of the bot’s incoming IRC traffic, which includes data from the initialization period.
All other commands will be forwarded directly to the IRC server.
Files
zyklonb follows the XDG Base Directory Specification.
- ~/.config/zyklonb/zyklonb.conf
-
The bot’s configuration file. Use the --write-default-cfg option to create a new one for editing.
- ~/.local/share/zyklonb/
-
The initial working directory for plugins, in which they may create private databases or other files as needed.
- ~/.local/share/zyklonb/plugins/
- /usr/local/share/zyklonb/plugins/
- /usr/share/zyklonb/plugins/
-
Plugins are searched for in these directories, in order, unless the plugin_dir configuration option overrides this.
Reporting bugs
Use https://git.janouch.name/p/uirc3 to report bugs, request features, or submit pull requests.