rbot 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +16 -0
- data/COPYING +21 -0
- data/ChangeLog +418 -0
- data/INSTALL +8 -0
- data/README +44 -0
- data/REQUIREMENTS +34 -0
- data/TODO +5 -0
- data/Usage_en.txt +129 -0
- data/bin/rbot +81 -0
- data/data/rbot/contrib/plugins/figlet.rb +20 -0
- data/data/rbot/contrib/plugins/ri.rb +83 -0
- data/data/rbot/contrib/plugins/stats.rb +232 -0
- data/data/rbot/contrib/plugins/vandale.rb +49 -0
- data/data/rbot/languages/dutch.lang +73 -0
- data/data/rbot/languages/english.lang +75 -0
- data/data/rbot/languages/french.lang +39 -0
- data/data/rbot/languages/german.lang +67 -0
- data/data/rbot/plugins/autoop.rb +68 -0
- data/data/rbot/plugins/autorejoin.rb +16 -0
- data/data/rbot/plugins/cal.rb +15 -0
- data/data/rbot/plugins/dice.rb +81 -0
- data/data/rbot/plugins/eightball.rb +19 -0
- data/data/rbot/plugins/excuse.rb +470 -0
- data/data/rbot/plugins/fish.rb +61 -0
- data/data/rbot/plugins/fortune.rb +22 -0
- data/data/rbot/plugins/freshmeat.rb +98 -0
- data/data/rbot/plugins/google.rb +51 -0
- data/data/rbot/plugins/host.rb +14 -0
- data/data/rbot/plugins/httpd.rb.disabled +35 -0
- data/data/rbot/plugins/insult.rb +258 -0
- data/data/rbot/plugins/karma.rb +85 -0
- data/data/rbot/plugins/lart.rb +181 -0
- data/data/rbot/plugins/math.rb +122 -0
- data/data/rbot/plugins/nickserv.rb +89 -0
- data/data/rbot/plugins/nslookup.rb +43 -0
- data/data/rbot/plugins/opme.rb +19 -0
- data/data/rbot/plugins/quakeauth.rb +51 -0
- data/data/rbot/plugins/quotes.rb +321 -0
- data/data/rbot/plugins/remind.rb +228 -0
- data/data/rbot/plugins/roshambo.rb +54 -0
- data/data/rbot/plugins/rot13.rb +10 -0
- data/data/rbot/plugins/roulette.rb +147 -0
- data/data/rbot/plugins/rss.rb.disabled +414 -0
- data/data/rbot/plugins/seen.rb +89 -0
- data/data/rbot/plugins/slashdot.rb +94 -0
- data/data/rbot/plugins/spell.rb +36 -0
- data/data/rbot/plugins/tube.rb +71 -0
- data/data/rbot/plugins/url.rb +88 -0
- data/data/rbot/plugins/weather.rb +649 -0
- data/data/rbot/plugins/wserver.rb +71 -0
- data/data/rbot/plugins/xmlrpc.rb.disabled +52 -0
- data/data/rbot/templates/keywords.rbot +4 -0
- data/data/rbot/templates/lart/larts +98 -0
- data/data/rbot/templates/lart/praises +5 -0
- data/data/rbot/templates/levels.rbot +30 -0
- data/data/rbot/templates/users.rbot +1 -0
- data/lib/rbot/auth.rb +203 -0
- data/lib/rbot/channel.rb +54 -0
- data/lib/rbot/config.rb +363 -0
- data/lib/rbot/dbhash.rb +112 -0
- data/lib/rbot/httputil.rb +141 -0
- data/lib/rbot/ircbot.rb +808 -0
- data/lib/rbot/ircsocket.rb +185 -0
- data/lib/rbot/keywords.rb +433 -0
- data/lib/rbot/language.rb +69 -0
- data/lib/rbot/message.rb +256 -0
- data/lib/rbot/messagemapper.rb +262 -0
- data/lib/rbot/plugins.rb +291 -0
- data/lib/rbot/post-install.rb +8 -0
- data/lib/rbot/rbotconfig.rb +36 -0
- data/lib/rbot/registry.rb +271 -0
- data/lib/rbot/rfc2812.rb +1104 -0
- data/lib/rbot/timer.rb +201 -0
- data/lib/rbot/utils.rb +83 -0
- data/setup.rb +1360 -0
- metadata +129 -0
data/AUTHORS
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
Main Author
|
2
|
+
o Tom Gilbert (giblet) <tom@linuxbrit.co.uk>
|
3
|
+
|
4
|
+
Patch contributors
|
5
|
+
o Peter Suschlik (pesu) <peter@zilium.de>
|
6
|
+
|
7
|
+
Module contributors
|
8
|
+
o dice.rb - David Dorward (Dorward) <david@david.us-lot.org>
|
9
|
+
o lart.rb - Michael Brailsford <brailsmt@yahoo.com>
|
10
|
+
o stats.rb - Michael Brailsford <brailsmt@yahoo.com>
|
11
|
+
o ri.rb - Michael Brailsford <brailsmt@yahoo.com>
|
12
|
+
|
13
|
+
"Testing" (having fun breaking rbot creatively)
|
14
|
+
o Paul Duncan (pabs) <pabs@pablotron.org>
|
15
|
+
o Richard Lowe (richlowe) <richlowe@richlowe.net>
|
16
|
+
|
data/COPYING
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Copyright (C) 2002-2005 Tom Gilbert.
|
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:
|
9
|
+
|
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.
|
21
|
+
|
data/ChangeLog
ADDED
@@ -0,0 +1,418 @@
|
|
1
|
+
Fri Aug 05 23:55:20 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
2
|
+
|
3
|
+
* few more tweaks preparing to release 0.9.9
|
4
|
+
|
5
|
+
Thu Aug 04 23:03:30 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
6
|
+
|
7
|
+
* Improved ircd recognition of rfc2812.rb
|
8
|
+
* de-string'd, de-cap'd rfc2812.rb, looks less shouty now
|
9
|
+
* moved the Q auth stuff (for quakenet) into a new qauth plugin (untested!)
|
10
|
+
* finish fixing the httputil
|
11
|
+
|
12
|
+
Thu Aug 04 00:11:52 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
13
|
+
|
14
|
+
* Tweaked the debug() stuff a bit. Need to do this more cleanly really
|
15
|
+
* Added a fair bit of documentation for some of the new features
|
16
|
+
|
17
|
+
Wed Aug 03 15:25:07 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
18
|
+
|
19
|
+
* Added french language file (TODO most of the plugins just talk english)
|
20
|
+
* The way the Enum configs were set up, it wasn't possible to add language
|
21
|
+
files to rbot at runtime (the directory was only scanned at startup). Now
|
22
|
+
you can set a values Proc, which is called to return a list of allowed
|
23
|
+
values whenever it's queried.
|
24
|
+
* Added Config module for determining where we were installed.
|
25
|
+
Unfortunately rubygems is a total whore in this regard, and I hope the
|
26
|
+
current hackery I have to do to support it becomes redundant in the
|
27
|
+
future.
|
28
|
+
|
29
|
+
Wed Aug 03 00:31:41 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
30
|
+
|
31
|
+
* Added Rakefile, tweaked gemspec
|
32
|
+
|
33
|
+
Tue Aug 02 16:27:36 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
34
|
+
|
35
|
+
* Fixed the new http.proxy* settings, they work!
|
36
|
+
* Fixed a bug with auth-checking for the config module
|
37
|
+
* misc tweaks
|
38
|
+
|
39
|
+
Sun Jul 31 02:20:08 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
40
|
+
|
41
|
+
* Updated docgen to generate rdoc again with the new repo structure
|
42
|
+
* added new restart command to the core bot, quits irc and reexecs the
|
43
|
+
bot, to pick up new code/libraries etc.
|
44
|
+
|
45
|
+
Sat Jul 30 22:33:36 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
46
|
+
|
47
|
+
* Config items are now objects, various types are available.
|
48
|
+
* The config wizard will now use registered config items if :wizard is set
|
49
|
+
to true for those items. It will ask questions in the order they were
|
50
|
+
registered.
|
51
|
+
* The config module now works for doing runtime configuration.
|
52
|
+
* misc refactoring
|
53
|
+
|
54
|
+
Sat Jul 30 01:19:32 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
55
|
+
|
56
|
+
* config module for configuring the running bot via IRC
|
57
|
+
* BotConfig.register method for various modules and any plugin to register
|
58
|
+
bot configuration which the new config module will expose for them.
|
59
|
+
* various other tweaks as I continue to refactor..
|
60
|
+
|
61
|
+
Fri Jul 29 13:07:56 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
62
|
+
|
63
|
+
* Moved some stuff out of util.rb into the plugins that actually need
|
64
|
+
them. Those methods didn't belong in util as they were plugin-specific.
|
65
|
+
* moved a few more plugins to use map() where appropriate
|
66
|
+
* made the url plugin only store unique urls
|
67
|
+
|
68
|
+
Thu Jul 28 23:45:26 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
69
|
+
|
70
|
+
* Reworked the Timer module. The Timer now has a smart thread manager to
|
71
|
+
start/stop the tick() thread. This means the timer isn't called every 0.1
|
72
|
+
seconds to see what needs doing, which is much more efficient
|
73
|
+
* reworked the ircsocket queue mechanism to use a Timer
|
74
|
+
* reworked the nickserv plugin to use maps
|
75
|
+
* made server.reconnect_wait configurable
|
76
|
+
* added Class tracing mechanism to bin/rbot, use --trace Classname for
|
77
|
+
debugging
|
78
|
+
|
79
|
+
Tue Jul 26 14:41:34 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
80
|
+
|
81
|
+
* Prevent multiple plugin registrations of the same name
|
82
|
+
* reworking the config system to use yaml for persistence
|
83
|
+
* reworking the config system key names
|
84
|
+
* on first startup, the bot will prompt for the essential startup config
|
85
|
+
* new config module for configuring the bot at runtime
|
86
|
+
* new config module includes new configurables, for example changing the
|
87
|
+
bot's language at runtime.
|
88
|
+
* various other fixes
|
89
|
+
* New way of mapping plugins to strings, using maps. These may be
|
90
|
+
familiar to rails users. This is to reduce the amount of regexps plugins
|
91
|
+
currently need to do to parse arguments. The old method (privmsg) is still
|
92
|
+
supported, of course. Example plugin now:
|
93
|
+
def MyPlugin < Plugin
|
94
|
+
def foo(m, params)
|
95
|
+
m.reply "bar"
|
96
|
+
end
|
97
|
+
|
98
|
+
def complexfoo(m, params)
|
99
|
+
m.reply "qux! (#{params[:bar]} #{params[:baz]})"
|
100
|
+
end
|
101
|
+
end
|
102
|
+
plugin = MyPlugin.new
|
103
|
+
# simple map
|
104
|
+
plugin.map 'foo'
|
105
|
+
|
106
|
+
# this will match "rbot: foo somestring otherstring" and pass the
|
107
|
+
# parameters as a hash using the names in the map.
|
108
|
+
plugin.map 'foo :bar :baz', :action => 'complexfoo'
|
109
|
+
# this means :foo is an optional parameter
|
110
|
+
plugin.map 'foo :foo', :defaults => {:foo => 'bar'}
|
111
|
+
# you can also gobble up into an array
|
112
|
+
plugin.map 'foo *bar' # params[:bar] will be an array of string elements
|
113
|
+
# and you can validate, here the first param must be a number
|
114
|
+
plugin.map 'foo :bar', :requirements => {:foo => /^\d+$/}
|
115
|
+
|
116
|
+
|
117
|
+
Sat Jul 23 01:39:08 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
118
|
+
|
119
|
+
* Changed BotConfig to use yaml storage, method syntax instead of hash for
|
120
|
+
get/set, to allow more flexibility and encapsulation
|
121
|
+
* Added convenience method Message.okay (m.okay is the same as the
|
122
|
+
old-style @bot.okay m.replyto)
|
123
|
+
|
124
|
+
Wed Jul 20 23:30:01 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
125
|
+
|
126
|
+
* Move some core plugins to use the new httputil
|
127
|
+
* fix wserver's redirection handling for relative (i.e. broken) redirects
|
128
|
+
* fix tube plugin's html parsing
|
129
|
+
|
130
|
+
Wed Jul 20 01:18:06 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
131
|
+
|
132
|
+
* Add new httputil object to the bot object, to be used by plugins etc
|
133
|
+
that wish to make http requests. It sets up all the proxies etc for them
|
134
|
+
according to bot config.
|
135
|
+
|
136
|
+
Sat Jul 16 02:23:13 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
|
137
|
+
|
138
|
+
* Apply most of Rene's patch and fix various plugins.
|
139
|
+
* New plugin: autoop (auto ops via hostmask)
|
140
|
+
* New feature: karmastats
|
141
|
+
|
142
|
+
Wed Oct 13 16:16:31 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
143
|
+
|
144
|
+
* Fix bug with quotes plugin where it gets confused and sees both a quote
|
145
|
+
and a keyword, both plugins are triggered by, for example "addquote foo is
|
146
|
+
bar"
|
147
|
+
* fixed this by implementing the "has_responded" flag on a message. When a
|
148
|
+
plugin replied to a message (or it manually sets m.replied to true), the
|
149
|
+
keywords plugin will honour that flag and not examine the message for
|
150
|
+
keywords. This flag can also be checked by listen plugins that don't want to
|
151
|
+
interfere with other plugin commands.
|
152
|
+
|
153
|
+
Mon Oct 11 00:37:52 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
154
|
+
|
155
|
+
* Fixes to the NickServ plugin
|
156
|
+
|
157
|
+
Sat Oct 09 23:23:24 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
158
|
+
|
159
|
+
* Keyword searching
|
160
|
+
|
161
|
+
Fri Oct 08 00:40:07 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
162
|
+
|
163
|
+
* fixed insult plugin
|
164
|
+
* fixed excuse plugin
|
165
|
+
|
166
|
+
Thu Oct 07 23:28:05 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
167
|
+
|
168
|
+
* searching for urls in the url plugin
|
169
|
+
* roshambo (rock/paper/scissors) plugin from Hans Fugal <hans@fugal.net>
|
170
|
+
|
171
|
+
Sat Apr 17 20:56:50 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
172
|
+
|
173
|
+
* Oh, found new tv plugin in my inbox from ages ago, but it's still not
|
174
|
+
working so I guess it changed again since then
|
175
|
+
* New eightball plugin from Daniel Free
|
176
|
+
|
177
|
+
Sat Apr 17 20:44:43 BST 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
178
|
+
|
179
|
+
* Fixed the babelfish parser so translate works again.
|
180
|
+
* Misc other fixes
|
181
|
+
* Note some plugins are broken (excuse,insult) because the server they use
|
182
|
+
went away. I don't know of a replacement right now.
|
183
|
+
* tv plugin seems broken, perhaps the html changed.
|
184
|
+
|
185
|
+
Thu Jan 15 21:37:38 GMT 2004 Tom Gilbert <tom@linuxbrit.co.uk>
|
186
|
+
|
187
|
+
* Fixes for ruby 1.8
|
188
|
+
|
189
|
+
0.9.8
|
190
|
+
* new plugin from Alan Third <alan@idiocy.org>, allows you to search and list
|
191
|
+
UK TV programmes.
|
192
|
+
|
193
|
+
0.9.7
|
194
|
+
* various plugin updates
|
195
|
+
* fix (again) for C to F temp conversion in weather plugin
|
196
|
+
* channel topic patch from Peter Suschlik, gives plugin better access to topic
|
197
|
+
changes and related information
|
198
|
+
|
199
|
+
0.9.6
|
200
|
+
* changes to layout of slashdot plugin output
|
201
|
+
* freshmeat plugin, show latest updates or search
|
202
|
+
* fix to C to F temp conversion in weather plugin
|
203
|
+
* status command returns some bot status
|
204
|
+
* fortune plugin
|
205
|
+
* using BDB::Btree everywhere now, instead of BDB::Hash, because the Btree api
|
206
|
+
allows me to set my own key comparison function. This is needed to keep
|
207
|
+
supporting case insensitivity (vital for IRC), which was sadly broken in
|
208
|
+
0.9.5 :( All existing dbs will be upgraded automatically.
|
209
|
+
* roulette plugin - play russian roulette :) also keeps game stats.
|
210
|
+
* new config option, NO_KEYWORD_ADDRESS. If set to "true", the bot will always
|
211
|
+
respond to keywords it knows even when not addressed and the message doesn't
|
212
|
+
start with '. Message must end with "?" however.
|
213
|
+
* hopefully fixed welcome message parsing from certain server types
|
214
|
+
|
215
|
+
0.9.5
|
216
|
+
* plugin object registry
|
217
|
+
This provides persistant storage for plugins via a hash interface. The
|
218
|
+
default mode is an object store, so you can store ruby objects and reference
|
219
|
+
them with hash keys. This is because the default store/restore methods of
|
220
|
+
the plugins' RegistryAccessor are calls to Marshal.dump and Marshal.restore,
|
221
|
+
for example:
|
222
|
+
blah = Hash.new
|
223
|
+
blah[:foo] = "fum"
|
224
|
+
@registry[:blah] = blah
|
225
|
+
then, even after the bot is shut down and disconnected, on the next run you
|
226
|
+
can access the blah object as it was, with:
|
227
|
+
blah = @registry[:blah]
|
228
|
+
The registry can of course be used to store simple strings, fixnums, etc as
|
229
|
+
well, and should be useful to store or cache plugin data or dynamic plugin
|
230
|
+
configuration.
|
231
|
+
|
232
|
+
If you don't need to store objects, and strictly want a persistant hash of
|
233
|
+
strings, you can override the store/restore methods to suit your needs, for
|
234
|
+
example (in your plugin):
|
235
|
+
def initialize
|
236
|
+
class << @registry
|
237
|
+
def store(val)
|
238
|
+
val
|
239
|
+
end
|
240
|
+
def restore(val)
|
241
|
+
val
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
245
|
+
Your plugins section of the registry is private, it has its own namespace
|
246
|
+
(derived from the plugin's class name, so change it and lose your data).
|
247
|
+
Calls to registry.each etc, will only iterate over your namespace.
|
248
|
+
|
249
|
+
The nickserv and karma plugins use the new registry and should serve as a
|
250
|
+
useful example. Basic usage of the registry is simple, just treat it as a
|
251
|
+
hash, with values that never die (unless you delete() them).
|
252
|
+
* Change to the nickserv plugin. The old method of putting the nickserv
|
253
|
+
password in rbot.conf was useless for multiple nicks or easy updates. The
|
254
|
+
plugin now uses the plugin registry to store passwords for any nicks it
|
255
|
+
owns. The plugin can be told to register the current nick (supply a password
|
256
|
+
or it'll generate one), identify for the current nick (if the password is
|
257
|
+
known), and can be told the passwords for other nicks. If NickServ asks the
|
258
|
+
bot to identify, it will automatically do so if it knows the appropriate
|
259
|
+
password.
|
260
|
+
* karma plugin now uses the plugin registry, it should automatically import
|
261
|
+
your existing, stored karma data into the registry.
|
262
|
+
* The babelfish plugin now caches results in the bot registry to speed up
|
263
|
+
common lookups.
|
264
|
+
* New message types and plugin methods to grab them,
|
265
|
+
quit(QuitMessage): Called when a user (or the bot) quits IRC
|
266
|
+
nick(NickMessage): Called when a user (or the bot) changes Nick
|
267
|
+
topic(TopicMessage): Called when a user (or the bot) changes a channel topic
|
268
|
+
* A plugin's listen() method will now receive any kind of Message, e.g.
|
269
|
+
PrivMessage, NoticeMessage, NickMessage, JoinMessage, etc
|
270
|
+
* New plugins:
|
271
|
+
seen: the usual "seen" stuff:
|
272
|
+
rbot: seen giblet?
|
273
|
+
giblet was last seen xxx ago doing xxx
|
274
|
+
cal: calls the unix cal program to display a calendar
|
275
|
+
math: evaluates mathematical expressions:
|
276
|
+
rbot: math 2+2
|
277
|
+
rbot: math 4 to the power of 8
|
278
|
+
rbot: math ((232+432) - 4) / 2
|
279
|
+
(ported from infobot. Thanks to Kevin Lenzo, who wrote the
|
280
|
+
original infobot math module)
|
281
|
+
slashdot: displays latest headlines or searches for articles
|
282
|
+
url: stores urls mentioned in channels for regurgitation later
|
283
|
+
weather: grabs and parses METAR weather data, will remember the last weather
|
284
|
+
code you asked for so you don't have to :)
|
285
|
+
* New utility function, Util.http_get(url) for getting remote data via http,
|
286
|
+
just dumps response.body into a string and returns it, or nil if anything at
|
287
|
+
all goes wrong. Useful for simple plugins.
|
288
|
+
* random quit messages if none specified, messages set in language description
|
289
|
+
file
|
290
|
+
* keywords are now stored in bdb databases - your old keywords.rbot will be
|
291
|
+
imported. Static keywords (fact packs) are also stored in bdb databases, and
|
292
|
+
rbot will automatically convert any text .fact file dropped in the confdir's
|
293
|
+
keywords subdirectory, at startup, into a bdb file. If both a db and a text
|
294
|
+
file exist of the same name (except the extension), the text file will be
|
295
|
+
imported and merged into the database.
|
296
|
+
static keywords will be looked up in each factpack db in turn, in
|
297
|
+
alphabetical filename order - so you can prioritise using the filename if
|
298
|
+
you wish.
|
299
|
+
* fixed a bug with autsplitting long sent lines, the last line was often being
|
300
|
+
split unnecessarily.
|
301
|
+
|
302
|
+
0.9.4
|
303
|
+
* Massive cleanup of rfc2812.rb, contributed by Lars Christensen
|
304
|
+
<dsl8950@vip.cybercity.dk>, gets rid of a lot of regexps
|
305
|
+
* Fixed bug reading static keyword files - "foo <=is=> bar" may not have
|
306
|
+
worked for a couple of releases, only "foo<=is=>bar" was working - this was
|
307
|
+
not intended and should be fixed now
|
308
|
+
* Experimental send queue, to prevent the bot from flooding out, the delay
|
309
|
+
between sending messages to the server defaults to 2s, but is configurable
|
310
|
+
in conf.rbot, set SENDQ_DELAY (0 to disable queueing). You can also set/get
|
311
|
+
the value from the bot, "rbot: options get sendq_delay", and
|
312
|
+
"rbot: options set sendq_delay 1.5", if you have sufficient auth for "config"
|
313
|
+
This is a bursting sendq, most ircd's allow bursts of up to 5
|
314
|
+
lines, with non-burst limits of 512 bytes/2 seconds. To set the burst limit,
|
315
|
+
configure SENDQ_BURST in conf.rbot, or do the same kind of stuff with
|
316
|
+
"rbot: options set sendq_burst 2", etc.
|
317
|
+
The defaults are 2s/4 burst, which seem to work okay for me.
|
318
|
+
* support for multiple, customisable, addressing prefixes. Set ADDRESS_PREFIX
|
319
|
+
in conf.rbot to a space separate list of addressing prefixes, e.g
|
320
|
+
ADDRESS_PREFIX = | ! =>
|
321
|
+
Would mean that all of the following in channel messages would cause the bot
|
322
|
+
to respond:
|
323
|
+
rbot: version
|
324
|
+
|version
|
325
|
+
!version
|
326
|
+
=>version
|
327
|
+
* bb plugin removed, bb is nearly over and it doesn't work 100% anyway
|
328
|
+
* Two plugins from brailsmt (from #ruby-lang on openprojects), a stats plugin
|
329
|
+
which monitors usage of 1-word sentences, and lart, which allows you to ask
|
330
|
+
rbot to lart people - with an optional reason - larts are user-definable and
|
331
|
+
can be added on the fly.
|
332
|
+
* made google.rb work for people with 1.6 ruby's net/http
|
333
|
+
|
334
|
+
0.9.3
|
335
|
+
|
336
|
+
* fix quit messages
|
337
|
+
* new plugin for handling nickserv-protected nicks, use NICKSERV_PASSWORD in
|
338
|
+
the config file.
|
339
|
+
* fixes to a few other buglets
|
340
|
+
* new plugin to grab bigbrother headlines, still buggy and only useful for UK
|
341
|
+
folks who love bb :-)
|
342
|
+
* fixes to various plugins
|
343
|
+
* Patch from akira yamada <akira@ruby-lang.org>
|
344
|
+
DNS plugin: Use resolv-replace if found, do lookup in new thread
|
345
|
+
Fix bug joining channels with keys
|
346
|
+
|
347
|
+
0.9.2
|
348
|
+
|
349
|
+
* better "connect failure" error message
|
350
|
+
* better option parsing, and --debug option
|
351
|
+
* access to bot's online help via commandline, eg:
|
352
|
+
./rbot.rb --help
|
353
|
+
./rbot.rb --help core
|
354
|
+
./rbot.rb --help "core save"
|
355
|
+
* Fix broken help from last point release
|
356
|
+
* Plugin API modification and cleanup. You no longer need to set @listen to
|
357
|
+
true in order to get all NOTICE and PRIVMSGs, you just need to define the
|
358
|
+
method. The method is now called listen(), renamed from listener(). This
|
359
|
+
should be the last time the plugin api is changed incompatibly.
|
360
|
+
* New plugin method kick(). Use it to see kicks (duh :))
|
361
|
+
* New plugin methods join(), part(). Obvious uses.
|
362
|
+
* Example plugin autorejoin.rb, uses kick event to rejoin channel and insult
|
363
|
+
kicker
|
364
|
+
* fix bug in remind plugins "remind me no more" recognition.
|
365
|
+
|
366
|
+
0.9.1
|
367
|
+
|
368
|
+
* Fix welcome message recognition for certain IRCd's.
|
369
|
+
|
370
|
+
0.9
|
371
|
+
|
372
|
+
* Allow keyword definitions which end in '?', like this:
|
373
|
+
bot: foo is bar\?
|
374
|
+
* rdoc documentation!
|
375
|
+
* fixed broken address regexp, "rbot: .foo" was being treated as an addressed
|
376
|
+
form of "foo" (lost the .)
|
377
|
+
* fix stupid bug in last release (looking for wrong default conf dir)
|
378
|
+
|
379
|
+
0.8
|
380
|
+
|
381
|
+
* Tarball layout change. modules all in rbot/ now, and the rbot/ default
|
382
|
+
configuration moved to rbotconf/. This lets the thing run from an unpacked
|
383
|
+
tarball while also being ready to run with the modules installed somewhere
|
384
|
+
else.
|
385
|
+
* change hashbang to /usr/bin/env ruby, in order to use PATH looking for ruby,
|
386
|
+
it's BSD friendly!
|
387
|
+
* allow "botnick : foo" style addressing, and even "botnick... foo"
|
388
|
+
* slap plugin (contributed by oct)
|
389
|
+
* renamed bot.send to bot.sendmsg, I didn't really want to override send() ;D
|
390
|
+
(thanks Kero)
|
391
|
+
|
392
|
+
0.7.1
|
393
|
+
* Made sane for packagers. Looks in the right places for plugins and language
|
394
|
+
files now, so extra effort shouldn't be needed there.
|
395
|
+
|
396
|
+
0.7
|
397
|
+
|
398
|
+
* Fixed "nick taken on join" bug
|
399
|
+
* Dice plugin patch from David Dorward
|
400
|
+
* fix searchquote regexp
|
401
|
+
* conf.rbot: PASSWORD -> SERVER_PASSWORD, to prevent confusion with PASSWD,
|
402
|
+
which is for master auth.
|
403
|
+
|
404
|
+
0.6
|
405
|
+
|
406
|
+
* Fixed addquote (was incrementing quote ID twice)
|
407
|
+
* now strips colour/bold escapes from incoming messages (rbot was ignoring
|
408
|
+
messages addressed using a bolded colon, for example).
|
409
|
+
* minor bugfixes
|
410
|
+
* more language breadth
|
411
|
+
* Addressing works better now
|
412
|
+
* Can autojoin channels with keys, conf.rbot line is:
|
413
|
+
autojoin_channels #chan1, #chan2, #chan3 key, #chan4 key, #chan5
|
414
|
+
* dice plugin fixes
|
415
|
+
|
416
|
+
0.5
|
417
|
+
|
418
|
+
* Initial release
|