rbot
16 years agoreaction plugin: new add syntax
Giuseppe Bilotta [Wed, 19 Sep 2007 20:45:26 +0000 (20:45 +0000)] 
reaction plugin: new add syntax

16 years agoreaction plugin: one-liner reply/reaction to in-channel messages/actions. Initial...
Giuseppe Bilotta [Wed, 19 Sep 2007 18:03:14 +0000 (18:03 +0000)] 
reaction plugin: one-liner reply/reaction to in-channel messages/actions. Initial commit

16 years agoircify_html: minimal support for li tags
Giuseppe Bilotta [Tue, 18 Sep 2007 23:40:46 +0000 (23:40 +0000)] 
ircify_html: minimal support for li tags

16 years agofirst_html_par: after-paragraph matches should prefer divs and spans to other elements
Giuseppe Bilotta [Tue, 18 Sep 2007 23:40:44 +0000 (23:40 +0000)] 
first_html_par: after-paragraph matches should prefer divs and spans to other elements

16 years agofirst_html_par: make Hpricot handling more robust
Giuseppe Bilotta [Tue, 18 Sep 2007 23:40:42 +0000 (23:40 +0000)] 
first_html_par: make Hpricot handling more robust

16 years agofirst_html_par: constify the 'after par' searches with Hpricot
Giuseppe Bilotta [Tue, 18 Sep 2007 17:31:29 +0000 (17:31 +0000)] 
first_html_par: constify the 'after par' searches with Hpricot

16 years agoutils: require 'hpricot' the second time, not 'htmlentities' again
Giuseppe Bilotta [Tue, 18 Sep 2007 17:31:28 +0000 (17:31 +0000)] 
utils: require 'hpricot' the second time, not 'htmlentities' again

16 years agofirst_html_par: it's doc.root.search, not doc.root.each
Giuseppe Bilotta [Tue, 18 Sep 2007 17:31:26 +0000 (17:31 +0000)] 
first_html_par: it's doc.root.search, not doc.root.each

16 years agofirst_html_par: build lists 'manually' when using Hpricot
Giuseppe Bilotta [Tue, 18 Sep 2007 17:31:24 +0000 (17:31 +0000)] 
first_html_par: build lists 'manually' when using Hpricot

Hpricot selectors (like doc/"css path") don't return elements in their natural (depth-first) order. Use custom searches from the root of the document to achieve this.

16 years agoHTML processing refactoring: remove obsolete comment
Giuseppe Bilotta [Tue, 18 Sep 2007 13:24:59 +0000 (13:24 +0000)] 
HTML processing refactoring: remove obsolete comment

16 years agoextends: String#ircify_html now has an option to obey non-breakable spaces or turn...
Giuseppe Bilotta [Tue, 18 Sep 2007 13:24:55 +0000 (13:24 +0000)] 
extends: String#ircify_html now has an option to obey non-breakable spaces or turn them into normal spaces

This option is used e.g. by the dict plugin to reduce the excessive whitespace in oxford entries.

16 years agodict plugin: echo oxford definitions
Giuseppe Bilotta [Tue, 18 Sep 2007 12:06:53 +0000 (12:06 +0000)] 
dict plugin: echo oxford definitions

16 years agodict plugin: oxford isn't british only anymore
Giuseppe Bilotta [Tue, 18 Sep 2007 12:06:52 +0000 (12:06 +0000)] 
dict plugin: oxford isn't british only anymore

16 years agodict plugin: fix demauro word existence check
Giuseppe Bilotta [Tue, 18 Sep 2007 12:06:50 +0000 (12:06 +0000)] 
dict plugin: fix demauro word existence check

16 years agodict plugin: demauro can actually have spaces in the leftmost part of the entry
Giuseppe Bilotta [Tue, 18 Sep 2007 12:06:48 +0000 (12:06 +0000)] 
dict plugin: demauro can actually have spaces in the leftmost part of the entry

16 years agohttputil: promote all Exceptions to RuntimeErrors so they can be caught with inline...
Giuseppe Bilotta [Tue, 18 Sep 2007 11:05:01 +0000 (11:05 +0000)] 
httputil: promote all Exceptions to RuntimeErrors so they can be caught with inline rescue

16 years agoHpricot first par: it's el[:class], not el.class
Giuseppe Bilotta [Tue, 18 Sep 2007 11:04:58 +0000 (11:04 +0000)] 
Hpricot first par: it's el[:class], not el.class

16 years agoHTML processing refactoring: url plugin: only add encoding and size information to...
Giuseppe Bilotta [Tue, 18 Sep 2007 07:05:48 +0000 (07:05 +0000)] 
HTML processing refactoring: url plugin: only add encoding and size information to pages with title if url.first_par is true

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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={})

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

16 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

16 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.

16 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

16 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

16 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

16 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

16 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

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

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

16 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

16 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)

16 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

16 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

16 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

16 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)

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

16 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'

16 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

16 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

16 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

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

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

16 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

16 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

16 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::*

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

16 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

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

16 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

16 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

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

16 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

16 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

16 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

16 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

16 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

16 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

16 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.

16 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

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

16 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

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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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?

16 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

16 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

16 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()

16 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

16 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

16 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.

16 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

16 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

16 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

16 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

16 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).

16 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

16 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.

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

16 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

16 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

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

16 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

16 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