Fulvia IRC Bot
Go to file
2019-10-08 09:14:26 -04:00
modules refactor help mk2 2019-10-08 09:14:26 -04:00
tools refactor bot.commands and bot._callables 2019-10-08 07:52:37 -04:00
.gitignore added slur.py 2018-07-21 13:15:00 -04:00
bot.py refactor bot.commands and bot._callables 2019-10-08 07:52:37 -04:00
config.py initial commit 2018-03-16 03:13:43 -04:00
db.py made connections thread safe 2018-03-25 14:26:48 -04:00
LICENSE add license 2019-09-28 14:49:39 -04:00
loader.py refactor help 2019-10-08 09:06:52 -04:00
module.py refactor bot.commands and bot._callables 2019-10-08 07:52:37 -04:00
README.md readme 2019-09-13 19:00:46 -04:00
run.py idk what these are, probably just branding 2018-03-25 14:27:40 -04:00
trigger.py idk what these are, probably just branding 2018-03-25 14:27:40 -04:00

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