1marvin - A modular irc bot written in go. 2 3INSTALLATION 4 To install, run `go get -u github.com/nmeum/marvin`. 5 6USAGE 7 marvin accepts three command line flags: '-h', '-v', and '-c'. 8 9 When '-h' is used marvin writes the help message to stderr and10 exits with exit status 2. With '-v' marvin writes everything it11 reads from the TCP socket to stdout. The last flag '-c' allows12 the caller to specify the path of a configuration file described13 in greater detail below.1415CONFIGURATION16 marvin is configured using a small json file. There is a core17 configuration file which can be specified with the '-c' command18 line flag and in addition to that there is a json configuration19 file for each standalone module.2021 The core configuration file allows you to specify mandatory22 information for the bot, e.g. which network to connect to, which23 username to use, which channels to join, et cetera. The24 available configuration variables are documented in the `config25 struct` defined in the file `config.go`.2627MODULES28 marvin is a very modular irc bot. Each module has its own29 configuration file and can be enabled or disabled. Most modules30 are enabled by default.3132 To enable a module you have to add its module initialization33 function to the `moduleInits` slice defined in the file34 `modules.go`. The module initialization function is mostly35 called `Init`. To add it to the array you need to import it36 first of cause.3738 Modules are configured in the specified `configs` directory39 which defaults to `$HOME/marvin`. You can specify a different40 configuration directory in the core configuration file. The41 available configuration variables are defined in the individual42 module, please consult the code to get an overview of the43 available options.4445LICENSE46 This program is free software: you can redistribute it and/or47 modify it under the terms of the GNU Affero General Public48 License as published by the Free Software Foundation, either49 version 3 of the License, or (at your option) any later version.5051 This program is distributed in the hope that it will be useful,52 but WITHOUT ANY WARRANTY; without even the implied warranty of53 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU54 Affero General Public License for more details.5556 You should have received a copy of the GNU Affero General Public57 License along with this program. If not, see58 <http://www.gnu.org/licenses/>.