]> jfr.im git - erebus.git/blobdiff - README.md
update README
[erebus.git] / README.md
index b489db337518f1e8cbdc601871dfa177b89fcfbc..61cf004a448b80814340736e57636303cac7ddbb 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,27 +1,52 @@
-Modular {Python2,Python3} IRC bot
-=================================
+Modular Python{2,3} IRC bot
+===========================
 
-Getting started:
+Getting started
+---------------
 - `cp bot.config.example bot.config`
 - `vim bot.config`
 - Create a MySQL database, i.e. `CREATE DATABASE foo; GRANT ALL ON foo.* TO ...`
 - `mysql <dump.sql`
-- `./run.sh`
+- `./run`
 
 Install croncheck.sh in your crontab, if desired.  
 `* * * * * /path/to/erebus/croncheck.sh`  
 To suppress croncheck.sh from restarting the bot without removing from crontab, `touch dontstart`
 
-Output will be placed in `logfile`, which is rotated to `oldlogs/`. (I strongly recommend `rm oldlogs/*` as a weekly crontab entry.)
+Output will be placed in `logfile`, which is rotated to `oldlogs/`. (I strongly recommend `rm oldlogs/*` as a weekly crontab entry. `@weekly find /path/to/erebus/oldlogs/ -mtime 7 -execdir rm '{}' +`)
 
-The bot targets both Python 2 and 3. However, it is generally only actively tested on Python 2.
-If it's not working on Python 3 (or an included module isn't working on Python 3), please raise a bug.
+The bot targets both Python 2 and 3. It has recently switched to being primarily tested on Python 3.
+Python 2 support will slowly erode due to a lack of testing.
 
 Some modules require additional supporting materials, which can be found in `modules/contrib/`.
 
-*****
+
 Module API
-==========
+----------
 The module API has largely remained backwards-compatible and likely will remain so into the future. However, it is still currently unstable, primarily because it's only tested with the included modules. If you find a change was introduced which breaks something you relied on, please raise a bug.
 
 There is currently no documentation as to... well, anything. A good starter template for a new module is `modules/eval.py`. `modules/control.py` uses a significant subset of the API features available. `modules/foo.py` is intended as a demonstration module, and documents some of the major features.
+
+
+Buffering
+---------
+The bot includes message buffering, with two different message queues (plus a "fast" message which sends immediately). This is to help prevent the bot from being flooded off the network by malicious users.
+
+Unfortunately this does mean that the bot can be overwhelmed and take quite a while to respond. As an admin, you can use the QCLEAR command to clear the queues. If you control the IRC server, you can exempt the bot from flooding checks and then set `[erebus] nofakelag = 1` in the bot.config
+
+
+Online Help
+-----------
+A command listing, with most (but not all) of the standard modules, is available at https://jfr.im/help/
+
+So long as you don't prohibit loading of the help module with `[autoloads] help = 0`, command info will be available at 
+
+However, due to the message buffering mentioned above, there is no command listing available over IRC unless nofakelag is enabled. In order to generate a command listing, you must do the following:
+1. Set `[help] path` in the config file, if needed, to a path which exists and is available on the web. f.e. `[help] path = /home/jrunyon/public_html/help/%(#)d.txt`. Several values are available, for use with !GENHELP; they are the same as the prefix characters @#+- (see !HELP GENHELP). This determines the path to which !GENHELP will save output files.
+1. Set `[help] url` in the config file to a path where help can be found, f.e. `[help] url = https://jfr.im/help/%d.txt`. %d (or %s) will be replaced with the user's level. This determines the URL which is provided to users when they !SHOWCOMMANDS
+1. Run `!GENHELP` whenever you change which modules (or commands) are available, or else just set `[help] autogen = 1`.
+
+
+Support
+-------
+If you have any questions, issues, fixes, etc. message DimeCadmium on irc.quakenet.org