No description
Find a file
2017-11-01 14:04:49 +00:00
modules NR: Formatting improvements for external, don't reference non-existent summaries 2017-11-01 12:03:36 +00:00
.gitignore first commit. 2016-03-29 12:56:58 +01:00
bot.json.example NR: Allow use of Eagle for scheduling data (docs/source will follow\!). Slight regression in use of RIDs (but who uses them anyway?) 2017-05-30 22:11:27 +01:00
Config.py first commit. 2016-03-29 12:56:58 +01:00
Database.py fixed a problem with Database.py. 2016-06-28 00:08:40 +01:00
EventManager.py Change line handling 2017-07-16 21:18:58 +01:00
IRCBot.py Don't put non-kwargs after unpacked list, handle ConnectionResetError 2017-11-01 13:56:44 +00:00
IRCChannel.py Add get_user_status func to IRCChannel 2017-01-27 21:39:51 +00:00
IRCLineHandler.py Handle empty CAP, additional IRCLog feature, better tls, better channel_save logic, add sed-sender-only setting 2017-10-27 13:15:33 +01:00
IRCLog.py Handle empty CAP, additional IRCLog feature, better tls, better channel_save logic, add sed-sender-only setting 2017-10-27 13:15:33 +01:00
IRCServer.py Handle versions of python that don't have ssl.PROTOCOL_TLS 2017-11-01 14:04:49 +00:00
IRCUser.py Change line handling 2017-07-16 21:18:58 +01:00
LICENSE Initial commit 2016-03-29 12:44:46 +01:00
ModuleManager.py Handle ImportError for module loading 2017-09-05 10:03:38 +01:00
README.md Slightly more detail for Eagle in readme 2017-09-01 12:48:08 +01:00
start.py Adds args.verbose and fixes a couple of bug 2017-01-27 21:41:47 +00: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 Take BS4 parser string from kwargs so you can actually XML. idk even what's the point 2017-06-07 21:36:11 +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.json.example. move it to bot.json, 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.json.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.