Limnoria/plugins/Alias
James Vega 54dda880d4 Add a pluginCommands kwarg to Commands.listCommands.
Plugins which implement their own listCommands method should pass their
non-typically discoverable commands to Commands.listCommands via this
mechanism.  This means that the de-duplication of commands is performed in one
spot instead of having each plugin implement it on their on in their
listCommands method.

This reverts commits 0ce829af6215b97e725f4d6d580d1151950be869 and
09fb0e6fc974445a3414fb03a94625f8538d4570.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-22 18:52:15 -04:00
..
__init__.py Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
config.py Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
plugin.py Add a pluginCommands kwarg to Commands.listCommands. 2009-05-22 18:52:15 -04:00
README.txt Alias: Add a useful README 2009-03-15 22:13:42 -04:00
test.py Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00

This plugin allows the user to create various aliases to other commands
or combinations of other commands (via nested commands).  It is a good
idea to always quote the commands that are being aliased so that any
nested commands are not immediately run.

Basic usage
-----------

Add an alias, trout, which expects a word as an argument

<jamessan> @alias add trout "action slaps $1 with a large trout"
<bot> jamessan: The operation succeeded.
<jamessan> @trout me
* bot slaps me with a large trout

Add an alias, lastfm, which expects a last.fm user and replies with
their recently played items.

@alias add lastfm "rss [format concat http://ws.audioscrobbler.com/1.0/user/ [format concat [urlquote $1] /recenttracks.rss]]"

Note that if the nested commands being aliased hadn't been quoted, then
those commands would have been run immediately, and @lastfm would always
reply with the same information, the result of those commands.