]>
git.netwichtig.de Git - user/henk/code/ruby/rbot.git/log
Giuseppe Bilotta [Wed, 13 Aug 2008 04:06:33 +0000 (06:06 +0200)]
message.rb: fix message addressing logic
IRC messages which are not PRIVMSG or NOTICE (i.e. not UserMessage) are
'addressed' to the bot when they originate from it.
Rather than putting this logic in each one of them (and forgetting about
it for some, e.g. NICK messages), put it in BasicUserMessage. Compensate
by always setting @address in UserMessage to test against target
instead.
Raine Virta [Wed, 13 Aug 2008 01:31:31 +0000 (04:31 +0300)]
geoip plugin: new service for geoip-lookup along with some other enhancements
Raine Virta [Mon, 11 Aug 2008 17:19:51 +0000 (20:19 +0300)]
geoip plugin: now stacking whois requests to prevent overlaps
Raine Virta [Mon, 11 Aug 2008 16:11:27 +0000 (19:11 +0300)]
geoip plugin: added nick based network-wide lookup and fixed some charset issues
Giuseppe Bilotta [Mon, 11 Aug 2008 07:10:23 +0000 (09:10 +0200)]
rfc2812: always return the actual Channel or User when handled
For consistency, all delegations now return the actual Channel object in
data[:channel] and the actual User object in data[:nick].
Giuseppe Bilotta [Mon, 11 Aug 2008 07:00:18 +0000 (09:00 +0200)]
rfc2812: handle ERR_NOSUCHNICK and ERR_NOSUCHCHANNEL
Delete the corresponding user/channel from the server list (if present),
and notify the client about the error.
Giuseppe Bilotta [Mon, 11 Aug 2008 06:49:35 +0000 (08:49 +0200)]
rfc2812: create channels and users for al commands when needed
Always create a user or channel when we receive information about it.
This makes server message parsing much more robust (no more crashes
about NilClass not having user/channel methods) but has a few subtle
implications about the server state: for example, channels may exist in
the Server object even when the bot is not in the channel itself.
Raine Virta [Mon, 11 Aug 2008 01:08:49 +0000 (04:08 +0300)]
geoip plugin
Giuseppe Bilotta [Sun, 10 Aug 2008 12:42:11 +0000 (14:42 +0200)]
irclog core module: rename old logs when switching from dir to file
It may happen that a user changes from an irclog.filename_format where
some components are files to a format where they are directories (e.g.
from '%%{where}' to '%%{where}/%Y') or conversely. In this case, we
rename the existing file/dir by appending '.old.atime' to it (atime is
the actual file/dir access time).
Giuseppe Bilotta [Sun, 10 Aug 2008 12:12:08 +0000 (14:12 +0200)]
irclog core module: skip, don't die when unable to open logfile
Giuseppe Bilotta [Sat, 9 Aug 2008 23:43:32 +0000 (01:43 +0200)]
+ handle WHOIS queries
The bot now exposes a whois(nick) method to make WHOIS queries to the
server. The extended syntax whois(nick, server) is also supported,
allowing another server to be queried (this is useful to retrieve info
which is only available on nick's server, such as idle time and signon
date).
Most if not all RFC-compliant replies are handled, although some of the
data received is currently ignored. Non-RFC extended replies such as
nickserv identification status are not hanlded yet, since they are
highly server-specific, both in numeric reply choice (e.g. 307 vs 320)
and in reply message syntax and meaning.
A new WhoisMessage is also introduced, for plugin delegation. The source
is the originating server, the target is the user for which information
was requested. A #whois() method is provided holding all retrieved
information.
Giuseppe Bilotta [Sat, 9 Aug 2008 22:08:42 +0000 (00:08 +0200)]
rfc2812.rb: support RPL_AWAY reply
Giuseppe Bilotta [Sat, 9 Aug 2008 21:26:03 +0000 (23:26 +0200)]
+ support channel URL and creation time
Giuseppe Bilotta [Sat, 9 Aug 2008 21:07:37 +0000 (23:07 +0200)]
quakeauth plugin: don't identify on connect if we're not on quakenet
Giuseppe Bilotta [Sat, 9 Aug 2008 21:03:44 +0000 (23:03 +0200)]
quakeauth plugin: don't error out when identifying with m == nil
Giuseppe Bilotta [Sat, 9 Aug 2008 18:25:41 +0000 (20:25 +0200)]
message.rb: correct @plainmessage and @message for CTCP messages
After CTCP parsing, @plainmessage was not defined correctly (as it still
contained the CTCP command), and @plainmessage and @message were not
being cleaned up correctly.
This manifested itself e.g. with spurious \001ACTION and other strange
unusual byte sequence popping up in markov-generated text.
Fix by redefining @plainmessage and @message appropriately in CTCP
handling.
Giuseppe Bilotta [Sat, 9 Aug 2008 18:23:58 +0000 (20:23 +0200)]
Start working on 0.9.13
Giuseppe Bilotta [Fri, 8 Aug 2008 14:14:59 +0000 (16:14 +0200)]
Version 0.9.12
Giuseppe Bilotta [Fri, 8 Aug 2008 12:13:10 +0000 (14:13 +0200)]
lastfm plugin: support 'lastfm username' as the help suggests
Raine Virta [Fri, 8 Aug 2008 11:49:38 +0000 (14:49 +0300)]
quakeauth plugin v2
This patch introduces the ability for the bot to register itself
to the Q bot, together with a number of other enhancements.
Giuseppe Bilotta [Fri, 8 Aug 2008 08:18:24 +0000 (10:18 +0200)]
irclog core module: double-percent the {where} in irclog.filename_format
strftime in Ruby versions before 1.8.7 gobbles % which are not part of a
known format directives, so %{where} must be double-escaped into
%%{where}.
Giuseppe Bilotta [Fri, 8 Aug 2008 07:36:21 +0000 (09:36 +0200)]
markov plugin: always plain replies when chipping in
Giuseppe Bilotta [Fri, 8 Aug 2008 07:26:39 +0000 (09:26 +0200)]
plugins.rb: use IO.read instead of readlins+join gimmicks
Giuseppe Bilotta [Fri, 8 Aug 2008 07:18:10 +0000 (09:18 +0200)]
wow plugin: return String form of realm from get_realm_status
This is needed to prevent an error from being raised when
core.reply_with_nick is true
Giuseppe Bilotta [Wed, 6 Aug 2008 22:08:56 +0000 (00:08 +0200)]
wow plugin: fix realm extraction xpath
Giuseppe Bilotta [Wed, 6 Aug 2008 21:54:43 +0000 (23:54 +0200)]
wow plugin: message tweaks
Giuseppe Bilotta [Wed, 6 Aug 2008 21:53:47 +0000 (23:53 +0200)]
wow plugin: rbotify XML retrieval
Giuseppe Bilotta [Wed, 6 Aug 2008 21:23:34 +0000 (23:23 +0200)]
qauth plugin: stricter default permissions on commands
Giuseppe Bilotta [Wed, 6 Aug 2008 21:18:12 +0000 (23:18 +0200)]
qauth plugin: typos in help
Giuseppe Bilotta [Wed, 6 Aug 2008 20:02:13 +0000 (22:02 +0200)]
PO update
Giuseppe Bilotta [Wed, 6 Aug 2008 19:53:46 +0000 (21:53 +0200)]
nickserv plugin: regexp tweaks and case insensitivity
Giuseppe Bilotta [Wed, 6 Aug 2008 19:36:41 +0000 (21:36 +0200)]
basics: option to join channel after identification is confirmed
Sometimes it is necessary to wait for identification to be confirmed
before certain channels may be joined. In this case the option
irc.join_after_identify can be set to true, and the bot will wait for
nickserv to confirm the identification before joining any channels.
This solution is actually a rather ugly hack, but I can't think of a
better way to approach the problem without rewriting the whole
framework.
Giuseppe Bilotta [Wed, 6 Aug 2008 18:40:40 +0000 (20:40 +0200)]
markov plugin: don't echo a line a line that is just a substring of the input line
Giuseppe Bilotta [Wed, 6 Aug 2008 18:31:16 +0000 (20:31 +0200)]
markov plugin: configurable maximum number of words
Giuseppe Bilotta [Wed, 6 Aug 2008 07:00:04 +0000 (09:00 +0200)]
markov plugin: use symbol when deleting obsolete config key
Giuseppe Bilotta [Tue, 5 Aug 2008 20:39:28 +0000 (22:39 +0200)]
irclog core module: log rotation
Giuseppe Bilotta [Sun, 3 Aug 2008 08:06:26 +0000 (10:06 +0200)]
iplookup plugin: userip is not implemented yet, say it
Giuseppe Bilotta [Sun, 3 Aug 2008 08:03:36 +0000 (10:03 +0200)]
iplookup plugin: support IPv6 too
This is achieved by moving the check for IP vs hostname in the
iplookup() method itself, and using the existing regexps to check if a
string is an IP or not.
Giuseppe Bilotta [Sun, 3 Aug 2008 08:03:06 +0000 (10:03 +0200)]
* fix ominous bug in Regexp::IP_ADDR
Giuseppe Bilotta [Sun, 3 Aug 2008 07:24:51 +0000 (09:24 +0200)]
nickrecover plugin: improve logic to start/stop recovery
Giuseppe Bilotta [Sun, 3 Aug 2008 07:13:26 +0000 (09:13 +0200)]
iplookup plugin: don't block
Giuseppe Bilotta [Sat, 2 Aug 2008 23:08:17 +0000 (01:08 +0200)]
markov plugin: add ability to ignore channels and not just single users
Giuseppe Bilotta [Sat, 2 Aug 2008 12:17:03 +0000 (14:17 +0200)]
+ tell git that *.rb files are Ruby scripts
Recent git versions allow custom hunk headers when using diff, so tell
git to use the ruby funcname for diffs on *.rb files.
Giuseppe Bilotta [Thu, 31 Jul 2008 23:10:02 +0000 (01:10 +0200)]
quotes plugin: lastquote command
Giuseppe Bilotta [Wed, 30 Jul 2008 21:45:53 +0000 (23:45 +0200)]
PO update
Giuseppe Bilotta [Wed, 30 Jul 2008 20:44:50 +0000 (22:44 +0200)]
nickrecover plugin: help
Giuseppe Bilotta [Wed, 30 Jul 2008 20:39:17 +0000 (22:39 +0200)]
nickrecover plugin: single irc.nick_retry config instead of multiple nickrecover.* entries
dmitry kim [Wed, 30 Jul 2008 20:26:50 +0000 (00:26 +0400)]
+ core/config: sort config search result
Giuseppe Bilotta [Wed, 30 Jul 2008 19:03:05 +0000 (21:03 +0200)]
rss plugin: don't claim to be using old data when we don't
Giuseppe Bilotta [Wed, 30 Jul 2008 18:29:32 +0000 (20:29 +0200)]
rss plugin: check for unhandled Atom feeds (old Ruby/RSS library)
Giuseppe Bilotta [Wed, 30 Jul 2008 18:01:12 +0000 (20:01 +0200)]
nickrecover plugin: initial commit
Giuseppe Bilotta [Wed, 30 Jul 2008 18:00:54 +0000 (20:00 +0200)]
message.rb: fix a thinko in inspect()
Giuseppe Bilotta [Wed, 30 Jul 2008 17:25:24 +0000 (19:25 +0200)]
+ @bot.wanted_nick stores the nick wanted by the bot
Giuseppe Bilotta [Wed, 30 Jul 2008 16:46:58 +0000 (18:46 +0200)]
* nick is handled by config, not basics
Giuseppe Bilotta [Wed, 30 Jul 2008 11:08:50 +0000 (13:08 +0200)]
ircbot.rb: server no-color modes can be configured
Giuseppe Bilotta [Tue, 29 Jul 2008 18:54:23 +0000 (20:54 +0200)]
auth core botmodule: advertise and act on mismatched master password
Giuseppe Bilotta [Sun, 27 Jul 2008 20:44:35 +0000 (22:44 +0200)]
Italian translation updates
Giuseppe Bilotta [Sat, 26 Jul 2008 11:52:01 +0000 (13:52 +0200)]
wheeloffortune plugin: don't fix a question when we say we can't
Giuseppe Bilotta [Sat, 26 Jul 2008 11:49:58 +0000 (13:49 +0200)]
wheeloffortune plugin: fix a bug where the wrong timing would get the QA stuck at always being the same
Giuseppe Bilotta [Tue, 29 Jul 2008 20:12:04 +0000 (22:12 +0200)]
Some enhancements to tag-release
Giuseppe Bilotta [Tue, 29 Jul 2008 20:13:35 +0000 (22:13 +0200)]
Start working on 0.9.12
Giuseppe Bilotta [Thu, 24 Jul 2008 14:51:28 +0000 (16:51 +0200)]
Version 0.9.11
Giuseppe Bilotta [Fri, 18 Jul 2008 13:01:03 +0000 (15:01 +0200)]
Version 0.9.11-rc3
Giuseppe Bilotta [Fri, 18 Jul 2008 12:02:08 +0000 (14:02 +0200)]
rss plugin: strip whitespace from link, category and author
dmitry kim [Fri, 18 Jul 2008 11:51:52 +0000 (15:51 +0400)]
* (plugins/rss) more item uid calculation fixes
Giuseppe Bilotta [Tue, 15 Jul 2008 22:38:04 +0000 (00:38 +0200)]
Revert "* use to_irc_netmask(:force => true) to unlink Netmasks from their Server to prevent errors when dumping users"
This reverts commit
9a1cf6a11b12c06cd925dd6a789ec98fe750c8ad , since it
was a hack to work around the undumpable Channel (and consequently
Server and Netmask) caused by
847a977b228b35f5ab281a31dd3724a4db887dff
"#any? and #all? methods for Channel#mode to check if modes are set"
and fixed by
8f8205310518e7b0626d657ba9667f7bfc745371 "Dumpable
definition of #any? and #all? methods for Channel#mode"
Giuseppe Bilotta [Tue, 15 Jul 2008 22:32:46 +0000 (00:32 +0200)]
Dumpable definition of #any? and #all? methods for Channel#mode
Commit
847a977b228b35f5ab281a31dd3724a4db887dff "#any? and #all? methods
for Channel#mode to check if modes are set" turned Channel into a
non-marshallable object because of singleton methods.
Revert the commit and define an ad-hoc ModeHash class with the any? and
all? methods, to make Channel#mode of that class.
Giuseppe Bilotta [Mon, 14 Jul 2008 10:05:29 +0000 (12:05 +0200)]
plugins.rb: commands were being delegated even from ignored messages
Giuseppe Bilotta [Sun, 13 Jul 2008 22:57:43 +0000 (00:57 +0200)]
* use to_irc_netmask(:force => true) to unlink Netmasks from their Server to prevent errors when dumping users
Yaohan Chen [Sat, 12 Jul 2008 00:43:18 +0000 (20:43 -0400)]
do not crash when GetText.cached= is not defined
Giuseppe Bilotta [Thu, 10 Jul 2008 12:26:58 +0000 (14:26 +0200)]
Version 0.9.11-rc2
dmitry kim [Thu, 10 Jul 2008 10:14:37 +0000 (14:14 +0400)]
* (plugins/rss) fixed item unique ids
Giuseppe Bilotta [Mon, 7 Jul 2008 21:38:01 +0000 (23:38 +0200)]
spell plugin: it's spell.path, not spell.program
Giuseppe Bilotta [Mon, 7 Jul 2008 21:37:03 +0000 (23:37 +0200)]
freshmeat plugin: trap errors raised during XML parse
Giuseppe Bilotta [Mon, 7 Jul 2008 21:14:24 +0000 (23:14 +0200)]
httputil: don't fail when b0rked servers put the charset in the content-encoding
Giuseppe Bilotta [Mon, 7 Jul 2008 20:52:21 +0000 (22:52 +0200)]
freshmeat plugin: fix feed retrieval
Yaohan Chen [Mon, 7 Jul 2008 19:27:46 +0000 (15:27 -0400)]
generate mo files only from existing po files, instead of for each plugin
Yaohan Chen [Mon, 7 Jul 2008 18:14:29 +0000 (14:14 -0400)]
use msginit to generate po file when it does not exist
Giuseppe Bilotta [Mon, 7 Jul 2008 16:04:46 +0000 (18:04 +0200)]
PO update
Giuseppe Bilotta [Mon, 7 Jul 2008 16:04:27 +0000 (18:04 +0200)]
Rakefile: ensure that the placeholder PACKAGE VERSION is properly replaced
Giuseppe Bilotta [Mon, 7 Jul 2008 15:22:30 +0000 (17:22 +0200)]
Rakefile: don't fail if .po or .pot file doesn't exist
Yaohan Chen [Mon, 7 Jul 2008 02:58:50 +0000 (22:58 -0400)]
mo files are no longer included in gem but built as extension
Giuseppe Bilotta [Sun, 6 Jul 2008 15:27:50 +0000 (17:27 +0200)]
autoop plugin: stricter default permissions
Giuseppe Bilotta [Fri, 4 Jul 2008 23:09:25 +0000 (01:09 +0200)]
lastfm plugin: fail more graciously when no event is returned
Giuseppe Bilotta [Fri, 4 Jul 2008 22:59:40 +0000 (00:59 +0200)]
lastfm plugin: some formatting changes for events
Giuseppe Bilotta [Fri, 4 Jul 2008 22:51:17 +0000 (00:51 +0200)]
lastfm plugin: document compare command
Giuseppe Bilotta [Fri, 4 Jul 2008 22:47:50 +0000 (00:47 +0200)]
lastfm plugin: properly use CGI.escape instead of wrong URI.escape
Giuseppe Bilotta [Fri, 4 Jul 2008 22:10:56 +0000 (00:10 +0200)]
lastfm plugin: quoting sux, bolding rox
Giuseppe Bilotta [Fri, 4 Jul 2008 22:09:01 +0000 (00:09 +0200)]
lastfm plugin: artist summary is HTML, IRC-ify it
Giuseppe Bilotta [Fri, 4 Jul 2008 22:02:32 +0000 (00:02 +0200)]
lastfm plugin: lastfm track search
Giuseppe Bilotta [Fri, 4 Jul 2008 16:14:54 +0000 (18:14 +0200)]
grouphug plugin: help text simplification
Casey Link [Fri, 4 Jul 2008 15:37:50 +0000 (11:37 -0400)]
grouphug plugin: add support for posting confessions with 'create' auth.
Giuseppe Bilotta [Thu, 3 Jul 2008 22:13:41 +0000 (00:13 +0200)]
lastfm plugin: reinstate 1.0 API functions for which we don't have a working 2.0 routine yet
Giuseppe Bilotta [Thu, 3 Jul 2008 19:57:18 +0000 (21:57 +0200)]
lastfm plugin: better handling missing album in playing info
Giuseppe Bilotta [Thu, 3 Jul 2008 17:19:41 +0000 (19:19 +0200)]
lastfm plugin: cleanup Event initialization and fix missing artist
Casey Link [Thu, 3 Jul 2008 16:46:23 +0000 (12:46 -0400)]
lastfm plugin: Tweak event handling, and add attendance to output.
Casey Link [Mon, 30 Jun 2008 23:44:05 +0000 (19:44 -0400)]
utils.rb: added timeago and distance_of_time_in_words functions
Casey Link [Thu, 3 Jul 2008 15:29:04 +0000 (11:29 -0400)]
lastfm plugin: a bit more polish. updated help, removed cruft.
Casey Link [Tue, 1 Jul 2008 04:05:22 +0000 (00:05 -0400)]
search plugin: added a gcount function to return the number of results in a google query
Casey Link [Tue, 1 Jul 2008 00:21:53 +0000 (20:21 -0400)]
lastfm.rb plugin: a minor bugfix and additional error handling case.