rbot 0.9.10 → 0.9.12
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +22 -4
- data/COPYING +5 -18
- data/ChangeLog +396 -0
- data/README +23 -25
- data/REQUIREMENTS +58 -12
- data/Rakefile +215 -0
- data/bin/rbot +47 -25
- data/bin/rbot-remote +76 -0
- data/data/rbot/languages/french.lang +5 -5
- data/data/rbot/languages/german.lang +4 -4
- data/data/rbot/languages/italian.lang +53 -0
- data/data/rbot/languages/japanese.lang +43 -0
- data/data/rbot/languages/russian.lang +60 -60
- data/data/rbot/languages/traditional_chinese.lang +75 -0
- data/data/rbot/plugins/alias.rb +192 -0
- data/data/rbot/plugins/autoop.rb +74 -37
- data/data/rbot/plugins/autorejoin.rb +15 -5
- data/data/rbot/plugins/bans.rb +454 -150
- data/data/rbot/plugins/bash.rb +173 -31
- data/data/rbot/plugins/botsnack.rb +37 -0
- data/data/rbot/plugins/cal.rb +11 -2
- data/data/rbot/plugins/chanserv.rb +132 -0
- data/data/rbot/plugins/chucknorris.rb +2 -2
- data/data/rbot/plugins/chucknorris.yml.gz +0 -0
- data/data/rbot/plugins/debugger.rb +136 -0
- data/data/rbot/plugins/deepthoughts.rb +89 -95
- data/data/rbot/plugins/delicious.rb +109 -0
- data/data/rbot/plugins/dice.rb +77 -25
- data/data/rbot/plugins/dict.rb +243 -0
- data/data/rbot/plugins/dictclient.rb +211 -0
- data/data/rbot/plugins/digg.rb +2 -2
- data/data/rbot/plugins/excuse.rb +4 -4
- data/data/rbot/plugins/factoids.rb +506 -0
- data/data/rbot/plugins/figlet.rb +127 -18
- data/data/rbot/plugins/fish.rb +93 -33
- data/data/rbot/plugins/forecast.rb +40 -27
- data/data/rbot/plugins/fortune.rb +86 -11
- data/data/rbot/plugins/freshmeat.rb +46 -12
- data/data/rbot/plugins/games/azgame.rb +565 -0
- data/data/rbot/plugins/games/quiz.rb +961 -0
- data/data/rbot/plugins/games/roshambo.rb +62 -0
- data/data/rbot/plugins/{roulette.rb → games/roulette.rb} +58 -8
- data/data/rbot/plugins/games/shiritori.rb +485 -0
- data/data/rbot/plugins/games/uno.rb +1205 -0
- data/data/rbot/plugins/games/wheelfortune.rb +615 -0
- data/data/rbot/plugins/grouphug.rb +76 -22
- data/data/rbot/plugins/hl2.rb +97 -0
- data/data/rbot/plugins/host.rb +10 -1
- data/data/rbot/plugins/httpd.rb.disabled +1 -0
- data/data/rbot/plugins/imdb.rb +511 -47
- data/data/rbot/plugins/insult.rb +32 -37
- data/data/rbot/plugins/iplookup.rb +224 -224
- data/data/rbot/plugins/karma.rb +45 -21
- data/data/rbot/plugins/keywords.rb +258 -160
- data/data/rbot/plugins/lart.rb +126 -95
- data/data/rbot/plugins/lastfm.rb +421 -12
- data/data/rbot/plugins/linkbot.rb +75 -0
- data/data/rbot/plugins/markov.rb +103 -46
- data/data/rbot/plugins/math.rb +6 -5
- data/data/rbot/plugins/modes.rb +114 -0
- data/data/rbot/plugins/nickrecover.rb +97 -0
- data/data/rbot/plugins/nickserv.rb +111 -48
- data/data/rbot/plugins/nslookup.rb +15 -19
- data/data/rbot/plugins/plugin.header +11 -0
- data/data/rbot/plugins/quakeauth.rb +74 -11
- data/data/rbot/plugins/quotes.rb +189 -233
- data/data/rbot/plugins/reaction.rb +415 -0
- data/data/rbot/plugins/remind.rb +11 -15
- data/data/rbot/plugins/remotectl.rb +29 -0
- data/data/rbot/plugins/ri.rb +74 -0
- data/data/rbot/plugins/rot13.rb +16 -1
- data/data/rbot/plugins/rss.rb +1219 -585
- data/data/rbot/plugins/salut.rb +226 -0
- data/data/rbot/plugins/script.rb +184 -0
- data/data/rbot/plugins/search.rb +233 -0
- data/data/rbot/plugins/seen.rb +44 -40
- data/data/rbot/plugins/shortenurls.rb +93 -0
- data/data/rbot/plugins/slashdot.rb +49 -11
- data/data/rbot/plugins/spell.rb +37 -27
- data/data/rbot/plugins/theyfightcrime.rb +36 -39
- data/data/rbot/plugins/threat.rb +25 -22
- data/data/rbot/plugins/time.rb +135 -0
- data/data/rbot/plugins/topic.rb +107 -50
- data/data/rbot/plugins/translator.rb +360 -0
- data/data/rbot/plugins/tube.rb +28 -40
- data/data/rbot/plugins/twitter.rb +187 -0
- data/data/rbot/plugins/urban.rb +62 -53
- data/data/rbot/plugins/url.rb +193 -409
- data/data/rbot/plugins/usermodes.rb +26 -0
- data/data/rbot/plugins/wall.rb +60 -0
- data/data/rbot/plugins/weather.rb +254 -598
- data/data/rbot/plugins/wow.rb +41 -37
- data/data/rbot/plugins/wserver.rb +17 -25
- data/data/rbot/plugins/youtube.rb +237 -0
- data/data/rbot/templates/lart/{larts → larts-english} +0 -0
- data/data/rbot/templates/lart/larts-italian +25 -0
- data/data/rbot/templates/lart/larts-japanese +10 -0
- data/data/rbot/templates/lart/{praises → praises-english} +0 -0
- data/data/rbot/templates/lart/praises-italian +4 -0
- data/data/rbot/templates/lart/praises-japanese +3 -0
- data/data/rbot/templates/quiz/win_messages +11 -0
- data/data/rbot/templates/salut/salut-english +40 -0
- data/data/rbot/templates/salut/salut-french +29 -0
- data/data/rbot/templates/salut/salut-italian +51 -0
- data/data/rbot/templates/salut/salut-japanese +31 -0
- data/lib/rbot/botuser.rb +940 -0
- data/lib/rbot/config-compat.rb +23 -0
- data/lib/rbot/config.rb +211 -276
- data/lib/rbot/core/auth.rb +1063 -0
- data/lib/rbot/core/basics.rb +214 -0
- data/lib/rbot/core/config.rb +330 -0
- data/lib/rbot/core/filters_ui.rb +64 -0
- data/lib/rbot/core/irclog.rb +292 -0
- data/lib/rbot/core/remote.rb +401 -0
- data/lib/rbot/core/unicode.rb +91 -0
- data/lib/rbot/core/userdata.rb +200 -0
- data/lib/rbot/core/utils/extends.rb +444 -0
- data/lib/rbot/core/utils/filters.rb +154 -0
- data/lib/rbot/core/utils/httputil.rb +689 -0
- data/lib/rbot/core/utils/utils.rb +717 -0
- data/lib/rbot/dbhash.rb +30 -9
- data/lib/rbot/irc.rb +1966 -0
- data/lib/rbot/ircbot.rb +816 -675
- data/lib/rbot/ircsocket.rb +246 -232
- data/lib/rbot/language.rb +86 -8
- data/lib/rbot/load-gettext.rb +154 -0
- data/lib/rbot/maskdb.rb +162 -0
- data/lib/rbot/message.rb +392 -65
- data/lib/rbot/messagemapper.rb +438 -94
- data/lib/rbot/pkgconfig.rb +6 -0
- data/lib/rbot/plugins.rb +713 -172
- data/lib/rbot/post-config.rb +1 -0
- data/lib/rbot/rbotconfig.rb +31 -12
- data/lib/rbot/registry.rb +79 -48
- data/lib/rbot/rfc2812.rb +927 -519
- data/lib/rbot/timer.rb +232 -167
- data/po/en_US/rbot-alias.po +82 -0
- data/po/en_US/rbot-autoop.po +0 -0
- data/po/en_US/rbot-autorejoin.po +0 -0
- data/po/en_US/rbot-azgame.po +200 -0
- data/po/en_US/rbot-bans.po +0 -0
- data/po/en_US/rbot-bash.po +0 -0
- data/po/en_US/rbot-botsnack.po +0 -0
- data/po/en_US/rbot-cal.po +3 -0
- data/po/en_US/rbot-chanserv.po +0 -0
- data/po/en_US/rbot-chucknorris.po +0 -0
- data/po/en_US/rbot-debugger.po +0 -0
- data/po/en_US/rbot-deepthoughts.po +0 -0
- data/po/en_US/rbot-delicious.po +0 -0
- data/po/en_US/rbot-dice.po +0 -0
- data/po/en_US/rbot-dict.po +0 -0
- data/po/en_US/rbot-dictclient.po +124 -0
- data/po/en_US/rbot-digg.po +0 -0
- data/po/en_US/rbot-eightball.po +0 -0
- data/po/en_US/rbot-excuse.po +0 -0
- data/po/en_US/rbot-factoids.po +107 -0
- data/po/en_US/rbot-figlet.po +36 -0
- data/po/en_US/rbot-fish.po +0 -0
- data/po/en_US/rbot-forecast.po +0 -0
- data/po/en_US/rbot-fortune.po +0 -0
- data/po/en_US/rbot-freshmeat.po +0 -0
- data/po/en_US/rbot-grouphug.po +18 -0
- data/po/en_US/rbot-hl2.po +0 -0
- data/po/en_US/rbot-host.po +3 -0
- data/po/en_US/rbot-imdb.po +0 -0
- data/po/en_US/rbot-insult.po +0 -0
- data/po/en_US/rbot-iplookup.po +0 -0
- data/po/en_US/rbot-karma.po +0 -0
- data/po/en_US/rbot-keywords.po +24 -0
- data/po/en_US/rbot-lart.po +0 -0
- data/po/en_US/rbot-lastfm.po +172 -0
- data/po/en_US/rbot-linkbot.po +0 -0
- data/po/en_US/rbot-markov.po +20 -0
- data/po/en_US/rbot-math.po +0 -0
- data/po/en_US/rbot-modes.po +0 -0
- data/po/en_US/rbot-nickrecover.po +40 -0
- data/po/en_US/rbot-nickserv.po +104 -0
- data/po/en_US/rbot-nslookup.po +0 -0
- data/po/en_US/rbot-quakeauth.po +0 -0
- data/po/en_US/rbot-quiz.po +0 -0
- data/po/en_US/rbot-quotes.po +108 -0
- data/po/en_US/rbot-reaction.po +0 -0
- data/po/en_US/rbot-remind.po +0 -0
- data/po/en_US/rbot-remotectl.po +0 -0
- data/po/en_US/rbot-ri.po +0 -0
- data/po/en_US/rbot-roshambo.po +0 -0
- data/po/en_US/rbot-rot13.po +0 -0
- data/po/en_US/rbot-roulette.po +0 -0
- data/po/en_US/rbot-rss.po +20 -0
- data/po/en_US/rbot-salut.po +0 -0
- data/po/en_US/rbot-script.po +0 -0
- data/po/en_US/rbot-search.po +0 -0
- data/po/en_US/rbot-seen.po +0 -0
- data/po/en_US/rbot-shiritori.po +113 -0
- data/po/en_US/rbot-shortenurls.po +0 -0
- data/po/en_US/rbot-slashdot.po +0 -0
- data/po/en_US/rbot-spell.po +54 -0
- data/po/en_US/rbot-theyfightcrime.po +0 -0
- data/po/en_US/rbot-threat.po +0 -0
- data/po/en_US/rbot-time.po +0 -0
- data/po/en_US/rbot-topic.po +0 -0
- data/po/en_US/rbot-translator.po +77 -0
- data/po/en_US/rbot-tube.po +0 -0
- data/po/en_US/rbot-twitter.po +24 -0
- data/po/en_US/rbot-uno.po +512 -0
- data/po/en_US/rbot-urban.po +0 -0
- data/po/en_US/rbot-url.po +0 -0
- data/po/en_US/rbot-usermodes.po +0 -0
- data/po/en_US/rbot-wall.po +33 -0
- data/po/en_US/rbot-weather.po +0 -0
- data/po/en_US/rbot-wheelfortune.po +205 -0
- data/po/en_US/rbot-wow.po +0 -0
- data/po/en_US/rbot-wserver.po +0 -0
- data/po/en_US/rbot-youtube.po +58 -0
- data/po/en_US/rbot.po +1097 -0
- data/po/fr/rbot-alias.po +97 -0
- data/po/fr/rbot-autoop.po +0 -0
- data/po/fr/rbot-autorejoin.po +0 -0
- data/po/fr/rbot-azgame.po +204 -0
- data/po/fr/rbot-bans.po +0 -0
- data/po/fr/rbot-bash.po +0 -0
- data/po/fr/rbot-botsnack.po +0 -0
- data/po/fr/rbot-cal.po +3 -0
- data/po/fr/rbot-chanserv.po +0 -0
- data/po/fr/rbot-chucknorris.po +0 -0
- data/po/fr/rbot-debugger.po +0 -0
- data/po/fr/rbot-deepthoughts.po +0 -0
- data/po/fr/rbot-delicious.po +0 -0
- data/po/fr/rbot-dice.po +0 -0
- data/po/fr/rbot-dict.po +0 -0
- data/po/fr/rbot-dictclient.po +134 -0
- data/po/fr/rbot-digg.po +0 -0
- data/po/fr/rbot-eightball.po +0 -0
- data/po/fr/rbot-excuse.po +0 -0
- data/po/fr/rbot-factoids.po +111 -0
- data/po/fr/rbot-figlet.po +37 -0
- data/po/fr/rbot-fish.po +0 -0
- data/po/fr/rbot-forecast.po +0 -0
- data/po/fr/rbot-fortune.po +0 -0
- data/po/fr/rbot-freshmeat.po +0 -0
- data/po/fr/rbot-grouphug.po +18 -0
- data/po/fr/rbot-hl2.po +0 -0
- data/po/fr/rbot-host.po +3 -0
- data/po/fr/rbot-imdb.po +0 -0
- data/po/fr/rbot-insult.po +0 -0
- data/po/fr/rbot-iplookup.po +0 -0
- data/po/fr/rbot-karma.po +0 -0
- data/po/fr/rbot-keywords.po +24 -0
- data/po/fr/rbot-lart.po +0 -0
- data/po/fr/rbot-lastfm.po +172 -0
- data/po/fr/rbot-linkbot.po +0 -0
- data/po/fr/rbot-markov.po +20 -0
- data/po/fr/rbot-math.po +0 -0
- data/po/fr/rbot-modes.po +0 -0
- data/po/fr/rbot-nickrecover.po +36 -0
- data/po/fr/rbot-nickserv.po +116 -0
- data/po/fr/rbot-nslookup.po +0 -0
- data/po/fr/rbot-quakeauth.po +0 -0
- data/po/fr/rbot-quiz.po +0 -0
- data/po/fr/rbot-quotes.po +138 -0
- data/po/fr/rbot-reaction.po +0 -0
- data/po/fr/rbot-remind.po +0 -0
- data/po/fr/rbot-remotectl.po +0 -0
- data/po/fr/rbot-ri.po +0 -0
- data/po/fr/rbot-roshambo.po +0 -0
- data/po/fr/rbot-rot13.po +0 -0
- data/po/fr/rbot-roulette.po +0 -0
- data/po/fr/rbot-rss.po +20 -0
- data/po/fr/rbot-salut.po +0 -0
- data/po/fr/rbot-script.po +0 -0
- data/po/fr/rbot-search.po +0 -0
- data/po/fr/rbot-seen.po +0 -0
- data/po/fr/rbot-shiritori.po +119 -0
- data/po/fr/rbot-shortenurls.po +0 -0
- data/po/fr/rbot-slashdot.po +0 -0
- data/po/fr/rbot-spell.po +56 -0
- data/po/fr/rbot-theyfightcrime.po +0 -0
- data/po/fr/rbot-threat.po +0 -0
- data/po/fr/rbot-time.po +0 -0
- data/po/fr/rbot-topic.po +0 -0
- data/po/fr/rbot-translator.po +90 -0
- data/po/fr/rbot-tube.po +0 -0
- data/po/fr/rbot-twitter.po +24 -0
- data/po/fr/rbot-uno.po +521 -0
- data/po/fr/rbot-urban.po +0 -0
- data/po/fr/rbot-url.po +0 -0
- data/po/fr/rbot-usermodes.po +0 -0
- data/po/fr/rbot-wall.po +33 -0
- data/po/fr/rbot-weather.po +0 -0
- data/po/fr/rbot-wheelfortune.po +255 -0
- data/po/fr/rbot-wow.po +0 -0
- data/po/fr/rbot-wserver.po +0 -0
- data/po/fr/rbot-youtube.po +64 -0
- data/po/fr/rbot.po +1133 -0
- data/po/it/rbot-alias.po +82 -0
- data/po/it/rbot-autoop.po +0 -0
- data/po/it/rbot-autorejoin.po +0 -0
- data/po/it/rbot-azgame.po +186 -0
- data/po/it/rbot-bans.po +0 -0
- data/po/it/rbot-bash.po +0 -0
- data/po/it/rbot-botsnack.po +0 -0
- data/po/it/rbot-cal.po +3 -0
- data/po/it/rbot-chanserv.po +0 -0
- data/po/it/rbot-chucknorris.po +0 -0
- data/po/it/rbot-debugger.po +0 -0
- data/po/it/rbot-deepthoughts.po +0 -0
- data/po/it/rbot-delicious.po +0 -0
- data/po/it/rbot-dice.po +0 -0
- data/po/it/rbot-dict.po +0 -0
- data/po/it/rbot-dictclient.po +111 -0
- data/po/it/rbot-digg.po +0 -0
- data/po/it/rbot-eightball.po +0 -0
- data/po/it/rbot-excuse.po +0 -0
- data/po/it/rbot-factoids.po +110 -0
- data/po/it/rbot-figlet.po +36 -0
- data/po/it/rbot-fish.po +0 -0
- data/po/it/rbot-forecast.po +0 -0
- data/po/it/rbot-fortune.po +0 -0
- data/po/it/rbot-freshmeat.po +0 -0
- data/po/it/rbot-grouphug.po +18 -0
- data/po/it/rbot-hl2.po +0 -0
- data/po/it/rbot-host.po +3 -0
- data/po/it/rbot-imdb.po +0 -0
- data/po/it/rbot-insult.po +0 -0
- data/po/it/rbot-iplookup.po +0 -0
- data/po/it/rbot-karma.po +0 -0
- data/po/it/rbot-keywords.po +24 -0
- data/po/it/rbot-lart.po +0 -0
- data/po/it/rbot-lastfm.po +172 -0
- data/po/it/rbot-linkbot.po +0 -0
- data/po/it/rbot-markov.po +20 -0
- data/po/it/rbot-math.po +0 -0
- data/po/it/rbot-modes.po +0 -0
- data/po/it/rbot-nickrecover.po +36 -0
- data/po/it/rbot-nickserv.po +104 -0
- data/po/it/rbot-nslookup.po +0 -0
- data/po/it/rbot-quakeauth.po +0 -0
- data/po/it/rbot-quiz.po +0 -0
- data/po/it/rbot-quotes.po +108 -0
- data/po/it/rbot-reaction.po +0 -0
- data/po/it/rbot-remind.po +0 -0
- data/po/it/rbot-remotectl.po +0 -0
- data/po/it/rbot-ri.po +0 -0
- data/po/it/rbot-roshambo.po +0 -0
- data/po/it/rbot-rot13.po +0 -0
- data/po/it/rbot-roulette.po +0 -0
- data/po/it/rbot-rss.po +20 -0
- data/po/it/rbot-salut.po +0 -0
- data/po/it/rbot-script.po +0 -0
- data/po/it/rbot-search.po +0 -0
- data/po/it/rbot-seen.po +0 -0
- data/po/it/rbot-shiritori.po +102 -0
- data/po/it/rbot-shortenurls.po +0 -0
- data/po/it/rbot-slashdot.po +0 -0
- data/po/it/rbot-spell.po +54 -0
- data/po/it/rbot-theyfightcrime.po +0 -0
- data/po/it/rbot-threat.po +0 -0
- data/po/it/rbot-time.po +0 -0
- data/po/it/rbot-topic.po +0 -0
- data/po/it/rbot-translator.po +77 -0
- data/po/it/rbot-tube.po +0 -0
- data/po/it/rbot-twitter.po +24 -0
- data/po/it/rbot-uno.po +564 -0
- data/po/it/rbot-urban.po +0 -0
- data/po/it/rbot-url.po +0 -0
- data/po/it/rbot-usermodes.po +0 -0
- data/po/it/rbot-wall.po +33 -0
- data/po/it/rbot-weather.po +0 -0
- data/po/it/rbot-wheelfortune.po +251 -0
- data/po/it/rbot-wow.po +0 -0
- data/po/it/rbot-wserver.po +0 -0
- data/po/it/rbot-youtube.po +64 -0
- data/po/it/rbot.po +1127 -0
- data/po/ja/rbot-alias.po +82 -0
- data/po/ja/rbot-autoop.po +0 -0
- data/po/ja/rbot-autorejoin.po +0 -0
- data/po/ja/rbot-azgame.po +194 -0
- data/po/ja/rbot-bans.po +0 -0
- data/po/ja/rbot-bash.po +0 -0
- data/po/ja/rbot-botsnack.po +0 -0
- data/po/ja/rbot-cal.po +3 -0
- data/po/ja/rbot-chanserv.po +0 -0
- data/po/ja/rbot-chucknorris.po +0 -0
- data/po/ja/rbot-debugger.po +0 -0
- data/po/ja/rbot-deepthoughts.po +0 -0
- data/po/ja/rbot-delicious.po +0 -0
- data/po/ja/rbot-dice.po +0 -0
- data/po/ja/rbot-dict.po +0 -0
- data/po/ja/rbot-dictclient.po +111 -0
- data/po/ja/rbot-digg.po +0 -0
- data/po/ja/rbot-eightball.po +0 -0
- data/po/ja/rbot-excuse.po +0 -0
- data/po/ja/rbot-factoids.po +107 -0
- data/po/ja/rbot-figlet.po +36 -0
- data/po/ja/rbot-fish.po +0 -0
- data/po/ja/rbot-forecast.po +0 -0
- data/po/ja/rbot-fortune.po +0 -0
- data/po/ja/rbot-freshmeat.po +0 -0
- data/po/ja/rbot-grouphug.po +18 -0
- data/po/ja/rbot-hl2.po +0 -0
- data/po/ja/rbot-host.po +3 -0
- data/po/ja/rbot-imdb.po +0 -0
- data/po/ja/rbot-insult.po +0 -0
- data/po/ja/rbot-iplookup.po +0 -0
- data/po/ja/rbot-karma.po +0 -0
- data/po/ja/rbot-keywords.po +24 -0
- data/po/ja/rbot-lart.po +0 -0
- data/po/ja/rbot-lastfm.po +172 -0
- data/po/ja/rbot-linkbot.po +0 -0
- data/po/ja/rbot-markov.po +20 -0
- data/po/ja/rbot-math.po +0 -0
- data/po/ja/rbot-modes.po +0 -0
- data/po/ja/rbot-nickrecover.po +36 -0
- data/po/ja/rbot-nickserv.po +104 -0
- data/po/ja/rbot-nslookup.po +0 -0
- data/po/ja/rbot-quakeauth.po +0 -0
- data/po/ja/rbot-quiz.po +0 -0
- data/po/ja/rbot-quotes.po +108 -0
- data/po/ja/rbot-reaction.po +0 -0
- data/po/ja/rbot-remind.po +0 -0
- data/po/ja/rbot-remotectl.po +0 -0
- data/po/ja/rbot-ri.po +0 -0
- data/po/ja/rbot-roshambo.po +0 -0
- data/po/ja/rbot-rot13.po +0 -0
- data/po/ja/rbot-roulette.po +0 -0
- data/po/ja/rbot-rss.po +20 -0
- data/po/ja/rbot-salut.po +0 -0
- data/po/ja/rbot-script.po +0 -0
- data/po/ja/rbot-search.po +0 -0
- data/po/ja/rbot-seen.po +0 -0
- data/po/ja/rbot-shiritori.po +115 -0
- data/po/ja/rbot-shortenurls.po +0 -0
- data/po/ja/rbot-slashdot.po +0 -0
- data/po/ja/rbot-spell.po +54 -0
- data/po/ja/rbot-theyfightcrime.po +0 -0
- data/po/ja/rbot-threat.po +0 -0
- data/po/ja/rbot-time.po +0 -0
- data/po/ja/rbot-topic.po +0 -0
- data/po/ja/rbot-translator.po +77 -0
- data/po/ja/rbot-tube.po +0 -0
- data/po/ja/rbot-twitter.po +24 -0
- data/po/ja/rbot-uno.po +512 -0
- data/po/ja/rbot-urban.po +0 -0
- data/po/ja/rbot-url.po +0 -0
- data/po/ja/rbot-usermodes.po +0 -0
- data/po/ja/rbot-wall.po +33 -0
- data/po/ja/rbot-weather.po +0 -0
- data/po/ja/rbot-wheelfortune.po +205 -0
- data/po/ja/rbot-wow.po +0 -0
- data/po/ja/rbot-wserver.po +0 -0
- data/po/ja/rbot-youtube.po +58 -0
- data/po/ja/rbot.po +999 -0
- data/po/rbot-alias.pot +83 -0
- data/po/rbot-autoop.pot +0 -0
- data/po/rbot-autorejoin.pot +0 -0
- data/po/rbot-azgame.pot +187 -0
- data/po/rbot-bans.pot +0 -0
- data/po/rbot-bash.pot +0 -0
- data/po/rbot-botsnack.pot +0 -0
- data/po/rbot-cal.pot +21 -0
- data/po/rbot-chanserv.pot +0 -0
- data/po/rbot-chucknorris.pot +0 -0
- data/po/rbot-debugger.pot +0 -0
- data/po/rbot-deepthoughts.pot +0 -0
- data/po/rbot-delicious.pot +0 -0
- data/po/rbot-dice.pot +0 -0
- data/po/rbot-dict.pot +0 -0
- data/po/rbot-dictclient.pot +112 -0
- data/po/rbot-digg.pot +0 -0
- data/po/rbot-eightball.pot +0 -0
- data/po/rbot-excuse.pot +0 -0
- data/po/rbot-factoids.pot +108 -0
- data/po/rbot-figlet.pot +37 -0
- data/po/rbot-fish.pot +0 -0
- data/po/rbot-forecast.pot +0 -0
- data/po/rbot-fortune.pot +0 -0
- data/po/rbot-freshmeat.pot +0 -0
- data/po/rbot-grouphug.pot +36 -0
- data/po/rbot-hl2.pot +0 -0
- data/po/rbot-host.pot +21 -0
- data/po/rbot-imdb.pot +0 -0
- data/po/rbot-insult.pot +0 -0
- data/po/rbot-iplookup.pot +0 -0
- data/po/rbot-karma.pot +0 -0
- data/po/rbot-keywords.pot +25 -0
- data/po/rbot-lart.pot +0 -0
- data/po/rbot-lastfm.pot +190 -0
- data/po/rbot-linkbot.pot +0 -0
- data/po/rbot-markov.pot +21 -0
- data/po/rbot-math.pot +0 -0
- data/po/rbot-modes.pot +0 -0
- data/po/rbot-nickrecover.pot +37 -0
- data/po/rbot-nickserv.pot +105 -0
- data/po/rbot-nslookup.pot +0 -0
- data/po/rbot-quakeauth.pot +0 -0
- data/po/rbot-quiz.pot +0 -0
- data/po/rbot-quotes.pot +109 -0
- data/po/rbot-reaction.pot +0 -0
- data/po/rbot-remind.pot +0 -0
- data/po/rbot-remotectl.pot +0 -0
- data/po/rbot-ri.pot +0 -0
- data/po/rbot-roshambo.pot +0 -0
- data/po/rbot-rot13.pot +0 -0
- data/po/rbot-roulette.pot +0 -0
- data/po/rbot-rss.pot +21 -0
- data/po/rbot-salut.pot +0 -0
- data/po/rbot-script.pot +0 -0
- data/po/rbot-search.pot +0 -0
- data/po/rbot-seen.pot +0 -0
- data/po/rbot-shiritori.pot +103 -0
- data/po/rbot-shortenurls.pot +0 -0
- data/po/rbot-slashdot.pot +0 -0
- data/po/rbot-spell.pot +55 -0
- data/po/rbot-theyfightcrime.pot +0 -0
- data/po/rbot-threat.pot +0 -0
- data/po/rbot-time.pot +0 -0
- data/po/rbot-topic.pot +0 -0
- data/po/rbot-translator.pot +78 -0
- data/po/rbot-tube.pot +0 -0
- data/po/rbot-twitter.pot +25 -0
- data/po/rbot-uno.pot +513 -0
- data/po/rbot-urban.pot +0 -0
- data/po/rbot-url.pot +0 -0
- data/po/rbot-usermodes.pot +0 -0
- data/po/rbot-wall.pot +33 -0
- data/po/rbot-weather.pot +0 -0
- data/po/rbot-wheelfortune.pot +206 -0
- data/po/rbot-wow.pot +0 -0
- data/po/rbot-wserver.pot +0 -0
- data/po/rbot-youtube.pot +59 -0
- data/po/rbot.pot +1004 -0
- data/po/zh_CN/rbot-alias.po +82 -0
- data/po/zh_CN/rbot-autoop.po +0 -0
- data/po/zh_CN/rbot-autorejoin.po +0 -0
- data/po/zh_CN/rbot-azgame.po +186 -0
- data/po/zh_CN/rbot-bans.po +0 -0
- data/po/zh_CN/rbot-bash.po +0 -0
- data/po/zh_CN/rbot-botsnack.po +0 -0
- data/po/zh_CN/rbot-cal.po +3 -0
- data/po/zh_CN/rbot-chanserv.po +0 -0
- data/po/zh_CN/rbot-chucknorris.po +0 -0
- data/po/zh_CN/rbot-debugger.po +0 -0
- data/po/zh_CN/rbot-deepthoughts.po +0 -0
- data/po/zh_CN/rbot-delicious.po +0 -0
- data/po/zh_CN/rbot-dice.po +0 -0
- data/po/zh_CN/rbot-dict.po +0 -0
- data/po/zh_CN/rbot-dictclient.po +111 -0
- data/po/zh_CN/rbot-digg.po +0 -0
- data/po/zh_CN/rbot-eightball.po +0 -0
- data/po/zh_CN/rbot-excuse.po +0 -0
- data/po/zh_CN/rbot-factoids.po +107 -0
- data/po/zh_CN/rbot-figlet.po +36 -0
- data/po/zh_CN/rbot-fish.po +0 -0
- data/po/zh_CN/rbot-forecast.po +0 -0
- data/po/zh_CN/rbot-fortune.po +0 -0
- data/po/zh_CN/rbot-freshmeat.po +0 -0
- data/po/zh_CN/rbot-grouphug.po +18 -0
- data/po/zh_CN/rbot-hl2.po +0 -0
- data/po/zh_CN/rbot-host.po +3 -0
- data/po/zh_CN/rbot-imdb.po +0 -0
- data/po/zh_CN/rbot-insult.po +0 -0
- data/po/zh_CN/rbot-iplookup.po +0 -0
- data/po/zh_CN/rbot-karma.po +0 -0
- data/po/zh_CN/rbot-keywords.po +24 -0
- data/po/zh_CN/rbot-lart.po +0 -0
- data/po/zh_CN/rbot-lastfm.po +172 -0
- data/po/zh_CN/rbot-linkbot.po +0 -0
- data/po/zh_CN/rbot-markov.po +20 -0
- data/po/zh_CN/rbot-math.po +0 -0
- data/po/zh_CN/rbot-modes.po +0 -0
- data/po/zh_CN/rbot-nickrecover.po +36 -0
- data/po/zh_CN/rbot-nickserv.po +104 -0
- data/po/zh_CN/rbot-nslookup.po +0 -0
- data/po/zh_CN/rbot-quakeauth.po +0 -0
- data/po/zh_CN/rbot-quiz.po +0 -0
- data/po/zh_CN/rbot-quotes.po +108 -0
- data/po/zh_CN/rbot-reaction.po +0 -0
- data/po/zh_CN/rbot-remind.po +0 -0
- data/po/zh_CN/rbot-remotectl.po +0 -0
- data/po/zh_CN/rbot-ri.po +0 -0
- data/po/zh_CN/rbot-roshambo.po +0 -0
- data/po/zh_CN/rbot-rot13.po +0 -0
- data/po/zh_CN/rbot-roulette.po +0 -0
- data/po/zh_CN/rbot-rss.po +20 -0
- data/po/zh_CN/rbot-salut.po +0 -0
- data/po/zh_CN/rbot-script.po +0 -0
- data/po/zh_CN/rbot-search.po +0 -0
- data/po/zh_CN/rbot-seen.po +0 -0
- data/po/zh_CN/rbot-shiritori.po +102 -0
- data/po/zh_CN/rbot-shortenurls.po +0 -0
- data/po/zh_CN/rbot-slashdot.po +0 -0
- data/po/zh_CN/rbot-spell.po +54 -0
- data/po/zh_CN/rbot-theyfightcrime.po +0 -0
- data/po/zh_CN/rbot-threat.po +0 -0
- data/po/zh_CN/rbot-time.po +0 -0
- data/po/zh_CN/rbot-topic.po +0 -0
- data/po/zh_CN/rbot-translator.po +77 -0
- data/po/zh_CN/rbot-tube.po +0 -0
- data/po/zh_CN/rbot-twitter.po +24 -0
- data/po/zh_CN/rbot-uno.po +512 -0
- data/po/zh_CN/rbot-urban.po +0 -0
- data/po/zh_CN/rbot-url.po +0 -0
- data/po/zh_CN/rbot-usermodes.po +0 -0
- data/po/zh_CN/rbot-wall.po +33 -0
- data/po/zh_CN/rbot-weather.po +0 -0
- data/po/zh_CN/rbot-wheelfortune.po +205 -0
- data/po/zh_CN/rbot-wow.po +0 -0
- data/po/zh_CN/rbot-wserver.po +0 -0
- data/po/zh_CN/rbot-youtube.po +58 -0
- data/po/zh_CN/rbot.po +1006 -0
- data/po/zh_TW/rbot-alias.po +82 -0
- data/po/zh_TW/rbot-autoop.po +0 -0
- data/po/zh_TW/rbot-autorejoin.po +0 -0
- data/po/zh_TW/rbot-azgame.po +186 -0
- data/po/zh_TW/rbot-bans.po +0 -0
- data/po/zh_TW/rbot-bash.po +0 -0
- data/po/zh_TW/rbot-botsnack.po +0 -0
- data/po/zh_TW/rbot-cal.po +3 -0
- data/po/zh_TW/rbot-chanserv.po +0 -0
- data/po/zh_TW/rbot-chucknorris.po +0 -0
- data/po/zh_TW/rbot-debugger.po +0 -0
- data/po/zh_TW/rbot-deepthoughts.po +0 -0
- data/po/zh_TW/rbot-delicious.po +0 -0
- data/po/zh_TW/rbot-dice.po +0 -0
- data/po/zh_TW/rbot-dict.po +0 -0
- data/po/zh_TW/rbot-dictclient.po +111 -0
- data/po/zh_TW/rbot-digg.po +0 -0
- data/po/zh_TW/rbot-eightball.po +0 -0
- data/po/zh_TW/rbot-excuse.po +0 -0
- data/po/zh_TW/rbot-factoids.po +107 -0
- data/po/zh_TW/rbot-figlet.po +36 -0
- data/po/zh_TW/rbot-fish.po +0 -0
- data/po/zh_TW/rbot-forecast.po +0 -0
- data/po/zh_TW/rbot-fortune.po +0 -0
- data/po/zh_TW/rbot-freshmeat.po +0 -0
- data/po/zh_TW/rbot-grouphug.po +18 -0
- data/po/zh_TW/rbot-hl2.po +0 -0
- data/po/zh_TW/rbot-host.po +3 -0
- data/po/zh_TW/rbot-imdb.po +0 -0
- data/po/zh_TW/rbot-insult.po +0 -0
- data/po/zh_TW/rbot-iplookup.po +0 -0
- data/po/zh_TW/rbot-karma.po +0 -0
- data/po/zh_TW/rbot-keywords.po +24 -0
- data/po/zh_TW/rbot-lart.po +0 -0
- data/po/zh_TW/rbot-lastfm.po +172 -0
- data/po/zh_TW/rbot-linkbot.po +0 -0
- data/po/zh_TW/rbot-markov.po +20 -0
- data/po/zh_TW/rbot-math.po +0 -0
- data/po/zh_TW/rbot-modes.po +0 -0
- data/po/zh_TW/rbot-nickrecover.po +36 -0
- data/po/zh_TW/rbot-nickserv.po +104 -0
- data/po/zh_TW/rbot-nslookup.po +0 -0
- data/po/zh_TW/rbot-quakeauth.po +0 -0
- data/po/zh_TW/rbot-quiz.po +0 -0
- data/po/zh_TW/rbot-quotes.po +108 -0
- data/po/zh_TW/rbot-reaction.po +0 -0
- data/po/zh_TW/rbot-remind.po +0 -0
- data/po/zh_TW/rbot-remotectl.po +0 -0
- data/po/zh_TW/rbot-ri.po +0 -0
- data/po/zh_TW/rbot-roshambo.po +0 -0
- data/po/zh_TW/rbot-rot13.po +0 -0
- data/po/zh_TW/rbot-roulette.po +0 -0
- data/po/zh_TW/rbot-rss.po +20 -0
- data/po/zh_TW/rbot-salut.po +0 -0
- data/po/zh_TW/rbot-script.po +0 -0
- data/po/zh_TW/rbot-search.po +0 -0
- data/po/zh_TW/rbot-seen.po +0 -0
- data/po/zh_TW/rbot-shiritori.po +102 -0
- data/po/zh_TW/rbot-shortenurls.po +0 -0
- data/po/zh_TW/rbot-slashdot.po +0 -0
- data/po/zh_TW/rbot-spell.po +54 -0
- data/po/zh_TW/rbot-theyfightcrime.po +0 -0
- data/po/zh_TW/rbot-threat.po +0 -0
- data/po/zh_TW/rbot-time.po +0 -0
- data/po/zh_TW/rbot-topic.po +0 -0
- data/po/zh_TW/rbot-translator.po +77 -0
- data/po/zh_TW/rbot-tube.po +0 -0
- data/po/zh_TW/rbot-twitter.po +24 -0
- data/po/zh_TW/rbot-uno.po +512 -0
- data/po/zh_TW/rbot-urban.po +0 -0
- data/po/zh_TW/rbot-url.po +0 -0
- data/po/zh_TW/rbot-usermodes.po +0 -0
- data/po/zh_TW/rbot-wall.po +33 -0
- data/po/zh_TW/rbot-weather.po +0 -0
- data/po/zh_TW/rbot-wheelfortune.po +205 -0
- data/po/zh_TW/rbot-wow.po +0 -0
- data/po/zh_TW/rbot-wserver.po +0 -0
- data/po/zh_TW/rbot-youtube.po +58 -0
- data/po/zh_TW/rbot.po +1034 -0
- data/setup.rb +800 -574
- metadata +723 -108
- data/data/rbot/contrib/plugins/figlet.rb +0 -20
- data/data/rbot/contrib/plugins/ri.rb +0 -83
- data/data/rbot/plugins/demauro.rb +0 -95
- data/data/rbot/plugins/google.rb +0 -53
- data/data/rbot/plugins/opme.rb +0 -19
- data/data/rbot/plugins/roshambo.rb +0 -54
- data/data/rbot/plugins/rubyurl.rb +0 -39
- data/data/rbot/plugins/tinyurl.rb +0 -39
- data/data/rbot/plugins/xmlrpc.rb.disabled +0 -52
- data/data/rbot/templates/levels.rbot +0 -32
- data/data/rbot/templates/users.rbot +0 -1
- data/lib/rbot/auth.rb +0 -314
- data/lib/rbot/channel.rb +0 -54
- data/lib/rbot/httputil.rb +0 -309
- data/lib/rbot/utils.rb +0 -83
data/AUTHORS
CHANGED
@@ -1,15 +1,33 @@
|
|
1
|
-
|
1
|
+
Original Author
|
2
2
|
o Tom Gilbert (giblet) <tom@linuxbrit.co.uk>
|
3
3
|
|
4
|
-
|
5
|
-
o Giuseppe Bilotta (tango_) <giuseppe.bilotta@gmail.com>
|
4
|
+
Ruthless Tyrant (yes, that means 'project lead')
|
5
|
+
o Giuseppe "Oblomov" Bilotta (tango_) <giuseppe.bilotta@gmail.com>
|
6
|
+
|
7
|
+
Sanity keeper
|
8
|
+
o Dmitry Kim (jsn) <dmitry dot kim at gmail dot com>
|
9
|
+
|
10
|
+
YAML & Multilingual expert, blame collector
|
11
|
+
o Yaohan Chen (hagabaka) <yaohan.chen@gmail.com>
|
12
|
+
|
13
|
+
Insanity keeper
|
14
|
+
o Mark Kretschmann (markey) <markey@web.de>
|
15
|
+
|
16
|
+
Chuck Norris trainer
|
17
|
+
o Chris Gahan (epitron) <chris@ill-logic.com>
|
6
18
|
|
7
19
|
Patch contributors
|
8
20
|
o Peter Suschlik (pesu) <peter@zilium.de>
|
9
21
|
o Alexey I. Froloff <raorn@altlinux.ru>
|
10
22
|
o Ari Pollak <ajp@aripollak.com>
|
11
23
|
o Rudolf Polzer <atfield-dt@durchnull.de>
|
12
|
-
o
|
24
|
+
o René Nussbaumer <public@killerfox.forkbomb.ch>
|
25
|
+
o Adam James (atj) <atj@pulsewidth.org.uk>
|
26
|
+
o Robert Corsaro (doki_pen) <rcorsaro@optaros.com>
|
27
|
+
o Jesse Keys (jessekeys) <jesse@teranetworks.de>
|
28
|
+
o Jan Wikholm (unfo-) <jw@jw.fi>
|
29
|
+
o Moritz Augsburger (moemoe) <rbot@moritz.augsburger.name>
|
30
|
+
o Alexander Beisig <alexander.beisig@gmx.de>
|
13
31
|
|
14
32
|
Module contributors
|
15
33
|
o dice.rb - David Dorward (Dorward) <david@david.us-lot.org>
|
data/COPYING
CHANGED
@@ -1,21 +1,8 @@
|
|
1
|
-
|
1
|
+
rbot the Ruby IRC bot
|
2
2
|
|
3
|
-
|
4
|
-
of this software and associated documentation files (the "Software"), to
|
5
|
-
deal in the Software without restriction, including without limitation the
|
6
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
7
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
8
|
-
furnished to do so, subject to the following conditions:
|
3
|
+
Copyright (C) 2007-2008 Giuseppe Bilotta and the rbot development team
|
9
4
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
used.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
18
|
-
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
5
|
+
This program is free software; you can redistribute it and/or modify it
|
6
|
+
under the terms of the MIT license with acknolwedgement clause (see
|
7
|
+
COPYING.rbot) or the GNU General Public License, version 2 (see GPLv2)
|
21
8
|
|
data/ChangeLog
CHANGED
@@ -1,3 +1,399 @@
|
|
1
|
+
2007-04-12 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
2
|
+
|
3
|
+
* Basic class extensions: Module#define_structure() method. Syntax:
|
4
|
+
define_structure :SomeName, :attr_a, :attr_b
|
5
|
+
is equivalent to
|
6
|
+
SomeName = Struct.new("SomeName", :attr_a, :attr_b)
|
7
|
+
except that the new Struct is not created if it already exists and the
|
8
|
+
attributes list is the same.
|
9
|
+
|
10
|
+
2007-03-31 Dmitry Kim <dmitry.kim@gmail.com>
|
11
|
+
|
12
|
+
* HttpUtil: major rework. get_response() method now respects
|
13
|
+
caching (can be turned off via options) and supports different HTTP
|
14
|
+
methods (GET (default), HEAD and POST) and ranged requests. get() and
|
15
|
+
head() methods are now just a thin wrappers around get_request().
|
16
|
+
Semantics for user-supplied &block has been made consistent across
|
17
|
+
these methods.
|
18
|
+
* HttpUtil: get_cached() method has been removed (obsoleted by new
|
19
|
+
get()). post() method has been added. get_partial() method for ranged
|
20
|
+
requests has been added. Net::HTTPResponse partial_body() method has
|
21
|
+
been removed (mostly because it won't play well with future HTTP
|
22
|
+
encodings support), please use get_partial() or get_request() instead.
|
23
|
+
* Utils: http_get() method has been removed (long obsoleted by
|
24
|
+
HttpUtil)
|
25
|
+
* different plugins: modified to accomodate for HttpUtil changes.
|
26
|
+
|
27
|
+
2007-03-24 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
28
|
+
|
29
|
+
* HttpUtil: new get_response method to follow redirects and get an
|
30
|
+
Net::HTTPResponse object with an open connection, allowing partial
|
31
|
+
body retrieval.
|
32
|
+
* HttpUtil: extend Net::HTTPResponse with a #partial_body() method. The
|
33
|
+
method take an argument (max bytes to download) and an optional block;
|
34
|
+
the method yields all the partial content that it's being downloaded,
|
35
|
+
instead of the single chunks yield by #read_body().
|
36
|
+
* url plugin: use the new HttpUtil methods.
|
37
|
+
* url plugin: do not block while trying to get link info.
|
38
|
+
|
39
|
+
2007-03-14 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
40
|
+
|
41
|
+
* Socket filtering: socket data, both input and output, can now be
|
42
|
+
filtered. This is used for example to transcode all input and output
|
43
|
+
so that messages are internally managed as UTF-8. By default, the bot
|
44
|
+
will try cp1252 (Windows Western European) encoding for non-UTF-8
|
45
|
+
strings. Thanks to jsn (Dmitry Kim <dmitry.kim@gmail.com>).
|
46
|
+
|
47
|
+
2007-03-10 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
48
|
+
|
49
|
+
* IRC settings: ability to change the IRC name for the bot. Thanks to
|
50
|
+
jsn (Dmitry Kim <dmitry.kim@gmail.com>).
|
51
|
+
* Plugin: allow customization of the plugin load path. Thanks to
|
52
|
+
jsn (Dmitry Kim <dmitry.kim@gmail.com>).
|
53
|
+
|
54
|
+
2007-02-20 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
55
|
+
|
56
|
+
* Timers: failing timer actions don't prevent the global timer ticker
|
57
|
+
from functioning properly.
|
58
|
+
* Shiritori plugin: new word game, contributed by Yaohan Chen
|
59
|
+
<yaohan.chen@gmail.com>. People take turns to continue a chain of
|
60
|
+
words by saying words that begin with the final letter(s) of the
|
61
|
+
previous word.
|
62
|
+
* IRC messages are not UTF-8: Most of the string processing across
|
63
|
+
rbot is done against IRC messages, which do not have a well-defined
|
64
|
+
encoding. Although many clients are now using UTF-8, there is no
|
65
|
+
guarantee that an arbitrary string received from IRC will be UTF-8
|
66
|
+
encoded. We have to force ASCII (byte-wise/charset agnostic) matching
|
67
|
+
because otherwise some strings can give problems: in particular, for
|
68
|
+
example, the bytesequence "\340\350\354\362\371" (that is the aeiou
|
69
|
+
vowels, each with a grave accent) will cause the string to be
|
70
|
+
considered up to the "\354" (i with grave accent) only: so either the
|
71
|
+
rest of the message is ignored, or the matching fails.
|
72
|
+
|
73
|
+
2007-02-18 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
74
|
+
|
75
|
+
* Plugin: Provide a plugin.header file with boilerplate plugin
|
76
|
+
title/author/copyright/license information. Authors of new plugins are
|
77
|
+
encouraged to use it. Many existing plugins have been changed to
|
78
|
+
follow the same spec.
|
79
|
+
* NickServ plugin: delegate #identified() to other plugins after
|
80
|
+
successfull identification. Also provide #identified?() method to test
|
81
|
+
if the bot has successfully identified. Not perfect yet (gets reset
|
82
|
+
after a rescan.)
|
83
|
+
|
84
|
+
2007-02-15 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
85
|
+
|
86
|
+
* Plugin: new unreplied() method to handle PRIVMSGs which have not
|
87
|
+
been replied to.
|
88
|
+
* Regexp: more regexp madness. BasicUserMessage and derivate classes
|
89
|
+
now have a new method parse_channel_list() to parse list of channel
|
90
|
+
names.
|
91
|
+
|
92
|
+
2007-02-12 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
93
|
+
|
94
|
+
* Remote Service Provider: from an idea by halorgium <rbot@spork.in>,
|
95
|
+
initial steps towards a DRb-based remote service provider for rbot.
|
96
|
+
When complete, it will give plugins the ability to listen to
|
97
|
+
'messages' from remote clients connected to the bot, allowing for such
|
98
|
+
things as svn notification without RSS polling, remote control of
|
99
|
+
the bot, or even (why not?) botnets.
|
100
|
+
* Remote Service Provider: BotModules can now include the
|
101
|
+
RemoteBotModule interface that provides them with the remote_map()
|
102
|
+
method that works just like the map() method, but for remote commands
|
103
|
+
* Remote Service Provider: Remote clients can now login remotely
|
104
|
+
before executing commands. This in fact integrates the remote access
|
105
|
+
auth security with the User/BotUser used on IRC itself.
|
106
|
+
|
107
|
+
2007-02-08 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
108
|
+
|
109
|
+
* Languages: Japanese support with language files, salutations, larts
|
110
|
+
and praises, thanks to hagabaka (Yaohan Chen <yaohan.chen@gmail.com>)
|
111
|
+
|
112
|
+
2007-02-05 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
113
|
+
|
114
|
+
* sendmsg improvements: the bot sendmsg() method and all the methods
|
115
|
+
that rely on it (say(), notice(), and message methods such as reply())
|
116
|
+
now accept an option hash to customize its behaviour.
|
117
|
+
* :newlines, which can be set to either :split or :join,
|
118
|
+
depending on whether newlines in messages should be used as
|
119
|
+
split-points, or should be be replaced by some string (defined
|
120
|
+
in the :join_with option)
|
121
|
+
* :max_lines, which determines the maximum number of lines to be
|
122
|
+
sent by each messages. Last line is truncated (see next
|
123
|
+
options). Set to nil to have no limits.
|
124
|
+
* :overlong, which determines the behaviour when overlong lines
|
125
|
+
are to be sent; possible values are :split or :truncate.
|
126
|
+
* If :overlong is set to :split, :split_at determines the
|
127
|
+
string/regexp to split at; default is /\s+/, other usual
|
128
|
+
choice could be /\s+\|\s+/.
|
129
|
+
* If :overlong is set to :split, the :purge_split option
|
130
|
+
determines whether the :split_at expression should be removed
|
131
|
+
from the next lines (defaults to true).
|
132
|
+
* If :overlong is set to :truncate, the value of the option
|
133
|
+
:truncate_text is replaced at the end of the truncated line
|
134
|
+
* LinkBot plugin: initial commit of a plugin to handle messages from
|
135
|
+
eggdrops and other bots that act as cross-network channel links.
|
136
|
+
Suggested by hagabaka (Yaohan Chen <yaohan.chen@gmail.com>)
|
137
|
+
|
138
|
+
|
139
|
+
2007-02-03 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
140
|
+
|
141
|
+
* Plugin message mapper: Enhancements to the :requirements option.
|
142
|
+
When the requirement of a parameter is a regular expression with
|
143
|
+
capturing groups /(...)/, the corresponding map parameters will be
|
144
|
+
assigned (by default) the first non-nil capture instead of the whole
|
145
|
+
regular expression. If a specific capture group is desired instead,
|
146
|
+
the requirement should be in the form
|
147
|
+
[/some regexp/, integer_index_of_the_desired_group]
|
148
|
+
or in the form
|
149
|
+
{
|
150
|
+
:regexp => /some regexp/,
|
151
|
+
:index => integer_index_of_the_desired_group
|
152
|
+
}
|
153
|
+
and a nil index will still give the default behavior.
|
154
|
+
If you want the whole regular expression to be the matched parameter
|
155
|
+
value, there are three options: use an index of 0, wrap the whole
|
156
|
+
regular expression in a capturing group, or use non-capturing groups
|
157
|
+
/(?:...)/. The latter is preferred because it's much faster.
|
158
|
+
When exploiting the capturing groups feature, please try to remember
|
159
|
+
to use /\s+/ instead of plain spaces / /, unless it's absolutely
|
160
|
+
necessary to have single spaces.
|
161
|
+
|
162
|
+
2007-02-02 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
163
|
+
|
164
|
+
* Plugin message mapper: Requirements (as set by the :requirements
|
165
|
+
hash) are now embedded in the regular expression matcher rather than
|
166
|
+
being cheked separately afterwards.
|
167
|
+
|
168
|
+
2007-01-30 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
169
|
+
|
170
|
+
* New IRC Framework: Server methods to retrieve a Channel or User are
|
171
|
+
now more robust to empty or nil nicks and channel names passed as
|
172
|
+
parameters.
|
173
|
+
|
174
|
+
2007-01-29 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
175
|
+
|
176
|
+
* Timer rescheduling: it is now possible to reschedule the period
|
177
|
+
any particular Action is taken by issuing the command
|
178
|
+
@bot.timer.reschedule(handle, new_period)
|
179
|
+
where +handle+ is a timer handle returned by the @bot.timer.add() that
|
180
|
+
created the action, and new_period is the new period for the Action.
|
181
|
+
|
182
|
+
2007-01-23 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
183
|
+
|
184
|
+
* Reduced saving: the salut, lart, and quotes plugin now only save
|
185
|
+
their datafiles if anything changed since last time. This speeds up
|
186
|
+
operations such as saving and rescanning; it also allow hand-editing
|
187
|
+
of the data files while the bot is running, since a rescan will load
|
188
|
+
the changed data files without overwriting them with a useless save
|
189
|
+
before. Of course this only works if there are no pending changes in
|
190
|
+
the running bot.
|
191
|
+
|
192
|
+
2007-01-12 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
193
|
+
|
194
|
+
* Server timeout: rework the server timeout code. Instead of PINGing
|
195
|
+
the server unconditionally every server.ping_timeout seconds, we only
|
196
|
+
PING it if we don't receive anything in the user-chosen timeout (lazy
|
197
|
+
PING). The code rewrite also seems to have fixed the "bot stalling
|
198
|
+
doing nothing" problem, which seemed to have been a consequence of
|
199
|
+
@socket.select not having a timeout.
|
200
|
+
|
201
|
+
2006-11-01 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
202
|
+
|
203
|
+
* SSL support: patch from Robin H. Johnson <robbat2@gentoo.org>
|
204
|
+
|
205
|
+
2006-10-28 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
206
|
+
|
207
|
+
* A-Z game: try to guess the word the bot is thinking of: every miss
|
208
|
+
helps by reducing the range of allowed words, until it's so small
|
209
|
+
around the correct one that you can't miss it.
|
210
|
+
|
211
|
+
2006-10-27 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
212
|
+
|
213
|
+
* Flood protection: first attempt at penalty-based flood protection.
|
214
|
+
This should make rbot much less prone to Excess Floods *and* still
|
215
|
+
serve normally without excessive delays.
|
216
|
+
|
217
|
+
2006-10-25 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
218
|
+
|
219
|
+
* HttpUtil: Strings returned by get_cached now have a cached? method
|
220
|
+
which returns true or false depending on whether the result was taken
|
221
|
+
from the cache or not; this can be exploited by plugins that parse the
|
222
|
+
result in some particular way, since they can now skip the parsing
|
223
|
+
stage if they cache the parse result.
|
224
|
+
|
225
|
+
2006-10-24 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
226
|
+
|
227
|
+
* HttpUtil: initial implementation of proper caching based on
|
228
|
+
last-modified and etag HTTP headers
|
229
|
+
|
230
|
+
2006-10-17 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
231
|
+
|
232
|
+
* Salut plugin: handles (multilingual) salutations (hello/goodbye)
|
233
|
+
|
234
|
+
2006-10-15 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
235
|
+
|
236
|
+
* Language stuff: plugins can now handle language changes in a natural
|
237
|
+
fashion. lart is the first plugin to make use of this. NOTE: this
|
238
|
+
is not (yet) backwards compatible: the old larts/praises files from
|
239
|
+
previous rbot setups have to be renamed manually
|
240
|
+
* Language stuff: italian translations
|
241
|
+
* Utils.safe_save(filename): allows 'safe' saving of a file: it needs a
|
242
|
+
block, to which it will yield a temporary file on which operations can
|
243
|
+
be carried out. When the block returns, the tempfile will be renamed to
|
244
|
+
the given filename
|
245
|
+
|
246
|
+
2006-09-21 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
247
|
+
|
248
|
+
* New Auth Framework: restore backwards compatibility: 'auth
|
249
|
+
<masterpassword>' and 'login owner <masterpassword>' both work.
|
250
|
+
* Topic plugin: cleanups. Implement 'topic undo'. 'topic undo' after a
|
251
|
+
'topic undo' undoes the last undo.
|
252
|
+
|
253
|
+
2006-09-09 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
254
|
+
|
255
|
+
* New Auth Framework: rbot was opping anyone who asked for it (opme
|
256
|
+
plugin). Fixed, and cleaned up.
|
257
|
+
|
258
|
+
2006-09-01 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
259
|
+
|
260
|
+
* New Auth Framework: document and fine tune permissions view the auth
|
261
|
+
core botmodule.
|
262
|
+
* Version: when run from a svn checkout, the bot now tries to report
|
263
|
+
which svn revision it's at, and if there are local changes
|
264
|
+
|
265
|
+
2006-08-31 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
266
|
+
|
267
|
+
* Nickserv plugin: bot will now try to inform nickserv when password
|
268
|
+
is changed. Moreover it's not necessary to specify the nick anymore if
|
269
|
+
you want to change the password for the current bot nick. Also do some
|
270
|
+
internal cleanups while we're at it.
|
271
|
+
|
272
|
+
2006-08-29 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
273
|
+
|
274
|
+
* Script plugin: new (UNSAFE!) echo functions. Just like eval, but
|
275
|
+
m.replies the result of the evaluation.
|
276
|
+
* New Auth Framework: config keys now have their own permissions. So
|
277
|
+
you can allow people to view or edit only some of the config values.
|
278
|
+
auth.password defaults to false. Still needs some work.
|
279
|
+
|
280
|
+
2006-08-26 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
281
|
+
|
282
|
+
* Plugin message mapper: new implementation. Multi-word parameters now
|
283
|
+
need not be the last, and it is possible to retrieve the entire
|
284
|
+
substring with preserved whitespace by using to_s. Also, parts of the
|
285
|
+
map string can be bracketed to make them optional. Examples:
|
286
|
+
remind :user [about] *stuff
|
287
|
+
will respond to
|
288
|
+
remind me about washing my teeth
|
289
|
+
and also to
|
290
|
+
remind me washing my teeth
|
291
|
+
It is possible to have parameters in brackets, in which case they will
|
292
|
+
be optional too, and default to nil or [] (resp. single- and
|
293
|
+
multi-word parameters) unless an alternative is provided in the
|
294
|
+
:defaults hash for the message map options.
|
295
|
+
* Script plugin: new (UNSAFE!) eval function. Not documented in help.
|
296
|
+
Not permitted by default.
|
297
|
+
|
298
|
+
2006-08-25 Mark Kretschmann <markey@web.de>
|
299
|
+
|
300
|
+
* Added quiz plugin, a multiplayer trivia quiz game.
|
301
|
+
|
302
|
+
2006-08-20 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
303
|
+
|
304
|
+
* Topic plugin: fix a bug that prevented it from loading
|
305
|
+
correctly.
|
306
|
+
* New IRC Framework: make sure that NOTICEs and PRIVMSGs do not
|
307
|
+
raise an exception when the target is in one of the special forms
|
308
|
+
#<mask> or $<mask>. Needs some work, though, since this case should be
|
309
|
+
handled specifically.
|
310
|
+
|
311
|
+
2006-08-17 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
312
|
+
|
313
|
+
* Fix help: It got broken while rearranging the plugin stuff, now it's
|
314
|
+
properly fixed.
|
315
|
+
* New Auth Framework: forgot to create the InvalidPassword exception.
|
316
|
+
It's a RuntimeError now.
|
317
|
+
* Fix help: this time for real (or so I hope).
|
318
|
+
* New IRC Framework: topic plugin now works correctly.
|
319
|
+
* New Auth Framework: nickserv plugin now defaults to false for its
|
320
|
+
auth, so that only owner can do stuff with it
|
321
|
+
* New Auth Framework: fix horrible typo, assignment instead of
|
322
|
+
equality test when checking for the username during login.
|
323
|
+
* Keywords plugin: tell and forget work again without 'keyword' before
|
324
|
+
them.
|
325
|
+
|
326
|
+
2006-08-12 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
327
|
+
|
328
|
+
* Subregistry: force prefix to be a String with to_s
|
329
|
+
|
330
|
+
2006-08-11 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
331
|
+
|
332
|
+
* AutoOp plugin: adapted to the new IRC framework.
|
333
|
+
* AutoOp plugin: trigger autoop on nick change too.
|
334
|
+
* New Auth Framework: allow? method now informs a user when they don't
|
335
|
+
have permission to do what they asked for.
|
336
|
+
* New nickreply and nickokay methods: they act like the old reply
|
337
|
+
method, but include the nick of the user the bot is replying to when
|
338
|
+
talking in public. The usual reply method can be configured to act
|
339
|
+
like this as default.
|
340
|
+
|
341
|
+
2006-08-10 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
342
|
+
|
343
|
+
* Fix a bug in new IRC Framework: the list of channels a quitting user was
|
344
|
+
on was not built correctly, causing an exception when the user was not
|
345
|
+
in the first channel in the list of channels.
|
346
|
+
* Fix a bug in new Auth Framework: BotUser's name is changed via
|
347
|
+
username=, not name=.
|
348
|
+
* New HalfLife 2 plugin from ocr: queries online servers for online
|
349
|
+
status and number of users.
|
350
|
+
|
351
|
+
2006-08-07 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
352
|
+
|
353
|
+
* Add kick method to kernel: plugins can now use
|
354
|
+
@bot.kick channel, user, reason
|
355
|
+
to kick a user from a channel
|
356
|
+
* RSS plugin: fix rewatch_rss method
|
357
|
+
* RSS plugin: the different ways to represent channels before and
|
358
|
+
after the New IRC Framework was causing strange problems such as
|
359
|
+
watched feed not being listed as such, undeletable watches, double
|
360
|
+
watches etc. Fix this by checking both for the Channel objects and
|
361
|
+
their to_s form when checking for watches or deleting them.
|
362
|
+
|
363
|
+
2006-08-06 Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
|
364
|
+
|
365
|
+
* Updating the ChangeLog again: describe the new stuff in trunk which
|
366
|
+
will be made available in the next release. Use Gnu style for new
|
367
|
+
changelog entries (yyyy-mm-dd name <email address>\n<tab> ...):
|
368
|
+
there's a macro for this since at least Vim 6.x and higher, called by
|
369
|
+
<Leader>o (default leader: slash (\))
|
370
|
+
* New IRC Framework: Server, Channels, User, Netmasks etc are all
|
371
|
+
proper Ruby objects. The better organization will allow multi-server
|
372
|
+
connections to be implemented more easily
|
373
|
+
* Modularize core: split the internal functionality from what can be
|
374
|
+
implemented as botmodules (which work just the same as plugins). Move
|
375
|
+
Configuration, Basics and Auth out of the 'kernel' into core
|
376
|
+
botmodules.
|
377
|
+
* New Auth Framework: BotUsers are now Ruby objects with attached
|
378
|
+
PermissionSets which define what the BotUser can do, by channel if
|
379
|
+
necessary. The new framework allows very fine-grained control while
|
380
|
+
still being very easy to manage for elementary usage. BotUser data can
|
381
|
+
be exported and imported, but no backwards compatibility has been
|
382
|
+
implemented yet. Most plugins still have to be updated to the new
|
383
|
+
command-path-based mechanism.
|
384
|
+
|
385
|
+
Sun Aug 06 17:33:55 BST 2006 Tom Gilbert <tom@linuxbrit.co.uk>
|
386
|
+
|
387
|
+
* 0.9.10 released
|
388
|
+
* Changes: Lots of new and updated plugins, including one to poll RSS feeds.
|
389
|
+
A first step towards a better auth system (total revamp due in 0.9.11).
|
390
|
+
Improvements to network and server code which should provide greater
|
391
|
+
stability. A new message queueing mechanism with bitrate throttling. A new
|
392
|
+
logging framework for debugging and tracing the activities of the bot. A
|
393
|
+
new split-db registry system for better performance and transactional
|
394
|
+
usage of bdb for resilience. More integration with Nickserv where
|
395
|
+
available including optional automatic ghost-killing.
|
396
|
+
|
1
397
|
Wed Sep 07 20:16:46 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
2
398
|
|
3
399
|
* Fixed quit, broke it last commit
|