Druplicon is a PHP IRC bot that has been servicing #drupal, #drupal-support, and many other IRC channels since 2005, proving itself an invaluable resource. Originally a Perl application coded by Morbus Iff, he always wanted to make the official #drupal bot an actual Drupal module. This is the fruit of these labors. Whilst the needs of Druplicon are driving the future and design of the module, this is intended as a generic framework for IRC bots within Drupal, and usage outside of Druplicon is encouraged.

With all currently shipped modules enabled, you'll get:

  • Aggregator: Enables the reporting of aggregated feed items to configured channels.
  • Auth: If you have a Drupal user account with the bot's host, you can "/msg BOTNAME login [username]/[password]" to authenticate your IRC session and gain additional privileges.
  • Botagotchi: Proper care and feeding lets your botagotchi grow and be happy!
  • Factoids: Set factoids with "BOTNAME: Drupal is great.", "No, BOTNAME, cats are furry.", "BOTNAME: Drupal is also powerful.", "BOTNAME: cheer is <action>cheers for !who in !channel!", or "BOTNAME: ping is <reply>WHAT?!". Retrieve with "Drupal?" or "BOTNAME: cheer!" Forget with "BOTNAME: forget ping". PM with "BOTNAME: tell newb about support". Browsable at http://example.com/bot/factoid.
  • Karma: Keeps track of "karma" altered by "foo++" or "bar--". Terms must be 3 to 15 characters in length. "BOTNAME: karma foo?" gives the current karma score. Highest and lowest karma scores can be seen at http://example.com/bot/karma.
  • Logging: Logging is enabled for some or all channels at http://example.com/bot/log. A URL to the current log and timestamp is retrievable with "BOTNAME: log pointer?" or "BOTNAME: log bookmark?"
  • Project URLs: Displays the title of project URLs; multiple URLs in a single message are acceptable. Also supports numerical IDs such as "#12345" or "4321", but only if that is the entirety of the message and the number is within a configured range. Popular and recent URLs in the past two weeks are tracked at http://example.com/bot/project_urls.
  • Reminders: Reminders can be set with "BOTNAME: remind NICK (at|by|in|on) DURATION (about|how|that|to) MESSAGE". For example: "BOTNAME: remind Morbus in 1 hour and 6 minutes that his bot is awesome", "BOTNAME: remind me in 23 minutes to check my pot roast.", or even "BOTNAME: remind Monty on Wed, 12 May 2010 13:10:21 -0400 that this was when this code debuted."
  • Seen: If someone asks "seen Morbus", the bot will report the last time they've been seen, where, and what their last known message was. Directly addressing the bot will also allow the more complex syntax of "seen Morbus? seen d8uv?", "have you seen sbp?" and similar forms. * can be used as a wildcard, but only with a minimum of three other characters. A maximum of three results are displayed for any one request.
  • Tell: Queue messages with "BOTNAME: tell Morbus that his bot_module help messages are awesome." Queued messages will be delivered publicly when the recipient sends a message to the channel.
  • Timezones: Display timezones with "BOTNAME: timezone BST". Convert timezones with "tz 10AM MST to EST" or "tz 14:27 UTC in Europe/London". Timestamps are allowed if combined and with no spaces: "tz 2010-10-23T10:00 EST to UTC". All returned dates are DST-aware.

Project information

Releases