summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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-05irclog core module: log rotationGiuseppe Bilotta
2008-08-03* fix ominous bug in Regexp::IP_ADDRGiuseppe Bilotta
2008-07-31+ core/config: sort config search resultdmitry kim
2008-07-30message.rb: fix a thinko in inspect()Giuseppe Bilotta
2008-07-30+ @bot.wanted_nick stores the nick wanted by the botGiuseppe Bilotta
2008-07-30* nick is handled by config, not basicsGiuseppe Bilotta
2008-07-30ircbot.rb: server no-color modes can be configuredGiuseppe Bilotta
2008-07-29auth core botmodule: advertise and act on mismatched master passwordGiuseppe Bilotta
2008-07-16Revert "* use to_irc_netmask(:force => true) to unlink Netmasks from their ↵Giuseppe Bilotta
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"
2008-07-16Dumpable definition of #any? and #all? methods for Channel#modeGiuseppe Bilotta
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.
2008-07-14plugins.rb: commands were being delegated even from ignored messagesGiuseppe Bilotta
2008-07-14* use to_irc_netmask(:force => true) to unlink Netmasks from their Server to ↵Giuseppe Bilotta
prevent errors when dumping users
2008-07-11do not crash when GetText.cached= is not definedYaohan Chen
2008-07-07httputil: don't fail when b0rked servers put the charset in the content-encodingGiuseppe Bilotta
2008-07-03utils.rb: added timeago and distance_of_time_in_words functionsCasey Link
2008-07-01Version 0.9.11-rc1Giuseppe Bilotta
2008-06-29message.rb: suppress warning about duplicate methodGiuseppe Bilotta
2008-06-29* fix handling of IDENTIFY_MSGGiuseppe Bilotta
When a server has IDENTIFY-MSG, we would expect identification in any PRIVMSG or NOTICE, even on those generated from the bot. This caused lots of spurious warnings, and would lead to mislogging when a bot-generated message started with + or -. Fix this by only handling IDENTIFY-MSG on server-generated messages.
2008-06-28ircbot.rb: @bot.topic() can also be used to retrieve topic information ↵Giuseppe Bilotta
instead of setting it
2008-06-28New IRC framework: allow RPL_TOPIC(_INFO) for channels we are not on, since ↵Giuseppe Bilotta
some networks allow it
2008-06-26ircbot.rb: make #mode()'s third argument optionalGiuseppe Bilotta
2008-06-26config.rb: localize git date in versionGiuseppe Bilotta
2008-06-26message.rb: saner \#inspect() for BasicUserMessage and derivativesGiuseppe Bilotta
2008-06-24allow multi-line (artificial) messages be delegated and handledYaohan Chen
2008-06-24extends.rb: suppress warningGiuseppe Bilotta
2008-06-24ircbot.rb: create the appropriate directories when updating botclass dir ↵Giuseppe Bilotta
from template
2008-06-24message handling: improve IRC format handling for received messagesGiuseppe Bilotta
Rather than stripping colors all around and keeping other format codes, we only strip initial and final formatting before parsing the message. We store the original, unstripped message in #logmessage() and a fully stripped copy of the message in #plainmessage() This means that most plugins will now have full formatting of arguments preserved, while stupid IRC usage of formatting whole lines will not interfere with bot usage. Plugins that need a fully stripped version of the message can still access it.
2008-06-24ircsocket.rb: use syswrite since ruby's buffered io is racyGiuseppe Bilotta
In some situations a PRIVMSG could be output twice in sequence with no intervening newline when using the Socket#puts function. Use syswrite to skip Ruby's buffered IO.
2008-06-24fake_message duplicates m.reply and m.in_thread from the :from messageYaohan Chen
this makes it possible to create a fake message, override its reply method in order to get its "return value", even if the fake message will be handled by creating another fake message.
2008-06-24fake messages will use the originating message's reply methodYaohan Chen
this allows shell plugin to capture replies of a command even if this command is run because of a fake message
2008-06-24ircbot.rb: copy missing template files on startupGiuseppe Bilotta
2008-06-24config.rb: system wide overrides in /etc/rbot.confGiuseppe Bilotta
2008-06-23Set GetText.cached = false so that mo files are reloaded when setting localeYaohan Chen
2008-06-23rfc2812.rb: skip unknown channel modes altogetherGiuseppe Bilotta
Some servers set non-advertized channel modes. Since we cannot handle them (as we don't know what type they are) and setting them crashes the bot, we remove them.
2008-06-23+ strip all colours and formatting when sending to a +c or +C channelGiuseppe Bilotta
2008-06-23#any? and #all? methods for Channel#mode to check if modes are setGiuseppe Bilotta
2008-06-23extends: define Array#shuffle(\!) only if not present already, and use ↵Giuseppe Bilotta
simpler definitions
2008-06-23rfc2812.rb: warn about unhandled numeric replies tooGiuseppe Bilotta
2008-06-23ircbot.rb: ask about current channel modes on joinGiuseppe Bilotta
2008-06-23rfc2812.rb: refactor MODE parsing to use it for RPL_CHANNELMODEIS (324) tooGiuseppe Bilotta
2008-06-20dbhash: dohGiuseppe Bilotta
2008-06-20dbhash.rb: slightly rework errors for failing to load bdbGiuseppe Bilotta
2008-06-20ircbot.rb: ensure that the logger is flushedGiuseppe Bilotta
If the bot fails to load (e.g. because of missing dependency) the user might miss the last error messages because the logger thread wouldn't reach completion. Ensure its closure in an END block.
2008-06-19rbotconfig: be aware that -git versions also have revision informationGiuseppe Bilotta
2008-06-18rfc2812: be compatible with ruby < 1.8.7Giuseppe Bilotta
String#each_char is only available in ruby 1.8.7, so use each_byte followed by .chr
2008-06-18rfc2812: fix MODE line parsingGiuseppe Bilotta
2008-06-18+ core/irclog: dedicated loggers threaddmitry kim
2008-06-18* ircbot: fix quiet/reset_quiet wrt missing argsdmitry kim
2008-06-17+ print the location of the debug log to stdout on startdmitry kim