Share

Anna^ IRC Bot

File Release Notes and Changelog

Release Name: anna-0.30 (caprice)

Notes:
After one and a half months of development, including a shift of servers,
followed by a more or less complete move to sourceforge (except for web
content), we're not ready to serve the next version of Anna^ codenamed
"caprice".
This time, some effort has been put into making it easier to install, run and
upgrade Anna^. Thus, Anna^ is now able to handle database-updates with new
versions. Should you happen to use version 0.10... well, tough luck :)          
For users of 0.2x, Anna^ will automatically update your database on the first
run.                                                                            
Enjoy caprice! Remember to report bugs and file wishes to <and@vmn.dk> (or
through the sourceforge-system)


Changes: 0.30 Sat Nov 25 19:47:58 CET 2006 - Anna^ now recovers her nick correctly. Rejoice! (Bug since 0.10). - Anna^ catches SIGINT and disconnect properly from irc and the database. - Ircname is now set correctly... blame lame Net::IRC documentation. - (internal) trim functions added. Input will now be trimmed for whitespace. - (internal) command-line arguments are now parsed with getopt::long - Added check for database file. - Experimental color-coding of terminal output. I'm not sure if I'll keep it. In other news, subroutine warning() now handles warnings and error() make errors a little more spiffy. - Improved parsing of HTML source. - You can now specify how many results a google search should return. use !google <int> <query>. Otherwise, google will return the first result. A new range-search concept has been added to todo as well. - Squashed bug that nix'ed newlines from privmsg output. - You no longer get booted from #channel if you lose in a private game of roulette. - !fortune now accepts -a, -o and -e as well as a packagename. - !lart me makes Anna^ insult YOU! - Specify your own trigger. You no longer _have_ to use !. Just change the $trigger variable. - Use --silent to suppress all output to the terminal. --verbose still overrides this. - No more SQL injection vulnerabilities (hopefully). - !google now displays correct number of results. - (internal) colour()-routine now handles colourization of strings. - Notices are now printed on stdout, unless the --silent flag is used. - Nick changes no longer invokes a quit notice. - Orders have been moved to the database. - Anna^ now checks for the presence of /etc/anna.conf and ~/.anna/config and uses those two instead of default values. Precedence is as follows: cmd-line > configfiles > default values. - Anna^ will now kick users that utter a banned word. You can define banned words in the configuration file. - Makefile added - use su -c "make install" to install anna. - New first-run check will copy config and db if they aren't present. - New anna_init subroutine will take care of initial checks - Don't lowercase nicks when nicks are changed (happened due to lastseen functionality) - Handle kills properly (don't appear to be trying to reconnect) - More consistency and fewer deadly sins... hooray! \o/ - Autpdetect database version and update if out of sync - (internal) Use constants, not variables for stuff that really are constant during the session. - Output will only be colourized if STDOUT is a tty. This might create a problem with output going to STDERR, but since this _should_ be sent through error() anyway, I've added a check for STDERR->tty there. - Quoting of messages in lastseen-system fixed. - (internal) escape_shell()-function added. Escapes a string for use in a shell environment. - Flagparsing i !fortune fixed. - New functions: - Note - yep, a note-taking system (somewhat). Syntax is !note <text1> = <text2> where <text1> is a short identifier and <text2> is the note. View a note with !note <text1>. !calc without anything prints a random note. - Mynotes - show all notes belonging to yourself, with !mynotes. Send Anna^ a privmsg to see all if you have more than 15. - Rot13 - translate rot13-strings with !rot13 <string> - Search - use !search to search various tables in Anna^'s database. So far, you can use 'notes', 'quotes' and 'all'. Syntax is !search <table> <str>. - !addorder - add a new order to the database. Syntax is !addorder <key> = <order>, and <order> must contain the string "##". - !rstats - print statistical information from roulette games. - New requirements: - Perl module HTML::Parser (for HTML::Entities)