modules | ||
tools | ||
.gitignore | ||
bot.py | ||
config.py | ||
db.py | ||
loader.py | ||
module.py | ||
README.md | ||
run.py | ||
trigger.py |
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, wolfram, 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