No description
Find a file
2018-08-29 12:54:47 +01:00
modules Add the ability to only require authentication if your nickname is registered 2018-08-28 18:16:19 +01:00
.gitignore Added rotated log files to gitignore 2018-08-08 20:24:51 +01:00
bot.conf.example switch to using configparser for config files 2018-07-16 00:36:52 +01:00
Config.py switch to using configparser for config files 2018-07-16 00:36:52 +01:00
Database.py Fix typo in database.user_settings.delete 2018-08-28 12:38:59 +01:00
EventManager.py Log event path along with timing in EventHook.call 2018-08-28 16:35:24 +01:00
IRCBot.py Refactor IRCLineHandler in to an object that uses .on("raw") events 2018-08-29 12:20:25 +01:00
IRCChannel.py modules/logging.py -> IRCLogging.py; IRCLog.py -> IRCBuffer.py; change logging 2018-08-28 12:23:57 +01:00
IRCLineHandler.py Add missing comments in IRCLineHandler.LineHandler 2018-08-29 12:54:47 +01:00
IRCLogging.py modules/logging.py -> IRCLogging.py; IRCLog.py -> IRCBuffer.py; change logging 2018-08-28 12:23:57 +01:00
IRCServer.py Refactor IRCLineHandler in to an object that uses .on("raw") events 2018-08-29 12:20:25 +01:00
IRCUser.py modules/logging.py -> IRCLogging.py; IRCLog.py -> IRCBuffer.py; change logging 2018-08-28 12:23:57 +01:00
LICENSE Initial commit 2016-03-29 12:44:46 +01:00
ModuleManager.py assert statements are optimised out, these statement were useless. 2018-01-09 15:35:33 +00:00
README.md switch to using configparser for config files 2018-07-16 00:36:52 +01:00
start.py Moved table-specific logic to their own "table" classes in Database.py 2018-08-05 22:41:38 +01:00
Timer.py did what I said I would sooner than I thought I would. centralised persisting timers through bot restarts. 2016-04-19 13:25:50 +01:00
Utils.py Use a zero-width joiner in Utils.prevent_highlight instead of zero width space 2018-08-20 11:03:01 +01:00

BitBot

Python3 event-driven modular IRC bot!

Dependencies

Configurating

To get BitBot off the ground, there's some API-keys and the like in bot.conf.example. move it to bot.conf, fill in the API keys you want (and remove the ones you don't want - this will automatically disable the modules that rely on them.)

Eagle

BitBot's National Rail module can optionally include output from Network Rail's SCHEDULE via Eagle. Configuration on BitBot's end is covered by the eagle- keys in bot.conf.example.

Running

Just run ./start.py

On first boot, he'll ask for a first server to connect to then exit. do ./start.py again and he'll connect to that server and join #bitbot (to get him to join other channels, simply invite him to them.)

Data storage

The main data storage for Bitbot is done in his sqlite3 database, bot.db.