summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-08-21geoip plugin: only retrieve host info once on WHOISGiuseppe Bilotta
2008-08-21geoip plugin: thread commandGiuseppe Bilotta
2008-08-19IRC Socket: documentation cleanupGiuseppe Bilotta
2008-08-19IRC socket: minor flood_send logic fixesGiuseppe Bilotta
2008-08-19IRC socket: get rid of delay/burstGiuseppe Bilotta
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.)
2008-08-13geoip plugin: fixed host regexRaine Virta
2008-08-13geoip plugin: had to change host name of the new lookup serverRaine Virta
2008-08-13nickrecover plugin: work more than once per sessionGiuseppe Bilotta
2008-08-13message.rb: fix message addressing logicGiuseppe Bilotta
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.
2008-08-13geoip plugin: new service for geoip-lookup along with some other enhancementsRaine Virta
2008-08-11geoip plugin: now stacking whois requests to prevent overlapsRaine Virta
2008-08-11geoip plugin: added nick based network-wide lookup and fixed some charset issuesRaine Virta
2008-08-11rfc2812: always return the actual Channel or User when handledGiuseppe Bilotta
For consistency, all delegations now return the actual Channel object in data[:channel] and the actual User object in data[:nick].
2008-08-11rfc2812: handle ERR_NOSUCHNICK and ERR_NOSUCHCHANNELGiuseppe Bilotta
Delete the corresponding user/channel from the server list (if present), and notify the client about the error.
2008-08-11rfc2812: create channels and users for al commands when neededGiuseppe Bilotta
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.
2008-08-11geoip pluginRaine Virta
2008-08-10irclog core module: rename old logs when switching from dir to fileGiuseppe Bilotta
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).
2008-08-10irclog core module: skip, don't die when unable to open logfileGiuseppe Bilotta
2008-08-10+ handle WHOIS queriesGiuseppe Bilotta
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.
2008-08-10rfc2812.rb: support RPL_AWAY replyGiuseppe Bilotta
2008-08-09+ support channel URL and creation timeGiuseppe Bilotta
2008-08-09quakeauth plugin: don't identify on connect if we're not on quakenetGiuseppe Bilotta
2008-08-09quakeauth plugin: don't error out when identifying with m == nilGiuseppe Bilotta
2008-08-09message.rb: correct @plainmessage and @message for CTCP messagesGiuseppe Bilotta
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.
2008-08-09Start working on 0.9.13Giuseppe Bilotta
2008-08-08Version 0.9.12Giuseppe Bilotta
2008-08-08lastfm plugin: support 'lastfm username' as the help suggestsGiuseppe Bilotta
2008-08-08quakeauth plugin v2Raine Virta
This patch introduces the ability for the bot to register itself to the Q bot, together with a number of other enhancements.
2008-08-08irclog core module: double-percent the {where} in irclog.filename_formatGiuseppe Bilotta
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}.
2008-08-08markov plugin: always plain replies when chipping inGiuseppe Bilotta
2008-08-08plugins.rb: use IO.read instead of readlins+join gimmicksGiuseppe Bilotta
2008-08-08wow plugin: return String form of realm from get_realm_statusGiuseppe Bilotta
This is needed to prevent an error from being raised when core.reply_with_nick is true
2008-08-07wow plugin: fix realm extraction xpathGiuseppe Bilotta
2008-08-06wow plugin: message tweaksGiuseppe Bilotta
2008-08-06wow plugin: rbotify XML retrievalGiuseppe Bilotta
2008-08-06qauth plugin: stricter default permissions on commandsGiuseppe Bilotta
2008-08-06qauth plugin: typos in helpGiuseppe Bilotta
2008-08-06PO updateGiuseppe Bilotta
2008-08-06nickserv plugin: regexp tweaks and case insensitivityGiuseppe Bilotta
2008-08-06basics: option to join channel after identification is confirmedGiuseppe Bilotta
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.
2008-08-06markov plugin: don't echo a line a line that is just a substring of the ↵Giuseppe Bilotta
input line
2008-08-06markov plugin: configurable maximum number of wordsGiuseppe Bilotta
2008-08-06markov plugin: use symbol when deleting obsolete config keyGiuseppe Bilotta
2008-08-05irclog core module: log rotationGiuseppe Bilotta
2008-08-03iplookup plugin: userip is not implemented yet, say itGiuseppe Bilotta
2008-08-03iplookup plugin: support IPv6 tooGiuseppe Bilotta
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.
2008-08-03* fix ominous bug in Regexp::IP_ADDRGiuseppe Bilotta
2008-08-03nickrecover plugin: improve logic to start/stop recoveryGiuseppe Bilotta
2008-08-03iplookup plugin: don't blockGiuseppe Bilotta
2008-08-03markov plugin: add ability to ignore channels and not just single usersGiuseppe Bilotta