No description
Find a file
2018-09-05 15:39:29 +01:00
modules Support account-tag in permissions.py 2018-09-05 15:39:29 +01:00
.gitignore Add database_backup.py for rotated database backups 2018-09-03 18:20:53 +01:00
bot.conf.example Add virustotal-api-key to bot.conf.example 2018-09-02 18:39:31 +01:00
Config.py Return config from Config.load_config instead of setting it on bot 2018-08-30 11:40:41 +01:00
Database.py Table name typo 2018-08-31 16:02:48 +01:00
EventManager.py Don't purge children on purge_context() in EventHook, make event_context 2018-09-01 18:27:10 +01:00
Exports.py give an Exports object (actually, ExportsContex object) to each module, to 2018-09-02 19:54:45 +01:00
IRCBot.py Debug log raw data 2018-09-04 07:20:17 +01:00
IRCBuffer.py Forgot to add IRCBuffer.py when I renamed it from IRCLog.py. oops. 2018-08-29 12:55:20 +01:00
IRCChannel.py Add Database.UserChannelSettings.find_all_by_setting 2018-08-31 15:13:56 +01:00
IRCLineHandler.py Handle \x01ACTION that's not correctly terminated with a \x01 2018-09-05 15:02:38 +01:00
IRCServer.py Don't use IRCUser.id ever, use IRCUser.get_id() 2018-09-05 12:58:12 +01:00
IRCUser.py user.id -> user._id; forgot to do this 2018-09-05 13:00:04 +01:00
LICENSE Initial commit 2016-03-29 12:44:46 +01:00
Logging.py IRCLogging -> Logging 2018-09-02 19:52:18 +01:00
ModuleManager.py give an Exports object (actually, ExportsContex object) to each module, to 2018-09-02 19:54:45 +01:00
README.md switch to using configparser for config files 2018-07-16 00:36:52 +01:00
start.py Give modules event objects with "context"s, to facilitate purging all the event 2018-08-31 12:55:52 +01:00
Timer.py Give modules event objects with "context"s, to facilitate purging all the event 2018-08-31 12:55:52 +01:00
Utils.py Utils.seperate_hostmask has been broken all this time! usernames were coming out 2018-09-04 08:12:09 +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.