rbot
17 years agoHTML processing refactoring: fix options passed by Utils.get_string_html_info to...
Giuseppe Bilotta [Tue, 18 Sep 2007 06:15:56 +0000 (06:15 +0000)] 
HTML processing refactoring: fix options passed by Utils.get_string_html_info to ircify_first_html_par

17 years agoHTML processing refactoring: Utils.get_first_pars now uses Utils.get_html_info
Giuseppe Bilotta [Tue, 18 Sep 2007 06:15:54 +0000 (06:15 +0000)] 
HTML processing refactoring: Utils.get_first_pars now uses Utils.get_html_info

17 years agobasics: it's @bot.myself, not just myself
Giuseppe Bilotta [Tue, 18 Sep 2007 06:15:52 +0000 (06:15 +0000)] 
basics: it's @bot.myself, not just myself

17 years agoHTML processing refactoring: Utils.get_html_info and related methods factored out...
Giuseppe Bilotta [Tue, 18 Sep 2007 06:15:49 +0000 (06:15 +0000)] 
HTML processing refactoring: Utils.get_html_info and related methods factored out of the url plugin

17 years agoHTML processing refactoring: ensure HTML title works with and without Hpricot
Giuseppe Bilotta [Tue, 18 Sep 2007 06:15:47 +0000 (06:15 +0000)] 
HTML processing refactoring: ensure HTML title works with and without Hpricot

17 years agoHTML processing refactoring: HTML title extraction is now a String method
Giuseppe Bilotta [Tue, 18 Sep 2007 06:15:45 +0000 (06:15 +0000)] 
HTML processing refactoring: HTML title extraction is now a String method

17 years agoregistry: it's @recovery, not @recover
Giuseppe Bilotta [Mon, 17 Sep 2007 10:09:39 +0000 (10:09 +0000)] 
registry: it's @recovery, not @recover

17 years agoshortenurls plugin: service name can be nil
Giuseppe Bilotta [Mon, 17 Sep 2007 06:17:18 +0000 (06:17 +0000)] 
shortenurls plugin: service name can be nil

Thus, convert it to sym after ||ing it with m.plugin, not before

17 years ago* (plugins/url) url logging should not depend on url info display
Dmitry Kim [Sun, 16 Sep 2007 23:09:11 +0000 (23:09 +0000)] 
* (plugins/url) url logging should not depend on url info display

17 years ago* (plugins/url) get_title_for_url(uri_str, opts={})
Dmitry Kim [Sun, 16 Sep 2007 22:36:04 +0000 (22:36 +0000)] 
* (plugins/url) get_title_for_url(uri_str, opts={})

17 years agoUpdate REQUIREMENTS
Giuseppe Bilotta [Sun, 16 Sep 2007 12:54:08 +0000 (12:54 +0000)] 
Update REQUIREMENTS

17 years agourl plugin: add 'url info' as a synonym for 'urls info', and document the command
Giuseppe Bilotta [Sun, 16 Sep 2007 06:44:19 +0000 (06:44 +0000)] 
url plugin: add 'url info' as a synonym for 'urls info', and document the command

17 years agotwitter plugin: set update source to 'rbot'
Giuseppe Bilotta [Sun, 16 Sep 2007 06:44:17 +0000 (06:44 +0000)] 
twitter plugin: set update source to 'rbot'

Since September 17 Twitter.com supports us as an 'official' client, and we can use 'rbot' as the source for updates coming from rbot.

17 years agoNew Auth Framework: catch possible error when trying to create transient botuser
Giuseppe Bilotta [Sat, 15 Sep 2007 22:25:22 +0000 (22:25 +0000)] 
New Auth Framework: catch possible error when trying to create transient botuser

17 years agorss plugin: add support for twitter format
Giuseppe Bilotta [Sat, 15 Sep 2007 10:35:34 +0000 (10:35 +0000)] 
rss plugin: add support for twitter format

Twitter feeds can use the generic output format, but there is no need to 'cap' their titles because of the hardcoded length limits imposed by Twitter

17 years agotwitter plugin: don't update status if message length is > 160 characters, and give...
Giuseppe Bilotta [Sat, 15 Sep 2007 10:10:30 +0000 (10:10 +0000)] 
twitter plugin: don't update status if message length is > 160 characters, and give a warning when > 140

Twitter has a hard limit for message lengths at 160, and the recommended maximum length is 140 characters, so enforce the hard limit and warn when the soft limit is passed

17 years agotwitter plugin: customize count of status updates displayed, defaulting to 1
Giuseppe Bilotta [Sat, 15 Sep 2007 10:10:28 +0000 (10:10 +0000)] 
twitter plugin: customize count of status updates displayed, defaulting to 1

17 years agolastfm plugin: update to support the new HTML in author/band descriptions
Giuseppe Bilotta [Fri, 14 Sep 2007 22:51:07 +0000 (22:51 +0000)] 
lastfm plugin: update to support the new HTML in author/band descriptions

17 years agotwitter plugin: minor refactoring
Giuseppe Bilotta [Fri, 14 Sep 2007 22:14:06 +0000 (22:14 +0000)] 
twitter plugin: minor refactoring

17 years agotwitter plugin: whitespace cleanup
Giuseppe Bilotta [Fri, 14 Sep 2007 22:14:04 +0000 (22:14 +0000)] 
twitter plugin: whitespace cleanup

17 years agotwitter plugin: identify ourselves as the twitter client
Giuseppe Bilotta [Fri, 14 Sep 2007 22:14:02 +0000 (22:14 +0000)] 
twitter plugin: identify ourselves as the twitter client

17 years agotwitter plugin: CGI.escape, not URI.escape (thanks hlb)
Giuseppe Bilotta [Fri, 14 Sep 2007 21:56:20 +0000 (21:56 +0000)] 
twitter plugin: CGI.escape, not URI.escape (thanks hlb)

17 years agotwitter plugin: don't cache status
Giuseppe Bilotta [Fri, 14 Sep 2007 21:56:18 +0000 (21:56 +0000)] 
twitter plugin: don't cache status

17 years agotwitter plugin: display time elapsed instead of date in status
Giuseppe Bilotta [Fri, 14 Sep 2007 21:56:17 +0000 (21:56 +0000)] 
twitter plugin: display time elapsed instead of date in status

17 years agohttputil: document 'headers' option to get_* methods
Giuseppe Bilotta [Fri, 14 Sep 2007 21:56:15 +0000 (21:56 +0000)] 
httputil: document 'headers' option to get_* methods

17 years agotwitter plugin: initial commit (#145 with changes)
Giuseppe Bilotta [Fri, 14 Sep 2007 11:50:55 +0000 (11:50 +0000)] 
twitter plugin: initial commit (#145 with changes)

17 years agoUpdate .po files
Giuseppe Bilotta [Fri, 14 Sep 2007 11:50:51 +0000 (11:50 +0000)] 
Update .po files

17 years agoconfig core botmodule: document 'nick', 'status'
Giuseppe Bilotta [Fri, 14 Sep 2007 11:50:47 +0000 (11:50 +0000)] 
config core botmodule: document 'nick', 'status'

17 years agoshortenurls plugin: shortenurls.services_blacklist config variable
Giuseppe Bilotta [Thu, 13 Sep 2007 21:47:52 +0000 (21:47 +0000)] 
shortenurls plugin: shortenurls.services_blacklist config variable

17 years agoshortenurls plugin: handle failing services by trying other services, and make return...
Giuseppe Bilotta [Thu, 13 Sep 2007 21:47:50 +0000 (21:47 +0000)] 
shortenurls plugin: handle failing services by trying other services, and make return values more uniform

17 years agohttputil: primitve cookie support
Giuseppe Bilotta [Thu, 13 Sep 2007 13:25:51 +0000 (13:25 +0000)] 
httputil: primitve cookie support

If a redirection sets a cookie, set the cookie in the redirected request

17 years agoMore rdoc-ification
Giuseppe Bilotta [Thu, 13 Sep 2007 08:22:30 +0000 (08:22 +0000)] 
More rdoc-ification

17 years agomore rdoc-ification
Giuseppe Bilotta [Thu, 13 Sep 2007 00:14:53 +0000 (00:14 +0000)] 
more rdoc-ification

17 years agonamespaces: simplify Irc::Bot::Auth manager singleton name and accessor
Giuseppe Bilotta [Thu, 13 Sep 2007 00:14:49 +0000 (00:14 +0000)] 
namespaces: simplify Irc::Bot::Auth manager singleton name and accessor

17 years agonamespaces: provide backwards compatibility methods for BotConfig.register and relate...
Giuseppe Bilotta [Wed, 12 Sep 2007 22:31:18 +0000 (22:31 +0000)] 
namespaces: provide backwards compatibility methods for BotConfig.register and related classes

17 years agonamespaces: move rbot-specific classes and modules from Irc::* to Irc::Bot::*
Giuseppe Bilotta [Wed, 12 Sep 2007 22:31:15 +0000 (22:31 +0000)] 
namespaces: move rbot-specific classes and modules from Irc::* to Irc::Bot::*

17 years agoIrc::IrcSocket -> Irc::Socket
Giuseppe Bilotta [Wed, 12 Sep 2007 19:17:24 +0000 (19:17 +0000)] 
Irc::IrcSocket -> Irc::Socket

17 years agordocument Irc::MessageMapper and Irc::MessageTemplate
Giuseppe Bilotta [Wed, 12 Sep 2007 17:31:04 +0000 (17:31 +0000)] 
rdocument Irc::MessageMapper and Irc::MessageTemplate

17 years agordocument Irc::Plugins::BotModule
Giuseppe Bilotta [Wed, 12 Sep 2007 17:31:03 +0000 (17:31 +0000)] 
rdocument Irc::Plugins::BotModule

17 years ago* (plugins/fish,translator) long-running actions made threaded to avoid blocking
Dmitry Kim [Tue, 11 Sep 2007 17:38:23 +0000 (17:38 +0000)] 
* (plugins/fish,translator) long-running actions made threaded to avoid blocking

17 years ago+ (plugins) :thread option for plugin.map makes an action automatically threaded
Dmitry Kim [Tue, 11 Sep 2007 17:37:26 +0000 (17:37 +0000)] 
+ (plugins) :thread option for plugin.map makes an action automatically threaded
* (plugins/*) converted to the new threading model

17 years agoUpdate REQUIREMENTS
Giuseppe Bilotta [Tue, 11 Sep 2007 11:22:41 +0000 (11:22 +0000)] 
Update REQUIREMENTS

17 years agotranslator plugin: catch all exceptions when trying to initialize translators
Giuseppe Bilotta [Tue, 11 Sep 2007 11:22:40 +0000 (11:22 +0000)] 
translator plugin: catch all exceptions when trying to initialize translators

The most significant exception that wasn't catched was LoadError, so that a failing require 'mechanize' would cause the whole plugin from failing to load, instead of just disabling the translators depending on WWW::Mechanize

17 years agofirst_html_par: only initialize element collections once
Giuseppe Bilotta [Tue, 11 Sep 2007 08:58:40 +0000 (08:58 +0000)] 
first_html_par: only initialize element collections once

17 years agofirst_html_par: use hpricot if available
Giuseppe Bilotta [Tue, 11 Sep 2007 08:58:38 +0000 (08:58 +0000)] 
first_html_par: use hpricot if available

17 years agoRequirements: document 'htmlentities' dependency-with-fallback
Giuseppe Bilotta [Tue, 11 Sep 2007 05:53:51 +0000 (05:53 +0000)] 
Requirements: document 'htmlentities' dependency-with-fallback

17 years agourl plugin: add 'urls info *urls' command to force link info retrieval
Giuseppe Bilotta [Mon, 10 Sep 2007 12:37:36 +0000 (12:37 +0000)] 
url plugin: add 'urls info *urls' command to force link info retrieval

17 years agourl plugin: loopback is 127.x.x.x, not just 127.0.0.1
Giuseppe Bilotta [Mon, 10 Sep 2007 09:39:47 +0000 (09:39 +0000)] 
url plugin: loopback is 127.x.x.x, not just 127.0.0.1

17 years agourl plugin: add list of hosts for which no link info should be retrieved
Giuseppe Bilotta [Mon, 10 Sep 2007 09:36:29 +0000 (09:36 +0000)] 
url plugin: add list of hosts for which no link info should be retrieved

The url plugin would display link info for urls such as http://127.0.0.1:631/printers and other private addresses, thus being a potential security threat. Disable info retrieval for these hosts, and make the host list configurable.

17 years agorss plugin: support older version of the Ruby RSS parser
Giuseppe Bilotta [Sun, 9 Sep 2007 06:45:00 +0000 (06:45 +0000)] 
rss plugin: support older version of the Ruby RSS parser

17 years agofortune plugin: add header
Giuseppe Bilotta [Sun, 9 Sep 2007 06:44:59 +0000 (06:44 +0000)] 
fortune plugin: add header

17 years agofortune plugin: suppress warning and make source more readable
Giuseppe Bilotta [Sun, 9 Sep 2007 06:44:57 +0000 (06:44 +0000)] 
fortune plugin: suppress warning and make source more readable

17 years agoHttpUtil: preserve authorization across redirects
Giuseppe Bilotta [Sat, 8 Sep 2007 17:14:54 +0000 (17:14 +0000)] 
HttpUtil: preserve authorization across redirects

17 years agoSome new fortune features:
Chris Gahan [Wed, 5 Sep 2007 03:04:01 +0000 (03:04 +0000)] 
Some new fortune features:
  * Nicer merging of the lines into a single line
  * Ability to list fortune files
  * /usr/bin/fortune is the first place it looks now
Need to fix:
  * Barfs when one of the potential executable paths is a directory

17 years agolastfm plugin: thread, don't block
Giuseppe Bilotta [Tue, 4 Sep 2007 10:25:12 +0000 (10:25 +0000)] 
lastfm plugin: thread, don't block

17 years agolastfm plugin: fix help with empty topic
Giuseppe Bilotta [Tue, 4 Sep 2007 10:25:10 +0000 (10:25 +0000)] 
lastfm plugin: fix help with empty topic

17 years agolastfm plugin: support redirected location searches
Giuseppe Bilotta [Tue, 4 Sep 2007 09:58:12 +0000 (09:58 +0000)] 
lastfm plugin: support redirected location searches

17 years agoNew Irc Framework: Irc::User#bot_data(key) and #set_bot_data(key, value, &block)...
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:42 +0000 (01:50 +0000)] 
New Irc Framework: Irc::User#bot_data(key) and #set_bot_data(key, value, &block) to store bot-specific Irc::User data. Currently relies on the data structure in the associated BotUser

17 years agoNew Auth Framework: dream about auto-notifying hashes, and use #replace() when loadin...
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:40 +0000 (01:50 +0000)] 
New Auth Framework: dream about auto-notifying hashes, and use #replace() when loading data

17 years agoNew Auth Framework: BotUser data is now actually saved/restored
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:38 +0000 (01:50 +0000)] 
New Auth Framework: BotUser data is now actually saved/restored

17 years agoNew Auth Framework, New Irc Framework: convenience methods for Irc::User to retrieve...
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:37 +0000 (01:50 +0000)] 
New Auth Framework, New Irc Framework: convenience methods for Irc::User to retrieve the associated BotUser and its data

17 years agoNew Auth Framework: BotUser can now store generic data
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:33 +0000 (01:50 +0000)] 
New Auth Framework: BotUser can now store generic data

17 years agoNew Auth Framework: BotUser transiency is now checked with #transient?
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:32 +0000 (01:50 +0000)] 
New Auth Framework: BotUser transiency is now checked with #transient?

17 years agoNew Auth Framework: transient netmask finetuning
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:30 +0000 (01:50 +0000)] 
New Auth Framework: transient netmask finetuning

17 years agoNew Auth Framework: no need to have TransientBotUser as a separate class
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:29 +0000 (01:50 +0000)] 
New Auth Framework: no need to have TransientBotUser as a separate class

17 years agoNew Auth Framework: use #to_irc_netmask() instead of Netmask.new()
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:27 +0000 (01:50 +0000)] 
New Auth Framework: use #to_irc_netmask() instead of Netmask.new()

17 years agoNew Irc Framework: Netmask-to-Netmask conversion should offer a default server and...
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:26 +0000 (01:50 +0000)] 
New Irc Framework: Netmask-to-Netmask conversion should offer a default server and casemap

17 years agoNew Irc Framework: ident methods synonyms for user for Irc::Netmask
Giuseppe Bilotta [Tue, 4 Sep 2007 01:50:24 +0000 (01:50 +0000)] 
New Irc Framework: ident methods synonyms for user for Irc::Netmask

17 years agoNew Auth Framework: TransientBotUser management
Giuseppe Bilotta [Sun, 2 Sep 2007 17:17:39 +0000 (17:17 +0000)] 
New Auth Framework: TransientBotUser management

A TransientBotUser can only be created with an associated Irc::User or Irc::Netmask.

If an Irc::User cannot be logged in as a normal BotUser, TransitentBotUsers are tried.
Optionally, a TransientBotUser can be created automatically.

17 years agoNew Irc Framework: make Netmask.new(somenetmask) work
Giuseppe Bilotta [Sun, 2 Sep 2007 17:17:38 +0000 (17:17 +0000)] 
New Irc Framework: make Netmask.new(somenetmask) work

17 years agoNew Auth Framework: introducing transient botusers
Giuseppe Bilotta [Sun, 2 Sep 2007 17:17:35 +0000 (17:17 +0000)] 
New Auth Framework: introducing transient botusers

17 years agomessage.rb: convenience method to get the botuser corresponding the message source
Giuseppe Bilotta [Sun, 2 Sep 2007 15:41:24 +0000 (15:41 +0000)] 
message.rb: convenience method to get the botuser corresponding the message source

17 years agoregistry.rb: suppress warning when @recovery is not defined
Giuseppe Bilotta [Sun, 2 Sep 2007 10:10:10 +0000 (10:10 +0000)] 
registry.rb: suppress warning when @recovery is not defined

17 years agoplugins.rb: use fast delegation hash
Giuseppe Bilotta [Sun, 2 Sep 2007 09:30:13 +0000 (09:30 +0000)] 
plugins.rb: use fast delegation hash

We delegate common hooks through the fast-delegation hash, and revert to
brute-force querying for everything else. Beware that this may breaks plugins
which add/remove delegatable methods at runtime, but no such plugin is
currently used (AFAIK).

17 years agoircbot.rb: correct Exception#pretty_print() definition
Giuseppe Bilotta [Sun, 2 Sep 2007 09:30:11 +0000 (09:30 +0000)] 
ircbot.rb: correct Exception#pretty_print() definition

17 years agoplugins.rb: set up fast delegation hash
Giuseppe Bilotta [Sun, 2 Sep 2007 09:30:08 +0000 (09:30 +0000)] 
plugins.rb: set up fast delegation hash

Delegating a message requires checking if each of the loaded plugins
responds to a given method. This can be time consuming when many
plugins are loaded.

We set up a hash that maps each commonly delegated method to the list of
plugins that respond to it.

17 years agoplugins.rb: minor #delegate() optimization
Giuseppe Bilotta [Sun, 2 Sep 2007 09:30:06 +0000 (09:30 +0000)] 
plugins.rb: minor #delegate() optimization

17 years agoircbot.rb: add '/rbot' to the SOURCE_URL
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:36 +0000 (07:16 +0000)] 
ircbot.rb: add '/rbot' to the SOURCE_URL

17 years agoconfig botmodule: support CTCP commands VERSION and SOURCE
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:33 +0000 (07:16 +0000)] 
config botmodule: support CTCP commands VERSION and SOURCE

17 years agoRefactor version string construction
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:28 +0000 (07:16 +0000)] 
Refactor version string construction

17 years ago* move 'version' help to the module that actually supports the command
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:24 +0000 (07:16 +0000)] 
* move 'version' help to the module that actually supports the command

17 years ago* CTCP replies always use the same CTCP command. Use the new syntax to reply to CTCP...
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:22 +0000 (07:16 +0000)] 
* CTCP replies always use the same CTCP command. Use the new syntax to reply to CTCP PING and TIME commands in basics

17 years ago+ ctcp_listen plugin delegate
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:17 +0000 (07:16 +0000)] 
+ ctcp_listen plugin delegate

17 years ago* (message.rb) CTCP commands may have no parameters
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:12 +0000 (07:16 +0000)] 
* (message.rb) CTCP commands may have no parameters

17 years ago+ cleaner support for CTCP commands
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:10 +0000 (07:16 +0000)] 
+ cleaner support for CTCP commands

17 years agobotuser.rb: fix typo in debug message
Giuseppe Bilotta [Sun, 2 Sep 2007 07:16:04 +0000 (07:16 +0000)] 
botuser.rb: fix typo in debug message

17 years ago* (ircsocket) removed timer, added writer thread, refactored writer logic a bit
Dmitry Kim [Sat, 1 Sep 2007 10:48:44 +0000 (10:48 +0000)] 
* (ircsocket) removed timer, added writer thread, refactored writer logic a bit

17 years ago* (plugins/grouphug) thread, don't block (tm)
Dmitry Kim [Fri, 31 Aug 2007 23:59:02 +0000 (23:59 +0000)] 
* (plugins/grouphug) thread, don't block (tm)

17 years ago* (timer) stop the bot timer for shutdown / rescan
Dmitry Kim [Fri, 31 Aug 2007 00:12:22 +0000 (00:12 +0000)] 
* (timer) stop the bot timer for shutdown / rescan

17 years agorss plugin: don't care if reschedule fails
Giuseppe Bilotta [Thu, 30 Aug 2007 22:49:05 +0000 (22:49 +0000)] 
rss plugin: don't care if reschedule fails

A feed watcher may fail to reschedule, for example if it was stopped
before completion. Fail graciously warning the user.

17 years agoUpdated chucknorris file
Chris Gahan [Thu, 30 Aug 2007 22:35:58 +0000 (22:35 +0000)] 
Updated chucknorris file

17 years ago* (delicious) typo fixed
Dmitry Kim [Thu, 30 Aug 2007 20:37:01 +0000 (20:37 +0000)] 
* (delicious) typo fixed

17 years ago* (message.rb) dear tango_! i think i know what r1073 was. here's my version.
Dmitry Kim [Thu, 30 Aug 2007 20:02:17 +0000 (20:02 +0000)] 
* (message.rb) dear tango_! i think i know what r1073 was. here's my version.

17 years ago* (timers) failures made more verbose; reverted timer.block()s in ircbot.rb
Dmitry Kim [Thu, 30 Aug 2007 19:35:23 +0000 (19:35 +0000)] 
* (timers) failures made more verbose; reverted timer.block()s in ircbot.rb

17 years ago!!! (message.rb) dear tango_! i have no idea what r1073 is! -jsn.
Dmitry Kim [Thu, 30 Aug 2007 18:31:24 +0000 (18:31 +0000)] 
!!! (message.rb) dear tango_! i have no idea what r1073 is! -jsn.

17 years ago* (ircbot) block autosave timer during rescan/restart
Dmitry Kim [Thu, 30 Aug 2007 18:16:19 +0000 (18:16 +0000)] 
* (ircbot) block autosave timer during rescan/restart

17 years agocore/config: remove leftover heavy-load debug line
Giuseppe Bilotta [Thu, 30 Aug 2007 17:41:04 +0000 (17:41 +0000)] 
core/config: remove leftover heavy-load debug line

17 years agodbhash.rb: fix stupid typo
Giuseppe Bilotta [Thu, 30 Aug 2007 16:47:40 +0000 (16:47 +0000)] 
dbhash.rb: fix stupid typo

17 years agomessage.rb: try to handle situations where the source isn't an Irc::User
Giuseppe Bilotta [Thu, 30 Aug 2007 16:47:38 +0000 (16:47 +0000)] 
message.rb: try to handle situations where the source isn't an Irc::User

17 years ago+ (timer) comments + documentation
Dmitry Kim [Thu, 30 Aug 2007 11:25:23 +0000 (11:25 +0000)] 
+ (timer) comments + documentation