Age | Commit message (Collapse) | Author |
|
We provide two methods that make it more simple and elegant for
botmodules to define paths relative to the bot's own directory
(botclass) and to the BotModule's (assumed) non-registry directory.
The first method is Irc::Bot#path(), which joins its arguments with the
botclass. This method can be used to access datafiles in the bot
directory with a much cleaner syntax; and since it uses File.join, the
resulting paths are also properly formatted on each platform, which
doesn't hurt.
Each BotModule now also carries a dirname() method that should return the
directory under botclass that holds the BotModule's datafiles. dirname()
defaults to the BotModule's name(), but it can be overridden, e.g. for
backwards compatibility (see the patch for the quotes plugin), or
for BotModules that share their datafiles.
Datafiles can be accessed using the BotModule#datafile() method that
joins the botclass, the dirname() and whatever other argument is passed.
|
|
|
|
|
|
|
|
@default may be a Proc, in which case the default value is obtained
by calling the Proc. So use #default() that takes care of this already.
|
|
|
|
|
|
|
|
|
|
|
|
modified a few files to allow translated messages
created gettext template file
initialized gettext files for Japanese and Simplified Chinese
|
|
|
|
|
|
|
|
|
|
config options while still allowing access to more innocent ones
|
|
|
|
actual auth coremodule. config.rb needs to be split into a class definition file and a coremodule that manages it
|
|
<...> from <...> to manipulate individual values in BotConfigArrayValues
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also more robustness around reading/writing conf.yaml
|
|
|
|
|
|
|
|
* Improved ircd recognition of rfc2812.rb
* de-string'd, de-cap'd rfc2812.rb, looks less shouty now
* moved the Q auth stuff (for quakenet) into a new qauth plugin (untested!)
* finish fixing the httputil
|
|
* Added french language file (TODO most of the plugins just talk english)
* The way the Enum configs were set up, it wasn't possible to add language
files to rbot at runtime (the directory was only scanned at startup). Now
you can set a values Proc, which is called to return a list of allowed
values whenever it's queried.
* Added Config module for determining where we were installed.
Unfortunately rubygems is a total whore in this regard, and I hope the
current hackery I have to do to support it becomes redundant in the
future.
|
|
* Fixed a bug with auth-checking for the config module
* misc tweaks
|
|
* Config items are now objects, various types are available.
* The config wizard will now use registered config items if :wizard is set
to true for those items. It will ask questions in the order they were
registered.
* The config module now works for doing runtime configuration.
* misc refactoring
|
|
* config module for configuring the running bot via IRC
* BotConfig.register method for various modules and any plugin to register
bot configuration which the new config module will expose for them.
* various other tweaks as I continue to refactor..
|
|
* Moved some stuff out of util.rb into the plugins that actually need
them. Those methods didn't belong in util as they were plugin-specific.
* moved a few more plugins to use map() where appropriate
* made the url plugin only store unique urls
|
|
* Reworked the Timer module. The Timer now has a smart thread manager to
start/stop the tick() thread. This means the timer isn't called every 0.1
seconds to see what needs doing, which is much more efficient
* reworked the ircsocket queue mechanism to use a Timer
* reworked the nickserv plugin to use maps
* made server.reconnect_wait configurable
* added Class tracing mechanism to bin/rbot, use --trace Classname for
debugging
|
|
|
|
by install.rb
|
|
|
|
|