No description
Find a file
2018-07-08 11:18:55 +01:00
modules Implemented delimited "event chains" and changed pong.py to use it 2018-07-08 11:18:55 +01:00
.gitignore first commit. 2016-03-29 12:56:58 +01:00
bot.json.example OMDBAPI now needs an api key 2018-07-02 11:09:02 +01:00
Config.py first commit. 2016-03-29 12:56:58 +01:00
Database.py Don't make a database cursor per thread as there should only be 1 thread 2018-07-02 12:13:54 +01:00
EventManager.py Implemented delimited "event chains" and changed pong.py to use it 2018-07-08 11:18:55 +01:00
IRCBot.py Don't add a server to bot.servers until it's connected 2018-07-02 12:08:26 +01:00
IRCChannel.py IRCChannel.modes isn't a list, "sever" -> "server" 2018-07-02 16:34:29 +01:00
IRCLineHandler.py Clear default mode prefixes when we get a 005 with mode prefixes in it 2018-07-02 16:25:34 +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 Default IRCServer.mode_prefixes to @+(ov) 2018-07-02 16:24:00 +01: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 assert statements are optimised out, these statement were useless. 2018-01-09 15:35:33 +00:00
README.md Slightly more detail for Eagle in readme 2017-09-01 12:48:08 +01:00
start.py Don't add a server to bot.servers until it's connected 2018-07-02 12:08:26 +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 Added highlight spam detection/prevention logic to channel_op 2017-12-26 11:50:18 +00: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.