Giuseppe Bilotta [Fri, 5 Sep 2008 12:57:46 +0000 (14:57 +0200)]
IRC refactoring: casemaps
Giuseppe Bilotta [Fri, 5 Sep 2008 12:30:01 +0000 (14:30 +0200)]
Move irc.rb out of the rbot tree
Giuseppe Bilotta [Sun, 4 Jan 2009 21:02:07 +0000 (22:02 +0100)]
del.icio.us plugin: bailout early if not configured
Giuseppe Bilotta [Sun, 4 Jan 2009 01:28:54 +0000 (02:28 +0100)]
dict plugin: update De Mauro URL
The old dictionary has moved to old.demauroparavia.it; update URLs
accordingly.
Raine Virta [Wed, 31 Dec 2008 12:39:40 +0000 (14:39 +0200)]
url plugin: added a config option for displaying link info only on specific channels
Giuseppe Bilotta [Sun, 28 Dec 2008 12:36:13 +0000 (13:36 +0100)]
rss plugin: typo in help
dmitry kim [Mon, 29 Dec 2008 01:38:00 +0000 (04:38 +0300)]
* (timer) ignore blocked actions .next() :/
dmitry kim [Mon, 29 Dec 2008 00:57:42 +0000 (03:57 +0300)]
* (timer.rb) race condition on @actions.each() fixed (thanks, Mike`)
Giuseppe Bilotta [Sun, 28 Dec 2008 12:07:39 +0000 (13:07 +0100)]
plugins: raise a descriptive LoadError when the db is corrupt on load
Giuseppe Bilotta [Tue, 16 Dec 2008 00:55:44 +0000 (01:55 +0100)]
utils.rb: Utils.age_string to replace distance_of_time_in_words
We define a new age_string function which is a cleaner version of
distance_of_time_in_words. The latter gets removed as its only
in-tree usage was from timeago (which is the UI version that should
be used by plugins anyway).
Utils.timeago gets a revamp too, exploiting the new age_string function.
Giuseppe Bilotta [Tue, 16 Dec 2008 00:25:03 +0000 (01:25 +0100)]
utils.rb: fix Utils.timeago for explicit date output
Giuseppe Bilotta [Tue, 16 Dec 2008 00:18:17 +0000 (01:18 +0100)]
utils.rb: fix Utils.distance_of_time_in_words for negative offsets
Giuseppe Bilotta [Fri, 12 Dec 2008 19:59:34 +0000 (20:59 +0100)]
ircsocket: tunable IRC penalty
Giuseppe Bilotta [Fri, 12 Dec 2008 20:32:34 +0000 (21:32 +0100)]
ircsocket: clean up opt parsing
Irc::Socket initialization now always has opt as last parameter, so
don't bother checking if it's a Hash.
dmitry kim [Wed, 10 Dec 2008 18:42:27 +0000 (21:42 +0300)]
* (httputil) provide an informative error message for non-http urls
dmitry kim [Thu, 20 Nov 2008 22:24:54 +0000 (01:24 +0300)]
* (core/unicode) validate encoding.charsets with Iconv
dmitry kim [Thu, 20 Nov 2008 22:27:38 +0000 (01:27 +0300)]
* fix config validation diagnostics for ArrayValue
Giuseppe Bilotta [Thu, 20 Nov 2008 14:17:27 +0000 (15:17 +0100)]
rss plugin: prevent double UTF-8 deconding
The rss parser looks at the encoding specified into the XML file and
converts everything to UTF-8. Since we do the UTF-8 conversion
ourselves, monkey-patch the XML 'encoding' declaration to claim it's
UTF-8 already (as it actually is).
Giuseppe Bilotta [Mon, 17 Nov 2008 15:37:57 +0000 (16:37 +0100)]
azgame plugin: support autoadding words to wordlist
When the game is started with a wordlist it's possible to specify a
language to use for existence of words. When a word is not found in the
wordlist, it's checked against the given language check function, and if
present it's added to a specific file (autoadd-#{language}), which is
also used on load to choose the word to pick.
Giuseppe Bilotta [Mon, 17 Nov 2008 14:46:39 +0000 (15:46 +0100)]
azgame plugin: sort wordlist on load
Giuseppe Bilotta [Mon, 17 Nov 2008 00:34:36 +0000 (01:34 +0100)]
azgame plugin: strip BOM during wordlist loading
Giuseppe Bilotta [Mon, 17 Nov 2008 00:07:22 +0000 (01:07 +0100)]
azgame plugin: borked wordlist loading with previous patch
Giuseppe Bilotta [Sun, 16 Nov 2008 23:30:36 +0000 (00:30 +0100)]
azgame plugin: show available languages and wordlists in help
Giuseppe Bilotta [Sun, 16 Nov 2008 23:06:08 +0000 (00:06 +0100)]
azgame plugin: generic wordlist mechanism
Make the wordlist mechanism general. Any language which has no special
support can be used, as long as a wordlist is provided.
Giuseppe Bilotta [Tue, 11 Nov 2008 19:29:29 +0000 (20:29 +0100)]
geoip plugin: add localization files to the repo
Giuseppe Bilotta [Tue, 11 Nov 2008 19:27:30 +0000 (20:27 +0100)]
Update PO files
Giuseppe Bilotta [Tue, 11 Nov 2008 19:21:29 +0000 (20:21 +0100)]
UNO plugin: handle empty top lists
Giuseppe Bilotta [Tue, 11 Nov 2008 19:13:41 +0000 (20:13 +0100)]
UNO plugin: add top and topwin commands to help
Giuseppe Bilotta [Mon, 3 Nov 2008 22:05:01 +0000 (23:05 +0100)]
script plugin: improve help
Giuseppe Bilotta [Mon, 3 Nov 2008 22:01:45 +0000 (23:01 +0100)]
script plugin: script allow/deny high level UI
Giuseppe Bilotta [Mon, 3 Nov 2008 21:38:35 +0000 (22:38 +0100)]
auth botmodule: auth_allow_deny() accepts an optional :auth_path parameter
Giuseppe Bilotta [Mon, 3 Nov 2008 21:33:19 +0000 (22:33 +0100)]
script plugin: per-script permissions
Giuseppe Bilotta [Mon, 3 Nov 2008 20:37:34 +0000 (21:37 +0100)]
script plugin: hook on message() rather than listen()
Giuseppe Bilotta [Mon, 27 Oct 2008 21:59:07 +0000 (22:59 +0100)]
UNO plugin: give cards to correct player at endgame
If the winner played a Reverse in response to a picker, the previous
player should pick the cards, and not the next one. This is not really
important at the moment because we score by giving points to the winner
instead of taking them from losers, but we fix it for correctness. It'll
be especially useful when we'll implement the other scoring too.
Casey Link [Mon, 27 Oct 2008 19:54:16 +0000 (15:54 -0400)]
* (lastfm) fix a bug resulting in the change of the lastfm api output. now_playing works again
Lastfm removed the <date> element from track's which are currently being played, which caused the plugin to die. Now we detect if the <date> element exists.
Casey Link [Mon, 27 Oct 2008 19:53:26 +0000 (15:53 -0400)]
* (lastfm) change the interface for associating an irc nick with a lastfm user. this way it is more intuitive.
Casey Link [Sat, 25 Oct 2008 17:46:35 +0000 (13:46 -0400)]
* (grouphug) fix for grouphug layout changes
Giuseppe Bilotta [Mon, 27 Oct 2008 13:34:50 +0000 (14:34 +0100)]
url plugin: only handle URls that have something past the protocol
Giuseppe Bilotta [Fri, 17 Oct 2008 16:01:23 +0000 (18:01 +0200)]
Start working on 0.9.15
Giuseppe Bilotta [Fri, 17 Oct 2008 07:42:46 +0000 (09:42 +0200)]
irclog: timestamp_format config option
Giuseppe Bilotta [Thu, 16 Oct 2008 19:35:52 +0000 (21:35 +0200)]
tag-release: abort on error
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