Limnoria/plugins/Alias
Valentin Lorentz 833af36b08 all plugins: auto-generate READMEs
Starting with this commit, there should be no "original" text
in READMEs.
Instead, the entire text should be in docstrings, and READMEs
should be automatically generated from these docstrings.

Motivation:

* The same help is available both via IRC and in the README
  (although the README can be more detailed, as only the first
  paragraph will be shown on IRC)
* This will allow auto-generating plugin help on docs.limnoria.net
  using the same content as the README, as it's sourced from the
  docstrings

Additionally, this converts all READMEs from Markdown to ReST,
because the documentation already uses ReST, and other docstrings
in the codebase are in ReST for this reason.
2021-04-05 17:42:31 +02:00
..
locales Fix msgfmt warnings. 2020-03-26 22:10:28 +01:00
__init__.py Use importlib instead of imp. 2020-01-26 12:00:08 +01:00
config.py Alias: more relaxed valid name regex (printable characters instead of "a-z0-9 and some symbols") 2015-08-22 11:37:13 +00:00
messages.pot Squashed commit of the following: 2014-12-20 14:37:27 +01:00
plugin.py all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
README.rst all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
test.py Replace failUnless/failIf with assertTrue/assertFalse. 2020-01-26 11:14:18 +01:00

Documentation for the Alias plugin for Supybot

Purpose

Allows aliases for other commands. NOTE THAT IT'S RECOMMENDED TO USE Aka PLUGIN INSTEAD!

Usage

This plugin allows users to define aliases to commands and combinations of commands (via nesting). This plugin is only kept for backward compatibility, you should use the built-in Aka plugin instead (you can migrate your existing aliases using the 'importaliasdatabase' command.

To 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

To 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.

Commands

add <name> <command>

Defines an alias <name> that executes <command>. The <command> should be in the standard "command argument [nestedcommand argument]" arguments to the alias; they'll be filled with the first, second, etc. arguments. $1, $2, etc. can be used for required arguments. @1, @2, etc. can be used for optional arguments. $* simply means "all remaining arguments," and cannot be combined with optional arguments.

list [--locked|--unlocked]

Lists alias names of a particular type, defaults to all aliases if no --locked or --unlocked option is given.

lock <alias>

Locks an alias so that no one else can change it.

remove <name>

Removes the given alias, if unlocked.

unlock <alias>

Unlocks an alias so that people can define new aliases over it.

Configuration

supybot.plugins.Alias.public

This config variable defaults to "True", is not network-specific, and is not channel-specific.

Determines whether this plugin is publicly visible.

supybot.plugins.Alias.validName

This config variable defaults to "^[^\x00-\x20]+$", is not network-specific, and is not channel-specific.

Regex which alias names must match in order to be valid