Druplicon is dead! Long live Druplicon!
I started running Druplicon as a Perl bot in 2005. In late 2006, I started a proof of concept called bot.module. Today, bot_module has officially slayed the Perl beast Druplicon and taken its rightful name: Druplicon, the bot, is now a Drupal module. http://drupal.org/project/bot Along with this are some evolutionary features. Here are the help docs: <Morbus> Druplicon: help Factoids <Druplicon> Set factoids with "BOTNAME: cats are furry", "BOTNAME: Drupal is great.", "No, BOTNAME, Morbus is awesome.", "BOTNAME: Drupal is also powerful.", "BOTNAME: cheer is <action>cheers!", or "BOTNAME: ping is <reply>WHAT?!". Retrieve factoids with: "Drupal?" or "BOTNAME: cheer!" Forget factoids with "BOTNAME: forget ping". Factoids can be browsed online at <http://www.disobey.com/bot/factoids>. <Morbus> Druplicon: help Function Lookups <Druplicon> If api.module is installed, the bot can provide function lookups, triggered by "<function>?", based on the host's installed branches (which must have "short names" that match api.drupal.org). Branches besides the default (currently "5") can be specified with "<function>:<branch>?". Besides the factoids being browseable on: http://www.disobey.com/bot/factoid (which makes it very easy to find crappy factoids to "forget", hint, hint), there is now direct integration with api.module, as originally provided via code from Bdragon. By default, function requests work against the latest release: <Morbus> l? <Druplicon> l: Format an internal Drupal link. => l($text, $path, $attributes = array(), $query = NULL, $fragment = NULL, $absolute = FALSE, $html = FALSE) => http://api.drupal.org/api/5/function/l You'll note that there's now a summary (provided by Doxygen), and that there's no longer a restriction on length (so no more "api-l?"). You'll also note the URL is keyed toward DRUPAL-5. But, consider: <Morbus> l:HEAD? <Druplicon> l: Format an internal Drupal link. => l($text, $path, $options = array()) => http://api.drupal.org/api/HEAD/function/l By specifying "<function>:<branch>", you can get the results of a particular branch. I am currently providing DRUPAL-5 and HEAD, updated daily. DRUPAL-5 is the default (so "l:5?" is the same as "l?"). I will contain to provide (starting with DRUPAL-5), the last two releases and the current HEAD. The default will always be the latest release. I am also pulling from contrib/docs/developer too. Because factoids/infobot and the API lookups are now two different modules, we can annotate particular functions with useful information (assuming we use the default/no-branch version). Consider: <Morbus> t? <Druplicon> t: Translate strings to the current locale. => t($string, $args = 0) => http://api.drupal.org/api/5/function/t <Druplicon> Please be very careful about using !... if you don't want italics, use @ instead! <Morbus> url? <Druplicon> url: Generate a URL from a Drupal menu path. Will also pass-through existing URLs. => url($path = NULL, $query = NULL, $fragment = NULL, $absolute = FALSE) => http://api.drupal.org/api/5/function/url <Druplicon> It will do path aliasing automatically; always use the "real" Drupal URL, not the path alias! Finally, the bot is happy to complain about errors in our Doxygen: <Morbus> drupal_render? <Druplicon> drupal_render: [Doxygen summary is not one line. This is a bug. File core patch.] => drupal_render(&$elements) => http://api.drupal.org/api/5/function/drupal_render Please don't hesitate to file bugs at http://drupal.org/project/issues/bot or bug me about it in IRC. Thanks! -- Morbus Iff ( sleep breeds sanity ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ aim: akaMorbus / skype: morbusiff / icq: 2927491 / jabber.org: morbus
On 6/27/07, Morbus Iff <morbus@disobey.com> wrote:
I started running Druplicon as a Perl bot in 2005.
In late 2006, I started a proof of concept called bot.module.
Today, bot_module has officially slayed the Perl beast Druplicon and taken its rightful name: Druplicon, the bot, is now a Drupal module.
Can we run this at bot.drupal.org? And officially make this part of infrastructure? -- Boris Mann Office 604-682-2889 Skype borismann http://www.bryght.com
Can we run this at bot.drupal.org <http://bot.drupal.org>? And officially make this part of infrastructure?
Not my call, of course, but I'd give it a thumbs up. I think, however, that it'd need either myself or someone else to regularly "cvs up" and restart it with new code every so often. -- Morbus Iff ( omnia mutantur, nihil interit ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ aim: akaMorbus / skype: morbusiff / icq: 2927491 / jabber.org: morbus
i would think that we'd just point that domain at your web server. this removes all maintainence burden from the infrastructure team. Morbus Iff wrote:
Can we run this at bot.drupal.org <http://bot.drupal.org>? And officially make this part of infrastructure?
Not my call, of course, but I'd give it a thumbs up. I think, however, that it'd need either myself or someone else to regularly "cvs up" and restart it with new code every so often.
i would think that we'd just point that domain at your web server. this removes all maintainence burden from the infrastructure team.
I wouldn't be interested in running a separate database and Drupal install just for the bot. -- Morbus Iff ( accept no prostitutes ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ aim: akaMorbus / skype: morbusiff / icq: 2927491 / jabber.org: morbus
Morbus Iff wrote:
I started running Druplicon as a Perl bot in 2005.
In late 2006, I started a proof of concept called bot.module.
Today, bot_module has officially slayed the Perl beast Druplicon and taken its rightful name: Druplicon, the bot, is now a Drupal module.
Something that may be a really daft question to everyone who has experience with IRC bots: How is it actually run, and kept running? By visiting a URL on the Drupal site and having PHP enter a loop it never leaves? Most shared hosts disallow "permanently running programs" such as IRC bots that are started via the shell. Will a module like this fall under that rule? --Arancaytar
Something that may be a really daft question to everyone who has experience with IRC bots: How is it actually run, and kept running? By visiting a URL on the Drupal site and having PHP enter a loop it never leaves?
No. See the README.txt. I actually write good docs.
Most shared hosts disallow "permanently running programs" such as IRC bots that are started via the shell. Will a module like this fall under that rule?
Correct. -- Morbus Iff ( keep out of reach of children ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ aim: akaMorbus / skype: morbusiff / icq: 2927491 / jabber.org: morbus
participants (4)
-
Arancaytar Ilyaran -
Boris Mann -
Morbus Iff -
Moshe Weitzman