ExplainBot is a single minded IRC bot. Its single purpose is to allow users of a channel to query/store/change information directly from an IRC channel. Administrative features like giving op, setting topic etc. are not implemented and never will be. Another two bots do the same thing
Here are some key features of "explainBot":
· Some of the features of explainBot are as follows:
· 1. Single, XML, configuration file.
· 2. Different types of commands and users.
· 3. Easy extension by adding custom commands.
· 4. Easy installation on any system supporting Java 2.
· The last version of explainBot used a crude config-file format. This has been replaced by a XML file. The configuration file lets you change the important aspects of the bot as which commands to load, nick, ident, logging and verbosity.
· Four Types of commands are implemented:
· 1. Unauthorised - available to anybody on the channel where explainBot is.
· 2. Authorised - available to any authorized user on the channel where explainBot is.
· 3. Special - special commands like login.
· 4. Automatic - automatic answer to e.g. ping
· ava 2
· Access to a mysql database(trough included JDBC drivers)
What's New in This Release:
· Using XML for config file
· Added Checking config upon startup
· Added support of writing and loading new commands without need for rewriting the core classes of explainBot
· Added a group of automatic commands
· Added only responding on commands from users in same channel as the bot
· Added more input validation
· Added (probably) a better anti-DOS device
· Added storing passwords as MD5 hashes
· Added "!setpassword" command for setting user passwords
· Added "!status" command
· Added (simple) locking of explains
· Hiden Martyr debug from user
· Modified New command to accept an integer as parameter, to show at most new terms
· Fixed Add and Learn commands to use 'username' from database instead of nick
· Added messages to quit and restart commands
· Using a newer version of mysql connection library (MySQL Connector/J 2.0.14), where "useUnicode=true" actually works
· Using a newer version of Martyr
· Code cleanup
· More testing