LizardBot/CL

From LizardWiki, FastLizard4's wiki and website
Jump to: navigation, search



Ambox rewrite orange.svg

Note: Some experience in the PHP programming language - which this bot is written in - is recommended for using this bot. The documentation on this site assumes that you are familiar with at least the basics of PHP (such as declaring variables, how to quote strings, etc.). That said, this is only a recommendation - if you don't know PHP at all, you are welcome to try out LizardBot, and do ask for help on our IRC channel or elsewhere if you need it.

Please report bugs to BugZilla

Key:
Critical - Critical security upgrades that may expose vulnerabilities in the bot's code. Failure to update may allow bot to be exploited
High Importance - Relatively important security or usability upgrades, update strongly recommended
Medium Importance - Moderately important security upgrades, update recommended
Low Importance - Minor security or usability upgrades, update at leisure
New Features - Addition of new features, update to take advantage of them
Trivial Updates - Addition/Modification of code in such a way that does not affect the operation of the bot. Usually doesn't cause in increment of the version number, just in SVN revision number.

Contents

Notes on updating the bot

When updating the bot, you only need to get the latest version of the source code, unless an update is marked with a *. If an update is marked with a *, you must also get the latest version of the configuration file. Remember to transfer your custom settings over to the new configuration file!

Planned for future versions

Skip to changes in the newest version

  • (N) Option for a bot logfile
  • (N) Option for the bot to log messages sent to a channel
  • (N) [[Wikilink]] expansion

7.3.0.0b (BETA) (rel7.3.0.0/83a77e6a25504bca94cca032e2262d6ecfa981f3)

NOTE: Changes in this revision require an update of the configuration file.

  • (N) LizardBot now uses a new configuration file system where there is a default configuration file updated from Git and the user's custom config files, which aren't touched. This means that updates will no longer break configuration files like they used to (5653f18b0e, 63cb0ff226, fc3455d85f, 5156614abe, e42ba011ca, 83a77e6a25)!*
  • (L) urlencode stock symbols passed to Yahoo to prevent screwups (cf5d2d2c24).
  • (T) Update copyright dates and other text in the bot's header and such (770101d7c7, af27d735d6).

7.2.1.0b (BETA) (rel7.2.1.0/499732476cd213177a1cbd6c9c6c128eb4205959)

NOTE: Changes in this revision require an update of the configuration file.

  • (N) Bot's name changed from PHP-LizardBot to LizardBot for PHP to comply with the PHP naming standards.* (4a9f66e90b)
  • (M) All URLs to LizardWiki now point to the new fastlizard4.org domain name (4a9f66e90b).
  • (H) Remove errant backslash before <?php on first line of configuration file (e29d24b229).
  • (N) Bot moved to GitHub from Google Code! All hail Git!

7.2.0.0b (BETA) (r74)

NOTE: Changes in this revision require an update of the configuration file.

  • (M) Google changed their Google Calculator icon, which confused the bot. Problem fixed in this revision.
  • (N) The bot can now be configured to set/unset usermodes on itself when it connects to an IRC network. See bot setup for more information (the particular setting added is $setAutoModes).*

7.1.1.0b (BETA) (r70)

NOTE: Changes in this revision require an update of the configuration file.

  • (L) Fixes two bugs in the bit.ly system regarding how the bot recognizes aggregate bit.ly links.
  • (N) Adds the option for the reminders system allowing bot operators to specify whether or not they want their bot delivering reminders when it sees someone JOIN the channel, instead of requiring them to message the channel before the bot delivers reminders.*

7.1.0.0b (BETA) (r69)

NOTE: Changes in this revision require an update of the configuration file.

  • (M) Fixes regex bugs throughout the bot. Most were minor, unnoticeable problems, but there were some noticeable problems, one being that using a nickname that contained regex meta characters (such as d[^_^]b) would break fishbot and the Pandorabot AI.
  • (M) Modifies the MySQL support code so that the MySQL-related functions are loaded at bot startup even when MySQL is explicitly disabled in the config file. This is so that enabling MySQL support while the bot is running won't crash it. However, before attempting to enable MySQL support while the bot is running, you should be aware of a couple of caveats documented with the rest of the MySQL documentation.
  • (N) Adds support for the bit.ly API, including link expansion, shortening, and lookups. See here for more information.*

7.0.0.3b (BETA) (r67)

  • (M) Modifies the matching system in the reminders system to make cloak/vhost-based matching more accurate: a host-based match will only occur if the last word in the cloak/vhost is the same as the target's nickname.

7.0.0.2b (BETA) (r66)

  • (M) Fixes a bug in the reminders system that removed colons from the message.
  • (M) Modifies the reminders system so that reminders are only sent to their targets when their target talks in a channel the bot is monitoring - i.e., the bot no longer sends reminders when the target joins a channel the bot is in.
  • (L) Removes the period from the reminder message (the one that the user being reminded sees).

7.0.0.1b (BETA) (r65)

  • (H) Fix for the first MySQL-related bug: The implied _ in table prefixes wasn't added after a rehash of the config file. Fixed.

7.0.0.0b (BETA) (r64)

The next generation LizardBot has arrived! The most major change in this revision is the addition of MySQL support. Updates in the repository include a new script that automatically sets up the database and tables used by LizardBot. Of course, this is not required, and LizardBot is perfectly usable without MySQL.

  • (N) Adds MySQL support to LizardBot. This in itself adds no new commands, though.*
  • (N) Adds a @remind command and a reminder system. See documentation for more info on this.*
  • (T) Updates some copyright dates.

NOTE: Changes in this revision require an update of the configuration file.

6.3.1.2b (BETA) (r63)

  • (C) Modifies the "pung" fishbot response to prevent infinite loops triggered by other LizardBots. Kinda critical.

6.3.1.1b (BETA) (r61)

  • (L) Updates the filter used for the @insult command used to detect if the bot is being ordered to insult itself. The check is now case-insensitive.
  • (N) Adds a set of new fishbot responses based on "ping" and variants.
  • (N) Adds a Doctor Who-themed fishbot response.
  • (L) Modifies the bad/stupid/good bot fishbot responses to work when delivered in a CTCP ACTION.
For more information about fishbot, please see LizardBot/Fishbot.

6.3.1.0b (BETA) (r60)

NOTE: Changes in this revision require an update of the configuration file.

  • (H) Google changed their search output structure, breaking the screenscraping used for the @gcalc (Google Calculator) command. Fixed in this revision.
  • (N) Adds a "universal help command" that is like @help, except that it responds on all common bot triggers (such as ! and .).*

6.3.0.3b (BETA)

(r59)

  • (T) Fixed a mismatched code comment introduced in r58.

(r58)

NOTE: Changes in this revision require an update of the configuration file.

  • (H) Updated all links to documentation in the bot to point to LizardWiki's new URL.*
  • (N) Adds one new fishbot response. See Fishbot Module for details.
  • (M) Disables the @editcount command, which was really pretty broken from the start.

6.3.0.2b (BETA)

(r54)

  • (T) Correctly noted the version number in LizardBot.

(r53)

  • (L) Remove one fishbot response that didn't work as expected, and probably shouldn't be in there anyway

6.3.0.1b (BETA) (r52)

  • (L) Fixes bug in r51 where the fishbot usage count was not added to the total usage count in the @status command.
  • (N) Adds three new responses for the fishbot module. See Fishbot Module for details.

6.3.0.0b (BETA) (r51)

NOTE: Changes in this revision require an update of the configuration file.

  • (N) Adds fishbot module to the bot. See Fishbot Module for details.*

6.2.0.3b (BETA) (r50)

  • (L) Bot didn't increment the number of times the bot was used (specifically, the command count) with the @untiny command. Fixed in this revision.

6.2.0.2b (BETA) (r49)

  • (C) Due to the new system calls added in r47, the "IRC buffer" was not being cleared, causing the bot to repeat the last command given to it every 15 seconds. While not immediately a security hole, it is about as critical as one. Fixed in this version.

6.2.0.1b (BETA) (r48)

  • (M) Fixes minor bug where the configuration file location was not global for the SIGHUP command - SIGHUP rehashes should now work properly.

6.2.0.0b (BETA) (r47)

  • (H) Fixes bug 2: Bot will now respond instantly to recognized POSIX signals (1 SIGHUP, 2 SIGINT, and 15 SIGTERM) unless configured to do otherwise.

6.1.3.1b (BETA) (r46)

  • (L) Allows all users to use the @fantasy command to determine whether or not the bot's AI is enabled or disabled.

6.1.3.0b (BETA) (r45)

  • (N) Adds an untiny command to expand TinyURLs. See the Documentation for details.
  • (H) (Affects POSIX users only) Bot now correctly rehashes on SIGHUP (1). See Documentation for details.
  • (L) (Affects POSIX users only) Colors now appear in the terminal if the bot receives a SIGINT (2, ^C) or a SIGTERM (15).
  • (L) CTCP CLIENTINFO now has an internal response (i.e., you cannot change the CTCP CLIENTINFO response from the configuration file).

6.1.2.6b (BETA) (r44)

  • (H) The TinyURL command finally works!
  • (T) Update the copyright information in the "splash screen" to 2008-2009.

6.1.2.5b (BETA) (r43)

  • (H) General fixes for tinyurl command that make it work correctly as other commands do, also closes the socket automagically to prevent errors.

6.1.2.4b (BETA) (r42)

NOTE: Changes in this revision require an update of the configuration file.

  • (N) Added support for link conversion to TinyURL.*

6.1.1.4b (BETA) (r41)

  • (M) Fixed typo PseudoOne made in (probably) r35 which caused the bot to send a blank FINGER response instead of the version information.

6.1.1.3b (BETA) (r39)

NOTE: Changes in this revision require an update of the configuration file.

  • (H) All links in the bot changed from their old location on Scalar to point to the new location of the bot's documentation, here on LizardWiki.*

6.1.1.2b (BETA) (r37)

  • (L) Fixed bug introduced in r35 with VERSION being replied to instead of a FINGER response.

6.1.1.1b (BETA) (r36)

  • (L) Fixed bug FastLizard4 introduced in r35 that prevented terminal colors from 'closing' properly.

6.1.1.0b (BETA) (r35)

  • (N) The bot now replies to CTCP-FINGER using the CTCP-VERSION response.

6.1.0.0b (BETA) (r33)

NOTE: Changes in this revision require an update of the configuration file.
  • (N) Bot is now capable of autoconnecting. See Bot Setup for details.*

6.0.0.7b (BETA) (r32)

NOTE: Changes in this revision require an update of the configuration file.
  • (T) Code cleanup.
  • (L) Bot now replies to CTCP TIME requests (correctly).*
  • (N) The bot now has a status command. See General Documentation for details.*
  • (H) Bot now will check for updates from the wiki. Old update location now refers to this version at all times. Thus, versions older than 6.0.0.7 will always report 6.0.0.7 as the latest version, even if it isn't.

6.0.0.6b (BETA) (r31)

  • (L) The bot will now refuse to insult itself.

6.0.0.5b (BETA) (r30)

NOTE: Changes in this revision require an update of the configuration file.
  • (L) Fixed bug in connection delays.
  • (L) Fixed potential bug in gcalc and editcount commands.
  • (N) Added insult generator. See docs for details.*

6.0.0.4b (BETA) (r29)

  • (M) Reverted change made in 6.0.0.3b (r28); new error condition doesn't work

6.0.0.3b (BETA) (r28)

  • (M) Adds another error condition to the editcount function Reverted in 6.0.0.4b (r29)

6.0.0.2b (BETA) (r27)

  • (C) Fixes problem where bot could be forced to crash with the editcount function.

6.0.0.1b (BETA) (r26)

  • (N) Ability to check editcounts on Wikimedia wikis

6.0.0.0b (BETA) (r24)

  • (N) Windows support (see here for details
  • (N) Support for PCREs in access control
  • (T) @help is now an alias for @info

5.5.1.0b (BETA)

(r22)

  • (T) corrected the spelling of a few variable names to reflect the Merriam-Webster Dictionary.

(r21)

  • (N) You can now specify a configuration file to use at the command line.

5.5.0.1b (BETA) (r18)

  • (M) Fix formatting bugs where HTML tags and HTML entities were sent with the Google Calc returned data.

5.5.0.0b (BETA) (r16)

  • (N) LizardBot can now perform calculations using Google Calculator

5.4.0.6b (BETA)

(r10)

  • (T) Modified code slightly so syntax highlighting in various editors isn't affected by the heredoc syntax.

(r5)

  • (M) Added some sleeps to try and fix problems with sending registration and identification before the socket/connection/network was ready for it.

5.4.0.5b (BETA) (r4)

  • (H) Fix new bug (affecting only 5.4.0.4b, apparently) with an extraneous dollar sign in the AI extension

5.4.0.4b (BETA) (no revision number - v5.4.0.4b and previous not maintained in SVN)

  • (L) Fix a problem with unnecessary spaces in the bot's /me's, again

5.4.0.3b (BETA)

  • (M) Fix unclosed preg in AI.

5.4.0.2b (BETA)

  • (M) Fix bug with the WoT rating reporter which never updated the target user
  • (H) Fixed bug where : in any commands would not properly parse. Mainly affects @eval and @exec. Replace : with $$ in all commands.
  • (M) Fix bug where disabling bolds would cause coloration errors with the WoT command.

5.4.0.1b (BETA)

  • (L) Print the link to the WoT rating with the results.
  • (M) Fix no colors bug with WoT ratings.

5.4.0.0b (BETA)

  • (N) Bot now uses reputation ratings from WoT - see the @wot command in the docs for details.

5.3.2.3b (BETA)

  • (N) When starting the bot, stdout is colorized so you can easily tell prompts from informational messages. Colorization also applied to the kill messages sent to the terminal for easy identification.

5.3.2.2b (BETA)

  • (H) Fixes @deop bug where the bot wouldn't deop itself (used the wrong nick).
  • (N) Adds the @update command to check for updates and checks for updates on startup.

5.3.2.1b (BETA)

  • (H) Fixes wrong target nick bug with the @exec and @eval commands

5.3.2.0b (BETA)

  • (N) Allows custom setting for the command trigger in the config file.
  • (M) Trim response when PMing the @say and @do commands.

5.3.1.6b (BETA)

NOTE: Changes in this revision require an update of the configuration file.
  • (N) Add signal handlers for SIGTERM (15) and SIGINT (^C) - kill the bot, but indicate in the quit message that the bot was killed by signal.
  • (N) Add the @exec command to run commands on the shell.*
  • (N) Add the @eval command to directly run PHP commands.*

5.3.1.5b (BETA)

  • (M) Fix the Pandorabot AI so no response from the API causes the bot to return the default resonse (pandorabot::$default_responce, and yes, I know its mispelled) - note that this fix may still be flakey. Report problems with this fix to BugZilla.

5.3.1.4b (BETA)

NOTE: Changes in this revision require an update of the configuration file.
  • (N) Addition of PCntl (Process Control) functions so bot rehashes its config file on SIGHUP
  • (C) Fixed password exposure vulnerability
  • (N) Ability to specify a port for connection
  • (L) Ability to set default Pandorabot AI response (should none be returned by the API) from the config file*

5.3.1.3b (BETA)

NOTE: Changes in this revision require an update of the configuration file.
  • (C) Added flood protection to Pandorabot AI
  • (M) Added access control for Pandorabot AI*
  • (L) Used the "long" PHP start tag (<?php) instead of ths "short" tag (<?) to ensure compatability

5.3.1.2b (BETA) and Earlier

No changelog was maintained before version 5.3.1.3b.