uhub/doc/ucmd.conf

169 lines
6.3 KiB
Plaintext
Raw Normal View History

# User command configuration for standard uhub commands.
#
# Each command contains at least two lines: the first defines the command name
# and required credentials, and the following lines define the action(s) taken
# by the client when the user selects the command.
#
# Leading and trailing whitespace is trimmed from each line. Commented lines
# and blank lines are ignored. All keywords in the file are not case sensitive.
#
# Command definition
# ------------------
#
# The first line of a command defines the credentials required, the context(s)
# that the command should be shown in, and the name it is displayed as in the
# user command menu. It takes the following format:
#
# <credential level required> <list of contexts> <command name>
#
# The credential level is the minimum credentials required to access the
# command. Anybody with this level or greater will be able to see it. The
# levels are: 0 = none, 1 = bot, 2 = unregistered user, 3 = registered user,
# 4 = operator, 5 = super (not used currently), 6 = link (not used currently),
# 7 = admin.
#
# The contexts are a comma separated list which tell the client where to
# display the command. Possible values are:
#
# * hub: in a general right-click menu for the hub
# * user: in a right-click menu in the user list
# * search: in a search results window
# * filelist: in a file list window
# * all: all of the above
#
# The command name is what is displayed in the client menu and *must* be unique
# as the clients use it as an identifier.
#
# Nested menus can be created by adding backslashes (\) to the name, for example,
# User actions\Kick. NB. the ADC UCMD extension specifies a forward slash (/),
# but all clients appear to use the backslash as per the old NMDC protocol, so
# the backslash is recommended.
#
# Actions
# -------
#
# Following the command definition, one or more lines are given to specify the
# action or actions the client should take when the user selects the command.
# The order of the actions in this file is the order the client will perform
# them. There are three actions available, each of which can be used multiple
# times in a command:
#
# Chat <me> <message>
# Sends a message in the main chat window. The <me> parameter is 0 or 1, with 1
# meaning it is formatted as a /me <action> style message by clients.
#
# PM <echo> <target> <message>
# Sends a private message. If you have set up a user with a reserved SID, you
# can specify the SID the target. Alternatively, you can use the word Selected
# as the target to specify the currently selected user (this won't work in the
# hub context, as there is no user selected there). The <echo> parameter can be
# 0 or 1, with 1 specifying the message should be echoed to the sending user as
# well.
#
# Separator
# Specifies that the entry should be displayed as a separator instead of text,
# meaning there is no 'real' action to run. If this is given, any other actions
# will be ignored. A unique name is still required for each separator.
#
# Substitutions
# -------------
#
# The client can substitute pieces of text into the actions before it sends
# them. The most useful ones are %[myNI], which is replaced with the nickname
# of the user performing the action, and %[userNI], which is replaced with the
# nickname of the user that was selected in a user list when the command was
# run. The %[userNI] substitution does not work in the hub context, as there is
# no user selected there.
#
# You can also prompt the user for a piece of text with the substitution
# %[line:<message shown in prompt>]. If the same prompt is used multiple times
# within a command (whether in the same or different actions), the user is only
# asked once and the response is used for all instances of the prompt.
#
# For a full list of available substitutions and the contexts they work in, see
# the specification for the UCMD extension, currently available at
# http://adc.sourceforge.net/versions/ADC-EXT-1.0.6.html#_ucmd_user_commands
# Basic commands available to all users.
# These don't strictly belong in the user context, but it is often a good idea
# to put them there because the user list is a common place to right-click and
# people probably expect to see them there.
0 hub,user Show my IP
Chat 0 !myip
0 hub,user Hub uptime
Chat 0 !uptime
0 hub,user Hub version
Chat 0 !version
0 hub,user BasicSeparator
Separator
0 hub,user Message of the day
Chat 0 !motd
0 hub,user Hub rules
Chat 0 !rules
0 hub,user Chat history
Chat 0 !history %[line:How many lines of history do you want to see?]
# Put a separator before operator commands.
4 user OpSeparator
Separator
# Kick and user info commands.
4 user Kick user
PM 0 Selected You are being kicked: %[line:Reason for kick]
Chat 1 is kicking %[userNI]: %[line:Reason for kick]
Chat 0 !kick %[userNI]
4 user Get user's IP
Chat 0 !getip %[userNI]
4 user,hub Find user with certain IP
Chat 0 !whoip %[line:Enter IP]
4 user,hub Find users within IP range
Chat 0 !whoip %[line:Enter range (can use <start>-<end> or <ip>/<mask> CIDR notation)]
# Log/broadcast commands.
4 user,hub LogSeparator
Separator
4 user,hub Show log
Chat 0 !log
4 user,hub Broadcast PM to all users
Chat 0 !broadcast %[line:Enter message to broadcast to all users]
# Admin commands.
7 user,hub AdminSeparator
Separator
7 user,hub Hub statistics
Chat 0 !stats
7 user,hub Reload configuration files
Chat 0 !reload
7 user,hub Shutdown hub
Chat 0 !shutdown
# Finish off with the help command after a separator.
0 hub,user HelpSeparator
Separator
0 hub,user Help
Chat 0 !help
# Sample configuration for a quote recording bot connected to the hub, with
# commands displayed in a sub-menu.
#
# This assumes you have reserved_sids=QuoteBot in your uhub configuration file,
# which will reserve the SID AAAB for the QuoteBot user (remember you must also
# register an account for QuoteBot for this to work). Note that if the bot is
# offline the hub will drop any message destined for the bot.
#
# NB. if you just want to see how this looks, you can uncomment the following
# lines even if you don't have such a bot - the commands will still be sent out
# to users, they just won't do anything.
#
#0 hub,user QuoteBot\Get latest quote
#PM 0 AAAB !latest
#0 hub,user QuoteBot\Get random quote
#PM 0 AAAB !random
#0 hub,user QuoteBot\Separator
#Separator
#0 hub,user QuoteBot\Add quote
#PM 0 AAAB !add %[line:Enter quote to add]
#4 hub,user QuoteBot\Delete quote
#PM 0 AAAB !delete %[line:Enter number of quote to delete]