Giuseppe Bilotta [Thu, 16 Oct 2008 19:17:39 +0000 (21:17 +0200)]
Version 0.9.14
Giuseppe Bilotta [Thu, 16 Oct 2008 19:16:23 +0000 (21:16 +0200)]
Version rbot-0.9.14
Giuseppe Bilotta [Thu, 16 Oct 2008 10:55:24 +0000 (12:55 +0200)]
rss plugin: 'headlines' uses date if handle not present
When the feed handle is empty or not used (e.g. during rss show), the
headlines output filter will display the date before the title.
Giuseppe Bilotta [Thu, 16 Oct 2008 10:31:56 +0000 (12:31 +0200)]
rss plugin: strip feed title of initial/final whitespace
Giuseppe Bilotta [Thu, 16 Oct 2008 10:20:36 +0000 (12:20 +0200)]
rss plugin: 'headlines' output format
A simple output format that only provides feed titles, skipping all
other data, including the feed link. Requested by step on #rbot.
Giuseppe Bilotta [Thu, 16 Oct 2008 10:07:41 +0000 (12:07 +0200)]
rss plugin: use %{at} instead of @ in output filters
Giuseppe Bilotta [Tue, 14 Oct 2008 10:52:47 +0000 (12:52 +0200)]
UNO plugin: fix playable cards during picks
A bug in the logic allowed a +2 to be playable on a Reverse of the wrong
color (e.g. g+2, gr, r+2).
Giuseppe Bilotta [Mon, 13 Oct 2008 16:18:43 +0000 (18:18 +0200)]
httputil: don't raise on HTTPServer/ClientError
Giuseppe Bilotta [Mon, 6 Oct 2008 20:05:17 +0000 (22:05 +0200)]
figlet: strip first and last empty line(s)
Giuseppe Bilotta [Fri, 3 Oct 2008 21:15:56 +0000 (23:15 +0200)]
PO update
Giuseppe Bilotta [Wed, 24 Sep 2008 16:25:17 +0000 (18:25 +0200)]
IRC logging: only log nick/quits on the channels the bot is in
Giuseppe Bilotta [Wed, 24 Sep 2008 16:17:03 +0000 (18:17 +0200)]
ircbot.rb: fill was_on info when delegating sent QUIT
Giuseppe Bilotta [Wed, 24 Sep 2008 16:11:00 +0000 (18:11 +0200)]
irc.rb: User#channels method
Giuseppe Bilotta [Wed, 24 Sep 2008 15:42:13 +0000 (17:42 +0200)]
seen plugin: don't update seen info on topic info
dmitry kim [Fri, 5 Sep 2008 18:42:00 +0000 (22:42 +0400)]
+ plugins/games/quiz: '!quiz stop' command implemented
Giuseppe Bilotta [Fri, 5 Sep 2008 18:07:38 +0000 (20:07 +0200)]
quiet exception list
Keep a track of exceptions to a global 'quiet' command so that user can
use !quiet and !talk in here to make the bot only talk in one channel
without quiet-ing it by hand in each one of the other channels.
Giuseppe Bilotta [Fri, 5 Sep 2008 17:35:49 +0000 (19:35 +0200)]
message.rb: fix the fix to message addressing logic
This reverts commit
b6bd9a24014ac9fbc822e9051f216f0506f24cd5
"message.rb: fix message addressing logic" since it actually breaks the
validity for address? in a number of cases.
Instead, add proper @address setting to NickMessage which is the only
one getting it wrong presently.
Giuseppe Bilotta [Thu, 4 Sep 2008 12:43:53 +0000 (14:43 +0200)]
launch_here: fix svn version codepath
'up' was a leftover variabled since the code was in bin/rbot. Use
SCM_DIR instead.
Giuseppe Bilotta [Tue, 2 Sep 2008 12:55:36 +0000 (14:55 +0200)]
Version 0.9.13
Giuseppe Bilotta [Fri, 22 Aug 2008 15:57:13 +0000 (17:57 +0200)]
iplookup plugin: fix brokage from IPv6 support
Commit
ff949fe1c9dd0c179ecdce9340c04c05242d3a48 "iplookup plugin:
support IPv6 too" broke the main iplookup method by forgetting to
initialize reply correctly.
Fix it, and replace String#+= usage with String#<< which is more
efficient speed- and memory-wise.
Giuseppe Bilotta [Thu, 21 Aug 2008 18:34:22 +0000 (20:34 +0200)]
geoip plugin: only retrieve host info once on WHOIS
Giuseppe Bilotta [Thu, 21 Aug 2008 18:32:27 +0000 (20:32 +0200)]
geoip plugin: thread command
Giuseppe Bilotta [Tue, 19 Aug 2008 18:31:44 +0000 (20:31 +0200)]
IRC Socket: documentation cleanup
Giuseppe Bilotta [Tue, 19 Aug 2008 18:30:14 +0000 (20:30 +0200)]
IRC socket: minor flood_send logic fixes
Giuseppe Bilotta [Tue, 19 Aug 2008 18:19:45 +0000 (20:19 +0200)]
IRC socket: get rid of delay/burst
The penalty system should be enough to prevent the bot from being
disconnected because of excess flood, making the old sendq delay/burst
code unnecessary. So get rid of the latter altogether.
(If the penalty system as implemented ever happens to be insufficient as
implemented, it should just get fixed rather than rely on the sendq
delay/burst assistance.)
Raine Virta [Wed, 13 Aug 2008 13:31:49 +0000 (16:31 +0300)]
geoip plugin: fixed host regex
Raine Virta [Wed, 13 Aug 2008 13:00:55 +0000 (16:00 +0300)]
geoip plugin: had to change host name of the new lookup server
Giuseppe Bilotta [Wed, 13 Aug 2008 04:38:43 +0000 (06:38 +0200)]
nickrecover plugin: work more than once per session
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