rbot 0.9.10 → 0.9.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (706) hide show
  1. data/AUTHORS +22 -4
  2. data/COPYING +5 -18
  3. data/ChangeLog +396 -0
  4. data/README +23 -25
  5. data/REQUIREMENTS +58 -12
  6. data/Rakefile +215 -0
  7. data/bin/rbot +47 -25
  8. data/bin/rbot-remote +76 -0
  9. data/data/rbot/languages/french.lang +5 -5
  10. data/data/rbot/languages/german.lang +4 -4
  11. data/data/rbot/languages/italian.lang +53 -0
  12. data/data/rbot/languages/japanese.lang +43 -0
  13. data/data/rbot/languages/russian.lang +60 -60
  14. data/data/rbot/languages/traditional_chinese.lang +75 -0
  15. data/data/rbot/plugins/alias.rb +192 -0
  16. data/data/rbot/plugins/autoop.rb +74 -37
  17. data/data/rbot/plugins/autorejoin.rb +15 -5
  18. data/data/rbot/plugins/bans.rb +454 -150
  19. data/data/rbot/plugins/bash.rb +173 -31
  20. data/data/rbot/plugins/botsnack.rb +37 -0
  21. data/data/rbot/plugins/cal.rb +11 -2
  22. data/data/rbot/plugins/chanserv.rb +132 -0
  23. data/data/rbot/plugins/chucknorris.rb +2 -2
  24. data/data/rbot/plugins/chucknorris.yml.gz +0 -0
  25. data/data/rbot/plugins/debugger.rb +136 -0
  26. data/data/rbot/plugins/deepthoughts.rb +89 -95
  27. data/data/rbot/plugins/delicious.rb +109 -0
  28. data/data/rbot/plugins/dice.rb +77 -25
  29. data/data/rbot/plugins/dict.rb +243 -0
  30. data/data/rbot/plugins/dictclient.rb +211 -0
  31. data/data/rbot/plugins/digg.rb +2 -2
  32. data/data/rbot/plugins/excuse.rb +4 -4
  33. data/data/rbot/plugins/factoids.rb +506 -0
  34. data/data/rbot/plugins/figlet.rb +127 -18
  35. data/data/rbot/plugins/fish.rb +93 -33
  36. data/data/rbot/plugins/forecast.rb +40 -27
  37. data/data/rbot/plugins/fortune.rb +86 -11
  38. data/data/rbot/plugins/freshmeat.rb +46 -12
  39. data/data/rbot/plugins/games/azgame.rb +565 -0
  40. data/data/rbot/plugins/games/quiz.rb +961 -0
  41. data/data/rbot/plugins/games/roshambo.rb +62 -0
  42. data/data/rbot/plugins/{roulette.rb → games/roulette.rb} +58 -8
  43. data/data/rbot/plugins/games/shiritori.rb +485 -0
  44. data/data/rbot/plugins/games/uno.rb +1205 -0
  45. data/data/rbot/plugins/games/wheelfortune.rb +615 -0
  46. data/data/rbot/plugins/grouphug.rb +76 -22
  47. data/data/rbot/plugins/hl2.rb +97 -0
  48. data/data/rbot/plugins/host.rb +10 -1
  49. data/data/rbot/plugins/httpd.rb.disabled +1 -0
  50. data/data/rbot/plugins/imdb.rb +511 -47
  51. data/data/rbot/plugins/insult.rb +32 -37
  52. data/data/rbot/plugins/iplookup.rb +224 -224
  53. data/data/rbot/plugins/karma.rb +45 -21
  54. data/data/rbot/plugins/keywords.rb +258 -160
  55. data/data/rbot/plugins/lart.rb +126 -95
  56. data/data/rbot/plugins/lastfm.rb +421 -12
  57. data/data/rbot/plugins/linkbot.rb +75 -0
  58. data/data/rbot/plugins/markov.rb +103 -46
  59. data/data/rbot/plugins/math.rb +6 -5
  60. data/data/rbot/plugins/modes.rb +114 -0
  61. data/data/rbot/plugins/nickrecover.rb +97 -0
  62. data/data/rbot/plugins/nickserv.rb +111 -48
  63. data/data/rbot/plugins/nslookup.rb +15 -19
  64. data/data/rbot/plugins/plugin.header +11 -0
  65. data/data/rbot/plugins/quakeauth.rb +74 -11
  66. data/data/rbot/plugins/quotes.rb +189 -233
  67. data/data/rbot/plugins/reaction.rb +415 -0
  68. data/data/rbot/plugins/remind.rb +11 -15
  69. data/data/rbot/plugins/remotectl.rb +29 -0
  70. data/data/rbot/plugins/ri.rb +74 -0
  71. data/data/rbot/plugins/rot13.rb +16 -1
  72. data/data/rbot/plugins/rss.rb +1219 -585
  73. data/data/rbot/plugins/salut.rb +226 -0
  74. data/data/rbot/plugins/script.rb +184 -0
  75. data/data/rbot/plugins/search.rb +233 -0
  76. data/data/rbot/plugins/seen.rb +44 -40
  77. data/data/rbot/plugins/shortenurls.rb +93 -0
  78. data/data/rbot/plugins/slashdot.rb +49 -11
  79. data/data/rbot/plugins/spell.rb +37 -27
  80. data/data/rbot/plugins/theyfightcrime.rb +36 -39
  81. data/data/rbot/plugins/threat.rb +25 -22
  82. data/data/rbot/plugins/time.rb +135 -0
  83. data/data/rbot/plugins/topic.rb +107 -50
  84. data/data/rbot/plugins/translator.rb +360 -0
  85. data/data/rbot/plugins/tube.rb +28 -40
  86. data/data/rbot/plugins/twitter.rb +187 -0
  87. data/data/rbot/plugins/urban.rb +62 -53
  88. data/data/rbot/plugins/url.rb +193 -409
  89. data/data/rbot/plugins/usermodes.rb +26 -0
  90. data/data/rbot/plugins/wall.rb +60 -0
  91. data/data/rbot/plugins/weather.rb +254 -598
  92. data/data/rbot/plugins/wow.rb +41 -37
  93. data/data/rbot/plugins/wserver.rb +17 -25
  94. data/data/rbot/plugins/youtube.rb +237 -0
  95. data/data/rbot/templates/lart/{larts → larts-english} +0 -0
  96. data/data/rbot/templates/lart/larts-italian +25 -0
  97. data/data/rbot/templates/lart/larts-japanese +10 -0
  98. data/data/rbot/templates/lart/{praises → praises-english} +0 -0
  99. data/data/rbot/templates/lart/praises-italian +4 -0
  100. data/data/rbot/templates/lart/praises-japanese +3 -0
  101. data/data/rbot/templates/quiz/win_messages +11 -0
  102. data/data/rbot/templates/salut/salut-english +40 -0
  103. data/data/rbot/templates/salut/salut-french +29 -0
  104. data/data/rbot/templates/salut/salut-italian +51 -0
  105. data/data/rbot/templates/salut/salut-japanese +31 -0
  106. data/lib/rbot/botuser.rb +940 -0
  107. data/lib/rbot/config-compat.rb +23 -0
  108. data/lib/rbot/config.rb +211 -276
  109. data/lib/rbot/core/auth.rb +1063 -0
  110. data/lib/rbot/core/basics.rb +214 -0
  111. data/lib/rbot/core/config.rb +330 -0
  112. data/lib/rbot/core/filters_ui.rb +64 -0
  113. data/lib/rbot/core/irclog.rb +292 -0
  114. data/lib/rbot/core/remote.rb +401 -0
  115. data/lib/rbot/core/unicode.rb +91 -0
  116. data/lib/rbot/core/userdata.rb +200 -0
  117. data/lib/rbot/core/utils/extends.rb +444 -0
  118. data/lib/rbot/core/utils/filters.rb +154 -0
  119. data/lib/rbot/core/utils/httputil.rb +689 -0
  120. data/lib/rbot/core/utils/utils.rb +717 -0
  121. data/lib/rbot/dbhash.rb +30 -9
  122. data/lib/rbot/irc.rb +1966 -0
  123. data/lib/rbot/ircbot.rb +816 -675
  124. data/lib/rbot/ircsocket.rb +246 -232
  125. data/lib/rbot/language.rb +86 -8
  126. data/lib/rbot/load-gettext.rb +154 -0
  127. data/lib/rbot/maskdb.rb +162 -0
  128. data/lib/rbot/message.rb +392 -65
  129. data/lib/rbot/messagemapper.rb +438 -94
  130. data/lib/rbot/pkgconfig.rb +6 -0
  131. data/lib/rbot/plugins.rb +713 -172
  132. data/lib/rbot/post-config.rb +1 -0
  133. data/lib/rbot/rbotconfig.rb +31 -12
  134. data/lib/rbot/registry.rb +79 -48
  135. data/lib/rbot/rfc2812.rb +927 -519
  136. data/lib/rbot/timer.rb +232 -167
  137. data/po/en_US/rbot-alias.po +82 -0
  138. data/po/en_US/rbot-autoop.po +0 -0
  139. data/po/en_US/rbot-autorejoin.po +0 -0
  140. data/po/en_US/rbot-azgame.po +200 -0
  141. data/po/en_US/rbot-bans.po +0 -0
  142. data/po/en_US/rbot-bash.po +0 -0
  143. data/po/en_US/rbot-botsnack.po +0 -0
  144. data/po/en_US/rbot-cal.po +3 -0
  145. data/po/en_US/rbot-chanserv.po +0 -0
  146. data/po/en_US/rbot-chucknorris.po +0 -0
  147. data/po/en_US/rbot-debugger.po +0 -0
  148. data/po/en_US/rbot-deepthoughts.po +0 -0
  149. data/po/en_US/rbot-delicious.po +0 -0
  150. data/po/en_US/rbot-dice.po +0 -0
  151. data/po/en_US/rbot-dict.po +0 -0
  152. data/po/en_US/rbot-dictclient.po +124 -0
  153. data/po/en_US/rbot-digg.po +0 -0
  154. data/po/en_US/rbot-eightball.po +0 -0
  155. data/po/en_US/rbot-excuse.po +0 -0
  156. data/po/en_US/rbot-factoids.po +107 -0
  157. data/po/en_US/rbot-figlet.po +36 -0
  158. data/po/en_US/rbot-fish.po +0 -0
  159. data/po/en_US/rbot-forecast.po +0 -0
  160. data/po/en_US/rbot-fortune.po +0 -0
  161. data/po/en_US/rbot-freshmeat.po +0 -0
  162. data/po/en_US/rbot-grouphug.po +18 -0
  163. data/po/en_US/rbot-hl2.po +0 -0
  164. data/po/en_US/rbot-host.po +3 -0
  165. data/po/en_US/rbot-imdb.po +0 -0
  166. data/po/en_US/rbot-insult.po +0 -0
  167. data/po/en_US/rbot-iplookup.po +0 -0
  168. data/po/en_US/rbot-karma.po +0 -0
  169. data/po/en_US/rbot-keywords.po +24 -0
  170. data/po/en_US/rbot-lart.po +0 -0
  171. data/po/en_US/rbot-lastfm.po +172 -0
  172. data/po/en_US/rbot-linkbot.po +0 -0
  173. data/po/en_US/rbot-markov.po +20 -0
  174. data/po/en_US/rbot-math.po +0 -0
  175. data/po/en_US/rbot-modes.po +0 -0
  176. data/po/en_US/rbot-nickrecover.po +40 -0
  177. data/po/en_US/rbot-nickserv.po +104 -0
  178. data/po/en_US/rbot-nslookup.po +0 -0
  179. data/po/en_US/rbot-quakeauth.po +0 -0
  180. data/po/en_US/rbot-quiz.po +0 -0
  181. data/po/en_US/rbot-quotes.po +108 -0
  182. data/po/en_US/rbot-reaction.po +0 -0
  183. data/po/en_US/rbot-remind.po +0 -0
  184. data/po/en_US/rbot-remotectl.po +0 -0
  185. data/po/en_US/rbot-ri.po +0 -0
  186. data/po/en_US/rbot-roshambo.po +0 -0
  187. data/po/en_US/rbot-rot13.po +0 -0
  188. data/po/en_US/rbot-roulette.po +0 -0
  189. data/po/en_US/rbot-rss.po +20 -0
  190. data/po/en_US/rbot-salut.po +0 -0
  191. data/po/en_US/rbot-script.po +0 -0
  192. data/po/en_US/rbot-search.po +0 -0
  193. data/po/en_US/rbot-seen.po +0 -0
  194. data/po/en_US/rbot-shiritori.po +113 -0
  195. data/po/en_US/rbot-shortenurls.po +0 -0
  196. data/po/en_US/rbot-slashdot.po +0 -0
  197. data/po/en_US/rbot-spell.po +54 -0
  198. data/po/en_US/rbot-theyfightcrime.po +0 -0
  199. data/po/en_US/rbot-threat.po +0 -0
  200. data/po/en_US/rbot-time.po +0 -0
  201. data/po/en_US/rbot-topic.po +0 -0
  202. data/po/en_US/rbot-translator.po +77 -0
  203. data/po/en_US/rbot-tube.po +0 -0
  204. data/po/en_US/rbot-twitter.po +24 -0
  205. data/po/en_US/rbot-uno.po +512 -0
  206. data/po/en_US/rbot-urban.po +0 -0
  207. data/po/en_US/rbot-url.po +0 -0
  208. data/po/en_US/rbot-usermodes.po +0 -0
  209. data/po/en_US/rbot-wall.po +33 -0
  210. data/po/en_US/rbot-weather.po +0 -0
  211. data/po/en_US/rbot-wheelfortune.po +205 -0
  212. data/po/en_US/rbot-wow.po +0 -0
  213. data/po/en_US/rbot-wserver.po +0 -0
  214. data/po/en_US/rbot-youtube.po +58 -0
  215. data/po/en_US/rbot.po +1097 -0
  216. data/po/fr/rbot-alias.po +97 -0
  217. data/po/fr/rbot-autoop.po +0 -0
  218. data/po/fr/rbot-autorejoin.po +0 -0
  219. data/po/fr/rbot-azgame.po +204 -0
  220. data/po/fr/rbot-bans.po +0 -0
  221. data/po/fr/rbot-bash.po +0 -0
  222. data/po/fr/rbot-botsnack.po +0 -0
  223. data/po/fr/rbot-cal.po +3 -0
  224. data/po/fr/rbot-chanserv.po +0 -0
  225. data/po/fr/rbot-chucknorris.po +0 -0
  226. data/po/fr/rbot-debugger.po +0 -0
  227. data/po/fr/rbot-deepthoughts.po +0 -0
  228. data/po/fr/rbot-delicious.po +0 -0
  229. data/po/fr/rbot-dice.po +0 -0
  230. data/po/fr/rbot-dict.po +0 -0
  231. data/po/fr/rbot-dictclient.po +134 -0
  232. data/po/fr/rbot-digg.po +0 -0
  233. data/po/fr/rbot-eightball.po +0 -0
  234. data/po/fr/rbot-excuse.po +0 -0
  235. data/po/fr/rbot-factoids.po +111 -0
  236. data/po/fr/rbot-figlet.po +37 -0
  237. data/po/fr/rbot-fish.po +0 -0
  238. data/po/fr/rbot-forecast.po +0 -0
  239. data/po/fr/rbot-fortune.po +0 -0
  240. data/po/fr/rbot-freshmeat.po +0 -0
  241. data/po/fr/rbot-grouphug.po +18 -0
  242. data/po/fr/rbot-hl2.po +0 -0
  243. data/po/fr/rbot-host.po +3 -0
  244. data/po/fr/rbot-imdb.po +0 -0
  245. data/po/fr/rbot-insult.po +0 -0
  246. data/po/fr/rbot-iplookup.po +0 -0
  247. data/po/fr/rbot-karma.po +0 -0
  248. data/po/fr/rbot-keywords.po +24 -0
  249. data/po/fr/rbot-lart.po +0 -0
  250. data/po/fr/rbot-lastfm.po +172 -0
  251. data/po/fr/rbot-linkbot.po +0 -0
  252. data/po/fr/rbot-markov.po +20 -0
  253. data/po/fr/rbot-math.po +0 -0
  254. data/po/fr/rbot-modes.po +0 -0
  255. data/po/fr/rbot-nickrecover.po +36 -0
  256. data/po/fr/rbot-nickserv.po +116 -0
  257. data/po/fr/rbot-nslookup.po +0 -0
  258. data/po/fr/rbot-quakeauth.po +0 -0
  259. data/po/fr/rbot-quiz.po +0 -0
  260. data/po/fr/rbot-quotes.po +138 -0
  261. data/po/fr/rbot-reaction.po +0 -0
  262. data/po/fr/rbot-remind.po +0 -0
  263. data/po/fr/rbot-remotectl.po +0 -0
  264. data/po/fr/rbot-ri.po +0 -0
  265. data/po/fr/rbot-roshambo.po +0 -0
  266. data/po/fr/rbot-rot13.po +0 -0
  267. data/po/fr/rbot-roulette.po +0 -0
  268. data/po/fr/rbot-rss.po +20 -0
  269. data/po/fr/rbot-salut.po +0 -0
  270. data/po/fr/rbot-script.po +0 -0
  271. data/po/fr/rbot-search.po +0 -0
  272. data/po/fr/rbot-seen.po +0 -0
  273. data/po/fr/rbot-shiritori.po +119 -0
  274. data/po/fr/rbot-shortenurls.po +0 -0
  275. data/po/fr/rbot-slashdot.po +0 -0
  276. data/po/fr/rbot-spell.po +56 -0
  277. data/po/fr/rbot-theyfightcrime.po +0 -0
  278. data/po/fr/rbot-threat.po +0 -0
  279. data/po/fr/rbot-time.po +0 -0
  280. data/po/fr/rbot-topic.po +0 -0
  281. data/po/fr/rbot-translator.po +90 -0
  282. data/po/fr/rbot-tube.po +0 -0
  283. data/po/fr/rbot-twitter.po +24 -0
  284. data/po/fr/rbot-uno.po +521 -0
  285. data/po/fr/rbot-urban.po +0 -0
  286. data/po/fr/rbot-url.po +0 -0
  287. data/po/fr/rbot-usermodes.po +0 -0
  288. data/po/fr/rbot-wall.po +33 -0
  289. data/po/fr/rbot-weather.po +0 -0
  290. data/po/fr/rbot-wheelfortune.po +255 -0
  291. data/po/fr/rbot-wow.po +0 -0
  292. data/po/fr/rbot-wserver.po +0 -0
  293. data/po/fr/rbot-youtube.po +64 -0
  294. data/po/fr/rbot.po +1133 -0
  295. data/po/it/rbot-alias.po +82 -0
  296. data/po/it/rbot-autoop.po +0 -0
  297. data/po/it/rbot-autorejoin.po +0 -0
  298. data/po/it/rbot-azgame.po +186 -0
  299. data/po/it/rbot-bans.po +0 -0
  300. data/po/it/rbot-bash.po +0 -0
  301. data/po/it/rbot-botsnack.po +0 -0
  302. data/po/it/rbot-cal.po +3 -0
  303. data/po/it/rbot-chanserv.po +0 -0
  304. data/po/it/rbot-chucknorris.po +0 -0
  305. data/po/it/rbot-debugger.po +0 -0
  306. data/po/it/rbot-deepthoughts.po +0 -0
  307. data/po/it/rbot-delicious.po +0 -0
  308. data/po/it/rbot-dice.po +0 -0
  309. data/po/it/rbot-dict.po +0 -0
  310. data/po/it/rbot-dictclient.po +111 -0
  311. data/po/it/rbot-digg.po +0 -0
  312. data/po/it/rbot-eightball.po +0 -0
  313. data/po/it/rbot-excuse.po +0 -0
  314. data/po/it/rbot-factoids.po +110 -0
  315. data/po/it/rbot-figlet.po +36 -0
  316. data/po/it/rbot-fish.po +0 -0
  317. data/po/it/rbot-forecast.po +0 -0
  318. data/po/it/rbot-fortune.po +0 -0
  319. data/po/it/rbot-freshmeat.po +0 -0
  320. data/po/it/rbot-grouphug.po +18 -0
  321. data/po/it/rbot-hl2.po +0 -0
  322. data/po/it/rbot-host.po +3 -0
  323. data/po/it/rbot-imdb.po +0 -0
  324. data/po/it/rbot-insult.po +0 -0
  325. data/po/it/rbot-iplookup.po +0 -0
  326. data/po/it/rbot-karma.po +0 -0
  327. data/po/it/rbot-keywords.po +24 -0
  328. data/po/it/rbot-lart.po +0 -0
  329. data/po/it/rbot-lastfm.po +172 -0
  330. data/po/it/rbot-linkbot.po +0 -0
  331. data/po/it/rbot-markov.po +20 -0
  332. data/po/it/rbot-math.po +0 -0
  333. data/po/it/rbot-modes.po +0 -0
  334. data/po/it/rbot-nickrecover.po +36 -0
  335. data/po/it/rbot-nickserv.po +104 -0
  336. data/po/it/rbot-nslookup.po +0 -0
  337. data/po/it/rbot-quakeauth.po +0 -0
  338. data/po/it/rbot-quiz.po +0 -0
  339. data/po/it/rbot-quotes.po +108 -0
  340. data/po/it/rbot-reaction.po +0 -0
  341. data/po/it/rbot-remind.po +0 -0
  342. data/po/it/rbot-remotectl.po +0 -0
  343. data/po/it/rbot-ri.po +0 -0
  344. data/po/it/rbot-roshambo.po +0 -0
  345. data/po/it/rbot-rot13.po +0 -0
  346. data/po/it/rbot-roulette.po +0 -0
  347. data/po/it/rbot-rss.po +20 -0
  348. data/po/it/rbot-salut.po +0 -0
  349. data/po/it/rbot-script.po +0 -0
  350. data/po/it/rbot-search.po +0 -0
  351. data/po/it/rbot-seen.po +0 -0
  352. data/po/it/rbot-shiritori.po +102 -0
  353. data/po/it/rbot-shortenurls.po +0 -0
  354. data/po/it/rbot-slashdot.po +0 -0
  355. data/po/it/rbot-spell.po +54 -0
  356. data/po/it/rbot-theyfightcrime.po +0 -0
  357. data/po/it/rbot-threat.po +0 -0
  358. data/po/it/rbot-time.po +0 -0
  359. data/po/it/rbot-topic.po +0 -0
  360. data/po/it/rbot-translator.po +77 -0
  361. data/po/it/rbot-tube.po +0 -0
  362. data/po/it/rbot-twitter.po +24 -0
  363. data/po/it/rbot-uno.po +564 -0
  364. data/po/it/rbot-urban.po +0 -0
  365. data/po/it/rbot-url.po +0 -0
  366. data/po/it/rbot-usermodes.po +0 -0
  367. data/po/it/rbot-wall.po +33 -0
  368. data/po/it/rbot-weather.po +0 -0
  369. data/po/it/rbot-wheelfortune.po +251 -0
  370. data/po/it/rbot-wow.po +0 -0
  371. data/po/it/rbot-wserver.po +0 -0
  372. data/po/it/rbot-youtube.po +64 -0
  373. data/po/it/rbot.po +1127 -0
  374. data/po/ja/rbot-alias.po +82 -0
  375. data/po/ja/rbot-autoop.po +0 -0
  376. data/po/ja/rbot-autorejoin.po +0 -0
  377. data/po/ja/rbot-azgame.po +194 -0
  378. data/po/ja/rbot-bans.po +0 -0
  379. data/po/ja/rbot-bash.po +0 -0
  380. data/po/ja/rbot-botsnack.po +0 -0
  381. data/po/ja/rbot-cal.po +3 -0
  382. data/po/ja/rbot-chanserv.po +0 -0
  383. data/po/ja/rbot-chucknorris.po +0 -0
  384. data/po/ja/rbot-debugger.po +0 -0
  385. data/po/ja/rbot-deepthoughts.po +0 -0
  386. data/po/ja/rbot-delicious.po +0 -0
  387. data/po/ja/rbot-dice.po +0 -0
  388. data/po/ja/rbot-dict.po +0 -0
  389. data/po/ja/rbot-dictclient.po +111 -0
  390. data/po/ja/rbot-digg.po +0 -0
  391. data/po/ja/rbot-eightball.po +0 -0
  392. data/po/ja/rbot-excuse.po +0 -0
  393. data/po/ja/rbot-factoids.po +107 -0
  394. data/po/ja/rbot-figlet.po +36 -0
  395. data/po/ja/rbot-fish.po +0 -0
  396. data/po/ja/rbot-forecast.po +0 -0
  397. data/po/ja/rbot-fortune.po +0 -0
  398. data/po/ja/rbot-freshmeat.po +0 -0
  399. data/po/ja/rbot-grouphug.po +18 -0
  400. data/po/ja/rbot-hl2.po +0 -0
  401. data/po/ja/rbot-host.po +3 -0
  402. data/po/ja/rbot-imdb.po +0 -0
  403. data/po/ja/rbot-insult.po +0 -0
  404. data/po/ja/rbot-iplookup.po +0 -0
  405. data/po/ja/rbot-karma.po +0 -0
  406. data/po/ja/rbot-keywords.po +24 -0
  407. data/po/ja/rbot-lart.po +0 -0
  408. data/po/ja/rbot-lastfm.po +172 -0
  409. data/po/ja/rbot-linkbot.po +0 -0
  410. data/po/ja/rbot-markov.po +20 -0
  411. data/po/ja/rbot-math.po +0 -0
  412. data/po/ja/rbot-modes.po +0 -0
  413. data/po/ja/rbot-nickrecover.po +36 -0
  414. data/po/ja/rbot-nickserv.po +104 -0
  415. data/po/ja/rbot-nslookup.po +0 -0
  416. data/po/ja/rbot-quakeauth.po +0 -0
  417. data/po/ja/rbot-quiz.po +0 -0
  418. data/po/ja/rbot-quotes.po +108 -0
  419. data/po/ja/rbot-reaction.po +0 -0
  420. data/po/ja/rbot-remind.po +0 -0
  421. data/po/ja/rbot-remotectl.po +0 -0
  422. data/po/ja/rbot-ri.po +0 -0
  423. data/po/ja/rbot-roshambo.po +0 -0
  424. data/po/ja/rbot-rot13.po +0 -0
  425. data/po/ja/rbot-roulette.po +0 -0
  426. data/po/ja/rbot-rss.po +20 -0
  427. data/po/ja/rbot-salut.po +0 -0
  428. data/po/ja/rbot-script.po +0 -0
  429. data/po/ja/rbot-search.po +0 -0
  430. data/po/ja/rbot-seen.po +0 -0
  431. data/po/ja/rbot-shiritori.po +115 -0
  432. data/po/ja/rbot-shortenurls.po +0 -0
  433. data/po/ja/rbot-slashdot.po +0 -0
  434. data/po/ja/rbot-spell.po +54 -0
  435. data/po/ja/rbot-theyfightcrime.po +0 -0
  436. data/po/ja/rbot-threat.po +0 -0
  437. data/po/ja/rbot-time.po +0 -0
  438. data/po/ja/rbot-topic.po +0 -0
  439. data/po/ja/rbot-translator.po +77 -0
  440. data/po/ja/rbot-tube.po +0 -0
  441. data/po/ja/rbot-twitter.po +24 -0
  442. data/po/ja/rbot-uno.po +512 -0
  443. data/po/ja/rbot-urban.po +0 -0
  444. data/po/ja/rbot-url.po +0 -0
  445. data/po/ja/rbot-usermodes.po +0 -0
  446. data/po/ja/rbot-wall.po +33 -0
  447. data/po/ja/rbot-weather.po +0 -0
  448. data/po/ja/rbot-wheelfortune.po +205 -0
  449. data/po/ja/rbot-wow.po +0 -0
  450. data/po/ja/rbot-wserver.po +0 -0
  451. data/po/ja/rbot-youtube.po +58 -0
  452. data/po/ja/rbot.po +999 -0
  453. data/po/rbot-alias.pot +83 -0
  454. data/po/rbot-autoop.pot +0 -0
  455. data/po/rbot-autorejoin.pot +0 -0
  456. data/po/rbot-azgame.pot +187 -0
  457. data/po/rbot-bans.pot +0 -0
  458. data/po/rbot-bash.pot +0 -0
  459. data/po/rbot-botsnack.pot +0 -0
  460. data/po/rbot-cal.pot +21 -0
  461. data/po/rbot-chanserv.pot +0 -0
  462. data/po/rbot-chucknorris.pot +0 -0
  463. data/po/rbot-debugger.pot +0 -0
  464. data/po/rbot-deepthoughts.pot +0 -0
  465. data/po/rbot-delicious.pot +0 -0
  466. data/po/rbot-dice.pot +0 -0
  467. data/po/rbot-dict.pot +0 -0
  468. data/po/rbot-dictclient.pot +112 -0
  469. data/po/rbot-digg.pot +0 -0
  470. data/po/rbot-eightball.pot +0 -0
  471. data/po/rbot-excuse.pot +0 -0
  472. data/po/rbot-factoids.pot +108 -0
  473. data/po/rbot-figlet.pot +37 -0
  474. data/po/rbot-fish.pot +0 -0
  475. data/po/rbot-forecast.pot +0 -0
  476. data/po/rbot-fortune.pot +0 -0
  477. data/po/rbot-freshmeat.pot +0 -0
  478. data/po/rbot-grouphug.pot +36 -0
  479. data/po/rbot-hl2.pot +0 -0
  480. data/po/rbot-host.pot +21 -0
  481. data/po/rbot-imdb.pot +0 -0
  482. data/po/rbot-insult.pot +0 -0
  483. data/po/rbot-iplookup.pot +0 -0
  484. data/po/rbot-karma.pot +0 -0
  485. data/po/rbot-keywords.pot +25 -0
  486. data/po/rbot-lart.pot +0 -0
  487. data/po/rbot-lastfm.pot +190 -0
  488. data/po/rbot-linkbot.pot +0 -0
  489. data/po/rbot-markov.pot +21 -0
  490. data/po/rbot-math.pot +0 -0
  491. data/po/rbot-modes.pot +0 -0
  492. data/po/rbot-nickrecover.pot +37 -0
  493. data/po/rbot-nickserv.pot +105 -0
  494. data/po/rbot-nslookup.pot +0 -0
  495. data/po/rbot-quakeauth.pot +0 -0
  496. data/po/rbot-quiz.pot +0 -0
  497. data/po/rbot-quotes.pot +109 -0
  498. data/po/rbot-reaction.pot +0 -0
  499. data/po/rbot-remind.pot +0 -0
  500. data/po/rbot-remotectl.pot +0 -0
  501. data/po/rbot-ri.pot +0 -0
  502. data/po/rbot-roshambo.pot +0 -0
  503. data/po/rbot-rot13.pot +0 -0
  504. data/po/rbot-roulette.pot +0 -0
  505. data/po/rbot-rss.pot +21 -0
  506. data/po/rbot-salut.pot +0 -0
  507. data/po/rbot-script.pot +0 -0
  508. data/po/rbot-search.pot +0 -0
  509. data/po/rbot-seen.pot +0 -0
  510. data/po/rbot-shiritori.pot +103 -0
  511. data/po/rbot-shortenurls.pot +0 -0
  512. data/po/rbot-slashdot.pot +0 -0
  513. data/po/rbot-spell.pot +55 -0
  514. data/po/rbot-theyfightcrime.pot +0 -0
  515. data/po/rbot-threat.pot +0 -0
  516. data/po/rbot-time.pot +0 -0
  517. data/po/rbot-topic.pot +0 -0
  518. data/po/rbot-translator.pot +78 -0
  519. data/po/rbot-tube.pot +0 -0
  520. data/po/rbot-twitter.pot +25 -0
  521. data/po/rbot-uno.pot +513 -0
  522. data/po/rbot-urban.pot +0 -0
  523. data/po/rbot-url.pot +0 -0
  524. data/po/rbot-usermodes.pot +0 -0
  525. data/po/rbot-wall.pot +33 -0
  526. data/po/rbot-weather.pot +0 -0
  527. data/po/rbot-wheelfortune.pot +206 -0
  528. data/po/rbot-wow.pot +0 -0
  529. data/po/rbot-wserver.pot +0 -0
  530. data/po/rbot-youtube.pot +59 -0
  531. data/po/rbot.pot +1004 -0
  532. data/po/zh_CN/rbot-alias.po +82 -0
  533. data/po/zh_CN/rbot-autoop.po +0 -0
  534. data/po/zh_CN/rbot-autorejoin.po +0 -0
  535. data/po/zh_CN/rbot-azgame.po +186 -0
  536. data/po/zh_CN/rbot-bans.po +0 -0
  537. data/po/zh_CN/rbot-bash.po +0 -0
  538. data/po/zh_CN/rbot-botsnack.po +0 -0
  539. data/po/zh_CN/rbot-cal.po +3 -0
  540. data/po/zh_CN/rbot-chanserv.po +0 -0
  541. data/po/zh_CN/rbot-chucknorris.po +0 -0
  542. data/po/zh_CN/rbot-debugger.po +0 -0
  543. data/po/zh_CN/rbot-deepthoughts.po +0 -0
  544. data/po/zh_CN/rbot-delicious.po +0 -0
  545. data/po/zh_CN/rbot-dice.po +0 -0
  546. data/po/zh_CN/rbot-dict.po +0 -0
  547. data/po/zh_CN/rbot-dictclient.po +111 -0
  548. data/po/zh_CN/rbot-digg.po +0 -0
  549. data/po/zh_CN/rbot-eightball.po +0 -0
  550. data/po/zh_CN/rbot-excuse.po +0 -0
  551. data/po/zh_CN/rbot-factoids.po +107 -0
  552. data/po/zh_CN/rbot-figlet.po +36 -0
  553. data/po/zh_CN/rbot-fish.po +0 -0
  554. data/po/zh_CN/rbot-forecast.po +0 -0
  555. data/po/zh_CN/rbot-fortune.po +0 -0
  556. data/po/zh_CN/rbot-freshmeat.po +0 -0
  557. data/po/zh_CN/rbot-grouphug.po +18 -0
  558. data/po/zh_CN/rbot-hl2.po +0 -0
  559. data/po/zh_CN/rbot-host.po +3 -0
  560. data/po/zh_CN/rbot-imdb.po +0 -0
  561. data/po/zh_CN/rbot-insult.po +0 -0
  562. data/po/zh_CN/rbot-iplookup.po +0 -0
  563. data/po/zh_CN/rbot-karma.po +0 -0
  564. data/po/zh_CN/rbot-keywords.po +24 -0
  565. data/po/zh_CN/rbot-lart.po +0 -0
  566. data/po/zh_CN/rbot-lastfm.po +172 -0
  567. data/po/zh_CN/rbot-linkbot.po +0 -0
  568. data/po/zh_CN/rbot-markov.po +20 -0
  569. data/po/zh_CN/rbot-math.po +0 -0
  570. data/po/zh_CN/rbot-modes.po +0 -0
  571. data/po/zh_CN/rbot-nickrecover.po +36 -0
  572. data/po/zh_CN/rbot-nickserv.po +104 -0
  573. data/po/zh_CN/rbot-nslookup.po +0 -0
  574. data/po/zh_CN/rbot-quakeauth.po +0 -0
  575. data/po/zh_CN/rbot-quiz.po +0 -0
  576. data/po/zh_CN/rbot-quotes.po +108 -0
  577. data/po/zh_CN/rbot-reaction.po +0 -0
  578. data/po/zh_CN/rbot-remind.po +0 -0
  579. data/po/zh_CN/rbot-remotectl.po +0 -0
  580. data/po/zh_CN/rbot-ri.po +0 -0
  581. data/po/zh_CN/rbot-roshambo.po +0 -0
  582. data/po/zh_CN/rbot-rot13.po +0 -0
  583. data/po/zh_CN/rbot-roulette.po +0 -0
  584. data/po/zh_CN/rbot-rss.po +20 -0
  585. data/po/zh_CN/rbot-salut.po +0 -0
  586. data/po/zh_CN/rbot-script.po +0 -0
  587. data/po/zh_CN/rbot-search.po +0 -0
  588. data/po/zh_CN/rbot-seen.po +0 -0
  589. data/po/zh_CN/rbot-shiritori.po +102 -0
  590. data/po/zh_CN/rbot-shortenurls.po +0 -0
  591. data/po/zh_CN/rbot-slashdot.po +0 -0
  592. data/po/zh_CN/rbot-spell.po +54 -0
  593. data/po/zh_CN/rbot-theyfightcrime.po +0 -0
  594. data/po/zh_CN/rbot-threat.po +0 -0
  595. data/po/zh_CN/rbot-time.po +0 -0
  596. data/po/zh_CN/rbot-topic.po +0 -0
  597. data/po/zh_CN/rbot-translator.po +77 -0
  598. data/po/zh_CN/rbot-tube.po +0 -0
  599. data/po/zh_CN/rbot-twitter.po +24 -0
  600. data/po/zh_CN/rbot-uno.po +512 -0
  601. data/po/zh_CN/rbot-urban.po +0 -0
  602. data/po/zh_CN/rbot-url.po +0 -0
  603. data/po/zh_CN/rbot-usermodes.po +0 -0
  604. data/po/zh_CN/rbot-wall.po +33 -0
  605. data/po/zh_CN/rbot-weather.po +0 -0
  606. data/po/zh_CN/rbot-wheelfortune.po +205 -0
  607. data/po/zh_CN/rbot-wow.po +0 -0
  608. data/po/zh_CN/rbot-wserver.po +0 -0
  609. data/po/zh_CN/rbot-youtube.po +58 -0
  610. data/po/zh_CN/rbot.po +1006 -0
  611. data/po/zh_TW/rbot-alias.po +82 -0
  612. data/po/zh_TW/rbot-autoop.po +0 -0
  613. data/po/zh_TW/rbot-autorejoin.po +0 -0
  614. data/po/zh_TW/rbot-azgame.po +186 -0
  615. data/po/zh_TW/rbot-bans.po +0 -0
  616. data/po/zh_TW/rbot-bash.po +0 -0
  617. data/po/zh_TW/rbot-botsnack.po +0 -0
  618. data/po/zh_TW/rbot-cal.po +3 -0
  619. data/po/zh_TW/rbot-chanserv.po +0 -0
  620. data/po/zh_TW/rbot-chucknorris.po +0 -0
  621. data/po/zh_TW/rbot-debugger.po +0 -0
  622. data/po/zh_TW/rbot-deepthoughts.po +0 -0
  623. data/po/zh_TW/rbot-delicious.po +0 -0
  624. data/po/zh_TW/rbot-dice.po +0 -0
  625. data/po/zh_TW/rbot-dict.po +0 -0
  626. data/po/zh_TW/rbot-dictclient.po +111 -0
  627. data/po/zh_TW/rbot-digg.po +0 -0
  628. data/po/zh_TW/rbot-eightball.po +0 -0
  629. data/po/zh_TW/rbot-excuse.po +0 -0
  630. data/po/zh_TW/rbot-factoids.po +107 -0
  631. data/po/zh_TW/rbot-figlet.po +36 -0
  632. data/po/zh_TW/rbot-fish.po +0 -0
  633. data/po/zh_TW/rbot-forecast.po +0 -0
  634. data/po/zh_TW/rbot-fortune.po +0 -0
  635. data/po/zh_TW/rbot-freshmeat.po +0 -0
  636. data/po/zh_TW/rbot-grouphug.po +18 -0
  637. data/po/zh_TW/rbot-hl2.po +0 -0
  638. data/po/zh_TW/rbot-host.po +3 -0
  639. data/po/zh_TW/rbot-imdb.po +0 -0
  640. data/po/zh_TW/rbot-insult.po +0 -0
  641. data/po/zh_TW/rbot-iplookup.po +0 -0
  642. data/po/zh_TW/rbot-karma.po +0 -0
  643. data/po/zh_TW/rbot-keywords.po +24 -0
  644. data/po/zh_TW/rbot-lart.po +0 -0
  645. data/po/zh_TW/rbot-lastfm.po +172 -0
  646. data/po/zh_TW/rbot-linkbot.po +0 -0
  647. data/po/zh_TW/rbot-markov.po +20 -0
  648. data/po/zh_TW/rbot-math.po +0 -0
  649. data/po/zh_TW/rbot-modes.po +0 -0
  650. data/po/zh_TW/rbot-nickrecover.po +36 -0
  651. data/po/zh_TW/rbot-nickserv.po +104 -0
  652. data/po/zh_TW/rbot-nslookup.po +0 -0
  653. data/po/zh_TW/rbot-quakeauth.po +0 -0
  654. data/po/zh_TW/rbot-quiz.po +0 -0
  655. data/po/zh_TW/rbot-quotes.po +108 -0
  656. data/po/zh_TW/rbot-reaction.po +0 -0
  657. data/po/zh_TW/rbot-remind.po +0 -0
  658. data/po/zh_TW/rbot-remotectl.po +0 -0
  659. data/po/zh_TW/rbot-ri.po +0 -0
  660. data/po/zh_TW/rbot-roshambo.po +0 -0
  661. data/po/zh_TW/rbot-rot13.po +0 -0
  662. data/po/zh_TW/rbot-roulette.po +0 -0
  663. data/po/zh_TW/rbot-rss.po +20 -0
  664. data/po/zh_TW/rbot-salut.po +0 -0
  665. data/po/zh_TW/rbot-script.po +0 -0
  666. data/po/zh_TW/rbot-search.po +0 -0
  667. data/po/zh_TW/rbot-seen.po +0 -0
  668. data/po/zh_TW/rbot-shiritori.po +102 -0
  669. data/po/zh_TW/rbot-shortenurls.po +0 -0
  670. data/po/zh_TW/rbot-slashdot.po +0 -0
  671. data/po/zh_TW/rbot-spell.po +54 -0
  672. data/po/zh_TW/rbot-theyfightcrime.po +0 -0
  673. data/po/zh_TW/rbot-threat.po +0 -0
  674. data/po/zh_TW/rbot-time.po +0 -0
  675. data/po/zh_TW/rbot-topic.po +0 -0
  676. data/po/zh_TW/rbot-translator.po +77 -0
  677. data/po/zh_TW/rbot-tube.po +0 -0
  678. data/po/zh_TW/rbot-twitter.po +24 -0
  679. data/po/zh_TW/rbot-uno.po +512 -0
  680. data/po/zh_TW/rbot-urban.po +0 -0
  681. data/po/zh_TW/rbot-url.po +0 -0
  682. data/po/zh_TW/rbot-usermodes.po +0 -0
  683. data/po/zh_TW/rbot-wall.po +33 -0
  684. data/po/zh_TW/rbot-weather.po +0 -0
  685. data/po/zh_TW/rbot-wheelfortune.po +205 -0
  686. data/po/zh_TW/rbot-wow.po +0 -0
  687. data/po/zh_TW/rbot-wserver.po +0 -0
  688. data/po/zh_TW/rbot-youtube.po +58 -0
  689. data/po/zh_TW/rbot.po +1034 -0
  690. data/setup.rb +800 -574
  691. metadata +723 -108
  692. data/data/rbot/contrib/plugins/figlet.rb +0 -20
  693. data/data/rbot/contrib/plugins/ri.rb +0 -83
  694. data/data/rbot/plugins/demauro.rb +0 -95
  695. data/data/rbot/plugins/google.rb +0 -53
  696. data/data/rbot/plugins/opme.rb +0 -19
  697. data/data/rbot/plugins/roshambo.rb +0 -54
  698. data/data/rbot/plugins/rubyurl.rb +0 -39
  699. data/data/rbot/plugins/tinyurl.rb +0 -39
  700. data/data/rbot/plugins/xmlrpc.rb.disabled +0 -52
  701. data/data/rbot/templates/levels.rbot +0 -32
  702. data/data/rbot/templates/users.rbot +0 -1
  703. data/lib/rbot/auth.rb +0 -314
  704. data/lib/rbot/channel.rb +0 -54
  705. data/lib/rbot/httputil.rb +0 -309
  706. data/lib/rbot/utils.rb +0 -83
data/AUTHORS CHANGED
@@ -1,15 +1,33 @@
1
- Main Author
1
+ Original Author
2
2
  o Tom Gilbert (giblet) <tom@linuxbrit.co.uk>
3
3
 
4
- Bugbear (heavy-duty framework reworker and backwards-compatibility-breaker)
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 Ren� Nussbaumer <public@killerfox.forkbomb.ch>
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
- Copyright (C) 2002-2005 Tom Gilbert.
1
+ rbot the Ruby IRC bot
2
2
 
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
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
- The above copyright notice and this permission notice shall be included in
11
- all copies of the Software and its documentation and acknowledgment shall be
12
- given in the documentation and software packages that this Software was
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