# Fulvia ## NIGGER DICKS 2: Electric Boogaloo It's like Sopel, except rewritten from scratch using Twisted as a base and over half the features ripped out. ## Requirements Python 3.6+ Python packages: `twisted python-dateutil requests bs4 wolframalpha pyenchant emoji Pillow xml2dict ipython numpy numpngw` ## Config `nickname` - The nickname the bot will use. `realname` - The realname the bot will use. `username` - The user ident the bot will use. `prefix` - The command prefix the bot will listen for. `homedir` - The bot's home directory. Required for the bot to get certain pathing right. In the future that will be obtained automatically. `server` - The server address to connect to. `port` - The server port to connect to. SSL will probably not work. `use_ssl` - Place holder. `channels` - Which channels to join upon connection. `db_filename` - Filename to use for the bot's database. `owner` - The bot's owner. Use for permission purposes on restricted commands. Outranks admins. Should be the full hostmask of the user. `admins` - Comma-delineated list of admins the bot will recognize for restricted commands. Should be the full hostmask for each one. `default_time_format` - The format used for all timestamp operations. See the official python docs for the `time` library for more information. `disabled_modules` - Comma-delineated list of modules *not* to load on startup. Modules should be specified without the `.py` extension. ### Example default.cfg ``` [core] nickname = DiceBot9002 realname = DiceBot9002 username = DiceBot9002 prefix = . homedir = /home/iou1name/fulvia server = irc.steelbea.me port = 6667 use_ssl = false channels = #SomaIsGay,#test db_filename = DiceBot9002.db owner = iou1name!~iou1name@operational.operator admins = default_time_format = [%Y-%m-%d %H:%M:%S] disabled_modules = countdown [wolfram] app_id = API_KEY units = nonmetric [movie] tmdb_api_key = API_KEY [currency] api_key = API_KEY ``` ## TODO Fix the movie table Consider re-adding the following modules: `etymology, ip` Add CTCP responses More complex versioning