summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby <robby@chatbelgie.be>2019-02-17 15:58:31 +0100
committerPeter Powell <petpow@saberuk.com>2019-02-18 09:15:56 +0000
commit21e7efdadfa685ac1ddcb0a0a515502bc873302b (patch)
tree885e629a2eb4e60cc308e4f97668c5db2f718cf0
parent35bbf9bb0100800111f5123e378d807bf87ad846 (diff)
Various text improvements: consistency, syntax, help and doc updates/fixes.
-rw-r--r--docs/conf/filter.conf.example14
-rw-r--r--docs/conf/helpop.conf.example402
-rw-r--r--docs/conf/inspircd.conf.example36
-rw-r--r--docs/conf/links.conf.example26
-rw-r--r--docs/conf/modules.conf.example77
-rw-r--r--docs/conf/opers.conf.example46
-rw-r--r--include/iohook.h2
-rw-r--r--src/coremods/core_channel/cmd_invite.cpp2
-rw-r--r--src/coremods/core_channel/cmd_join.cpp2
-rw-r--r--src/coremods/core_channel/cmd_kick.cpp4
-rw-r--r--src/coremods/core_channel/cmd_names.cpp2
-rw-r--r--src/coremods/core_channel/cmd_topic.cpp2
-rw-r--r--src/coremods/core_ison.cpp2
-rw-r--r--src/coremods/core_message.cpp6
-rw-r--r--src/coremods/core_oper/cmd_die.cpp2
-rw-r--r--src/coremods/core_oper/cmd_kill.cpp2
-rw-r--r--src/coremods/core_oper/cmd_restart.cpp2
-rw-r--r--src/coremods/core_stats.cpp2
-rw-r--r--src/coremods/core_stub.cpp4
-rw-r--r--src/coremods/core_user/cmd_away.cpp2
-rw-r--r--src/coremods/core_user/cmd_mode.cpp2
-rw-r--r--src/coremods/core_user/cmd_part.cpp2
-rw-r--r--src/coremods/core_user/cmd_quit.cpp2
-rw-r--r--src/coremods/core_user/cmd_user.cpp2
-rw-r--r--src/coremods/core_userhost.cpp2
-rw-r--r--src/coremods/core_wallops.cpp2
-rw-r--r--src/coremods/core_who.cpp2
-rw-r--r--src/coremods/core_whois.cpp2
-rw-r--r--src/coremods/core_whowas.cpp2
-rw-r--r--src/coremods/core_xline/cmd_eline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_gline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_kline.cpp2
-rw-r--r--src/coremods/core_xline/cmd_qline.cpp2
-rw-r--r--src/mode.cpp4
-rw-r--r--src/modules/m_callerid.cpp4
-rw-r--r--src/modules/m_cban.cpp2
-rw-r--r--src/modules/m_cgiirc.cpp2
-rw-r--r--src/modules/m_check.cpp2
-rw-r--r--src/modules/m_chghost.cpp2
-rw-r--r--src/modules/m_chgident.cpp2
-rw-r--r--src/modules/m_chgname.cpp2
-rw-r--r--src/modules/m_clearchan.cpp2
-rw-r--r--src/modules/m_customtitle.cpp2
-rw-r--r--src/modules/m_cycle.cpp2
-rw-r--r--src/modules/m_dccallow.cpp6
-rw-r--r--src/modules/m_globalload.cpp6
-rw-r--r--src/modules/m_globops.cpp2
-rw-r--r--src/modules/m_knock.cpp2
-rw-r--r--src/modules/m_modenotice.cpp2
-rw-r--r--src/modules/m_monitor.cpp2
-rw-r--r--src/modules/m_namedmodes.cpp2
-rw-r--r--src/modules/m_nicklock.cpp4
-rw-r--r--src/modules/m_password_hash.cpp2
-rw-r--r--src/modules/m_remove.cpp4
-rw-r--r--src/modules/m_repeat.cpp6
-rw-r--r--src/modules/m_rline.cpp2
-rw-r--r--src/modules/m_rmode.cpp2
-rw-r--r--src/modules/m_sajoin.cpp4
-rw-r--r--src/modules/m_sakick.cpp4
-rw-r--r--src/modules/m_samode.cpp2
-rw-r--r--src/modules/m_sanick.cpp4
-rw-r--r--src/modules/m_sapart.cpp4
-rw-r--r--src/modules/m_saquit.cpp4
-rw-r--r--src/modules/m_satopic.cpp2
-rw-r--r--src/modules/m_sethost.cpp2
-rw-r--r--src/modules/m_setident.cpp2
-rw-r--r--src/modules/m_setname.cpp2
-rw-r--r--src/modules/m_shun.cpp2
-rw-r--r--src/modules/m_silence.cpp6
-rw-r--r--src/modules/m_spanningtree/rsquit.cpp2
-rw-r--r--src/modules/m_svshold.cpp2
-rw-r--r--src/modules/m_userip.cpp2
-rw-r--r--src/modules/m_watch.cpp2
73 files changed, 422 insertions, 355 deletions
diff --git a/docs/conf/filter.conf.example b/docs/conf/filter.conf.example
index 29e1f530c..f9afc85a8 100644
--- a/docs/conf/filter.conf.example
+++ b/docs/conf/filter.conf.example
@@ -16,8 +16,8 @@
# block This blocks the line, sends out a notice to all opers with
# +s and informs the user that their message was blocked.
#
-# silent This blocks the line only, and informs the user their message
-# was blocked, but does not notify opers.
+# silent This blocks the line only, and informs the user that their
+# message was blocked, but does not notify opers.
#
# none This action causes nothing to be done except logging. This
# is the default action if none is specified.
@@ -26,17 +26,17 @@
# the kill reason.
#
# gline G-line the user for 'duration' length of time. Durations may
-# be specified using the notation 1y2d3h4m6s in a similar way to
+# be specified using the notation 1y2w3d4h5m6s in a similar way to
# other G-lines, omitting the duration or setting it to 0 makes
# any G-lines set by this filter be permanent.
#
# zline Z-line the user for 'duration' length of time. Durations may
-# be specified using the notation 1y2d3h4m6s in a similar way to
+# be specified using the notation 1y2w3d4h5m6s in a similar way to
# other Z-lines, omitting the duration or setting it to 0 makes
# any Z-lines set by this filter be permanent.
#
# shun Shun the user for 'duration' length of time. Durations may
-# be specified using the notation 1y2d3h4m6s in a similar way to
+# be specified using the notation 1y2w3d4h5m6s in a similar way to
# other X-lines, omitting the duration or setting it to 0 makes
# any shuns set by this filter be permanent.
# Requires the shun module to be loaded.
@@ -59,11 +59,11 @@
#
# <keyword pattern="*qwerty*" reason="You qwertied!" action="block" flags="pn">
# <keyword pattern="*killmenow*" reason="As you request." action="kill" flags="*">
-# <keyword pattern="*blah*" reason="Dont blah!" action="gline" duration="1d6h" flags="-">
+# <keyword pattern="*blah*" reason="Don't blah!" action="gline" duration="1d6h" flags="-">
# An example regexp filter:
#
-# <keyword pattern="^blah.*?$" reason="Dont blah!" action="gline" duration="1d6h" flags="pnPq">
+# <keyword pattern="^blah.*?$" reason="Don't blah!" action="gline" duration="1d6h" flags="pnPq">
# You may specify specific channels that are exempt from being filtered:
#<exemptfromfilter target="#opers">
diff --git a/docs/conf/helpop.conf.example b/docs/conf/helpop.conf.example
index bd184f6ef..3fdff9bee 100644
--- a/docs/conf/helpop.conf.example
+++ b/docs/conf/helpop.conf.example
@@ -3,7 +3,7 @@
# or you can customize the responses for your network and/or add more.
#
# The way the new helpop system works is simple. You use one or more helpop tags.
-# <helpop key="moo" value="something here">.
+# <helpop key="moo" value="something here">
# key is what the user is looking for (i.e. /helpop moo), and value is what they get back
# (note that it can span multiple lines!).
# -- w00t 16/dec/2006
@@ -34,14 +34,14 @@ parameter for this command.
ACCEPT ADMIN AWAY COMMANDS CYCLE DCCALLOW
FPART INFO INVITE ISON JOIN KICK
KNOCK LINKS LIST LUSERS MAP MKPASSWD
-MODE MODULES MOTD NAMES NICK NOTICE
-OPER PART PASS PING PONG PRIVMSG
-QUIT REMOVE SETNAME SILENCE SQUERY SSLINFO
-STATS TBAN TIME TITLE TOPIC UNINVITE
-USER USERHOST VERSION VHOST WATCH WHO
-WHOIS WHOWAS">
+MODE MODULES MONITOR MOTD NAMES NICK
+NOTICE OPER PART PASS PING PONG
+PRIVMSG QUIT REMOVE SETNAME SILENCE SQUERY
+SSLINFO STATS TBAN TIME TITLE TOPIC
+UNINVITE USER USERHOST VERSION VHOST WATCH
+WHO WHOIS WHOWAS">
-<helpop key="squery" value="/SQUERY <target> <text>
+<helpop key="squery" value="/SQUERY <target> :<message>
Sends a message to the network service specified in <target>.">
@@ -57,76 +57,103 @@ Uninvite a user from a channel, same syntax as INVITE.">
<helpop key="tban" value="/TBAN <channel> <duration> <banmask>
Sets a timed ban. The duration of the ban can be specified in the
-following format: 1w2d3h4m6s which indicates a ban of one week, two
-days, three hours, four minutes and six seconds. Alternatively the
-ban may just be specified as a number of seconds. All timed bans
-appear in the banlist as normal bans and may be safely removed
-before their time is up.">
+form of 1y2w3d4h5m6s - meaning one year, two weeks, three days,
+four hours, five minutes and six seconds. All fields in this
+format are optional. Alternatively, the ban may just be specified
+as a number of seconds. All timed bans appear in the banlist as
+normal bans and may be safely removed before their time is up.">
-<helpop key="dccallow" value="/DCCALLOW - List allowed nicks
+<helpop key="dccallow" value="/DCCALLOW [(+|-)<nick> [<time>]]|[LIST|HELP]
+
+/DCCALLOW - List allowed nicks
/DCCALLOW LIST - This also lists allowed nicks
/DCCALLOW +<nick> [<duration>] - Add a nick
/DCCALLOW -<nick> - Remove a nick
/DCCALLOW HELP - Display help
Duration is optional, and may be specified in seconds or in the
-form of 1m2h3d4w5y.">
+form of 1y2w3d4h5m6s - meaning one year, two weeks, three days,
+four hours, five minutes and six seconds. All fields in this
+format are optional.">
+
+<helpop key="accept" value="/ACCEPT *|(+|-)<nick>[,(+|-)<nick>]+
+
+Manages your accept list. This list is used to determine who can
+private message you when you have usermode +g set.
-<helpop key="accept" value="/ACCEPT * - List accepted nicks
+/ACCEPT * - List accepted nicks
/ACCEPT +<nick> - Add a nick
/ACCEPT -<nick> - Remove a nick
-This command accepts multiple nicks like so:
-/ACCEPT +<nick1>,+<nick2>,-<nick3>
-Manages your accept list. This list is used to determine who can
-private message you when you have usermode +g set.">
+This command accepts multiple nicks like so:
+/ACCEPT +<nick>,-<nick>,+<nick>">
-<helpop key="cycle" value="/CYCLE <channel> :[<reason>]
+<helpop key="cycle" value="/CYCLE <channel> [:<reason>]
Cycles a channel (leaving and rejoining), overrides restrictions that
would stop a new user joining, such as user limits and channel keys.">
-<helpop key="title" value="/TITLE <name> <password>
+<helpop key="title" value="/TITLE <username> <password>
Authenticate for a WHOIS title line and optionally a vhost using the
specified username and password.">
-<helpop key="watch" value="/WATCH - List watched nicks that are online
-/WATCH L - List watched nicks, online and offline
-/WATCH C - Clear all watched nicks
-/WATCH S - Show statistics
+<helpop key="watch" value="/WATCH C|L|l|S|(+|-)<nick> [(+|-)<nick>]+
+
+/WATCH - List watched nicks that are online
+/WATCH l - List watched nicks that are online
+/WATCH L - List watched nicks, online and offline
+/WATCH C - Clear all watched nicks
+/WATCH S - Show statistics
/WATCH +<nick> - Add a nick
/WATCH -<nick> - Remove a nick
+
This command accepts multiple nicks like so:
-/WATCH +<nick1> +<nick2> -<nick3>">
+/WATCH +<nick> -<nick> +<nick>">
+
+<helpop key="monitor" value="/MONITOR C|L|S|(+|-) <nick>[,<nick>]+
+
+/MONITOR L - List all monitored nicks, not differentiating between
+ online and offline nicks
+/MONITOR C - Clear all monitored nicks
+/MONITOR S - List all monitored nicks, indicating which are online
+ and which are offline
+/MONITOR + <nick> - Add a nick
+/MONITOR - <nick> - Remove a nick
+
+This command accepts multiple nicks like so:
+/MONITOR + <nick>,<nick>,<nick>
+/MONITOR - <nick>,<nick>,<nick>">
<helpop key="vhost" value="/VHOST <username> <password>
Authenticate for a vhost using the specified username and password.">
-<helpop key="remove" value="/REMOVE <channel> <nick> [<reason>]
+<helpop key="remove" value="/REMOVE <channel> <nick> [:<reason>]
Removes a user from a channel you specify. You must be at least a
channel halfoperator to remove a user. A removed user will part with
a message stating they were removed from the channel and by whom.">
-<helpop key="rmode" value="/RMODE [channel] [modeletter] {[pattern]}
+<helpop key="rmode" value="/RMODE <channel> <mode> [<pattern>]
-Removes listmodes from a channel.
-E.g. /RMODE #Chan b m:* will remove all mute extbans.">
+Removes listmodes from a channel, optionally matching a glob-based pattern.
+E.g. '/RMODE #channel b m:*' will remove all mute extbans on the channel.">
-<helpop key="fpart" value="/FPART <channel> <nick> [<reason>]
+<helpop key="fpart" value="/FPART <channel> <nick> [:<reason>]
This behaves identically to /REMOVE. /REMOVE is a built-in mIRC command
which caused trouble for some users.">
-<helpop key="silence" value="/SILENCE - Shows a list of silenced masks
+<helpop key="silence" value="/SILENCE [(+|-)<mask> [p|c|i|n|t|a|x]]
+
+A server-side ignore of the given n!u@h mask. The flags at the end
+are optional, and specify what is to be ignored from this mask.
+
+/SILENCE - Shows a list of silenced masks
/SILENCE +<mask> [<flags>] - Add a mask
/SILENCE -<mask> - Remove a mask
-A serverside ignore of the given n!u@h mask. The letter(s) at the end
-specify what is to be ignored from this hostmask.
-
Valid SILENCE Flags
-------------------
@@ -138,18 +165,21 @@ Valid SILENCE Flags
a Block all of the above
x Exception
-Multiple letters may be specified. For an exception, you must pair x
+Multiple flags may be specified. For an exception, you must pair x
with what you want excepted. For example, if you wanted to except
everything from people with a host matching *.foo.net, you would do
/SILENCE +*!*@*.foo.net xa
+If no flags are specified, it will default to blocking private messages
+and private notices (pn).
+
/SILENCE without a parameter will list the masks that you have silenced.">
-<helpop key="knock" value="/KNOCK <channel>
+<helpop key="knock" value="/KNOCK <channel> :<reason>
Sends a notice to a channel indicating you wish to join.">
-<helpop key="user" value="/USER <ident> <local host> <remote host> :<real name>
+<helpop key="user" value="/USER <username> <unused> <unused> :<realname>
This command is used by your client to register your
IRC session, providing your ident and real name to the
@@ -157,57 +187,59 @@ server.
You should not use it during an established connection.">
-<helpop key="nick" value="/NICK <new nick>
+<helpop key="nick" value="/NICK <newnick>
-Change your nickname to <new nick>.">
+Change your nickname to <newnick>.">
-<helpop key="quit" value="/QUIT [<reason>]
+<helpop key="quit" value="/QUIT [:<message>]
Quit from IRC and end your current session.">
-<helpop key="version" value="/VERSION
+<helpop key="version" value="/VERSION [<servername>]
Returns the server's version information.">
-<helpop key="ping" value="/PING <server>
+<helpop key="ping" value="/PING <servername> [:<servername>]
Ping a server. The server will answer with a PONG.">
-<helpop key="pong" value="/PONG <server>
+<helpop key="pong" value="/PONG <servername>
Your client should send this to answer server PINGs. You
should not issue this command manually.">
-<helpop key="admin" value="/ADMIN [<server>]
+<helpop key="admin" value="/ADMIN [<servername>]
Shows the administrative information for the given server.">
-<helpop key="privmsg" value="/PRIVMSG <target> <text>
+<helpop key="privmsg" value="/PRIVMSG <target>[,<target>]+ :<message>
Sends a message to a user or channel specified in <target>.">
-<helpop key="notice" value="/NOTICE <target> <text>
+<helpop key="notice" value="/NOTICE <target>[,<target>]+ :<message>
Sends a notice to a user or channel specified in <target>.">
-<helpop key="join" value="/JOIN <channel>[,<channel>] [<key>][,<key>]
+<helpop key="join" value="/JOIN <channel>[,<channel>]+ [<key>[,<key>]+]
Joins one or more channels you provide the names for.">
-<helpop key="names" value="/NAMES <channel>[,<channel>]
+<helpop key="names" value="/NAMES <channel>[,<channel>]+
-Return a list of users on the channels you provide.">
+Return a list of users on the channel(s) you provide.">
-<helpop key="part" value="/PART <channel>[,<channel>] [<reason>]
+<helpop key="part" value="/PART <channel>[,<channel>]+ [:<reason>]
Leaves one or more channels you specify.">
-<helpop key="kick" value="/KICK <channel> <nick>[,<nick>] [<reason>]
+<helpop key="kick" value="/KICK <channel> <nick>[,<nick>]+ [:<reason>]
Kicks a user from a channel you specify. You must be
at least a channel halfoperator to kick a user.">
-<helpop key="mode" value="/MODE <target> (+|-)<modes> [<mode parameters>] - Change modes of <target>.
+<helpop key="mode" value="/MODE <target> [[(+|-)]<modes> [<mode-parameters>]]
+
+Change or view modes of <target>.
/MODE <target> - Show modes of <target>.
@@ -221,7 +253,7 @@ channels where they are at least a halfoperator.
For a list of all user and channel modes, enter /HELPOP UMODES or
/HELPOP CHMODES.">
-<helpop key="topic" value="/TOPIC <channel> [<topic>]
+<helpop key="topic" value="/TOPIC <channel> [:<topic>]
Sets or retrieves the channel topic. If a channel topic is
given in the command and either the channel is not +t, or
@@ -307,13 +339,13 @@ Valid WHO Fields
">
-<helpop key="motd" value="/MOTD [<server>]
+<helpop key="motd" value="/MOTD [<servername>]
Show the message of the day for <server>. Messages of the day often
contain important server rules and notices and should be read prior
to using a server.">
-<helpop key="oper" value="/OPER <login> <password>
+<helpop key="oper" value="/OPER <username> <password>
Attempts to authenticate a user as an IRC operator.
@@ -329,22 +361,22 @@ Creates a list of all existing channels matching the glob pattern
Shows a count of local and remote users, servers and channels.">
-<helpop key="userhost" value="/USERHOST <nick> [<nick>]
+<helpop key="userhost" value="/USERHOST <nick> [<nick>]+
Returns the hostname and nickname of a user, and some other
miscellaneous information.">
-<helpop key="away" value="/AWAY [<message>]
+<helpop key="away" value="/AWAY [:<message>]
If a message is given, marks you as being away, otherwise
removes your away status and previous message.">
-<helpop key="ison" value="/ISON <nick> [<nick> ...]
+<helpop key="ison" value="/ISON <nick> [<nick>]+
Returns a subset of the nicks you give, showing only those
that are currently online.">
-<helpop key="invite" value="/INVITE <nick> <channel> [<time>]
+<helpop key="invite" value="/INVITE [<nick> <channel> [<time>]]
Invites a user to a channel. If the channel is NOT +A, only
channel halfoperators or above can invite people. If +A is set,
@@ -356,7 +388,14 @@ Invited users may override bans, +k, and similar in addition to
+i, depending on configuration.
If a time is provided, the invite expires after that time and the user
-can no longer use it to enter the channel.">
+can no longer use it to enter the channel. The time can be specified
+in the form of 1y2w3d4h5m6s - meaning one year, two weeks, three days,
+four hours, five minutes and six seconds. All fields in this format
+are optional. Alternatively, the time may just be specified as a number
+of seconds.
+
+/INVITE without a parameter will list pending invitations for channels
+you have been invited to.">
<helpop key="pass" value="/PASS <password>
@@ -373,7 +412,7 @@ the time they were last seen and their server.">
<helpop key="links" value="/LINKS
-Shows all servers linked to this one.">
+Shows all linked servers.">
<helpop key="map" value="/MAP
@@ -381,26 +420,26 @@ Shows a graphical representation of all users and servers on the
network, and the links between them, as a tree from the perspective
of your server.">
-<helpop key="whois" value="/WHOIS <nick> [<server>]
+<helpop key="whois" value="/WHOIS [<servername>] <nick>[,<nick>]+
Returns the WHOIS information of a user, their channels, hostname,
-etc. If a second nickname or server is provided, then a whois is
-performed from the server where the user is actually located rather
-than locally, showing idle and signon times.">
+etc. If a servername is provided, then a whois is performed from
+the server where the user is actually located rather than locally,
+showing idle and signon times.">
-<helpop key="time" value="/TIME [<server>]
+<helpop key="time" value="/TIME [<servername>]
Returns the local time of the server, or remote time of another
server.">
-<helpop key="info" value="/INFO [<server>]
+<helpop key="info" value="/INFO [<servername>]
Returns information on the developers and supporters who made this
IRC server possible.">
-<helpop key="setname" value="/SETNAME <name>
+<helpop key="setname" value="/SETNAME :<realname>
-Sets your name to the specified name.">
+Sets your real name to the specified real name.">
<helpop key="coper" value="Oper Commands
@@ -418,18 +457,18 @@ SATOPIC SETHOST SETIDENT SETIDLE SHUN
SQUIT SWHOIS TLINE UNLOADMODULE UNLOCKSERV
USERIP WALLOPS ZLINE">
-<helpop key="userip" value="/USERIP <nick> [<nick>]
+<helpop key="userip" value="/USERIP <nick> [<nick>]+
-Returns the ip and nickname of the given users.">
+Returns the IP address and nickname of the given user(s).">
<helpop key="tline" value="/TLINE <mask>
This command returns the number of local and global clients matched,
and the percentage of clients matched, plus how they were matched
(by IP address or by hostname). Mask should be given as either a
-nick!user@host or user@IP (wildcards acceptable).">
+nick!user@host or user@IP (wildcards accepted).">
-<helpop key="lockserv" value="/LOCKSERV :[<message>]
+<helpop key="lockserv" value="/LOCKSERV [:<message>]
Locks out all new connections notifying connecting users that the
service is temporarily closed and to try again later.">
@@ -440,8 +479,8 @@ Opens the server up again for new connections.">
<helpop key="filter" value="/FILTER <filter-definition> [<action> <flags> [<duration>] :<reason>]
-This command will add a filter when more than one parameter is given,
-for messages of the types specified by the flags, with the given
+This command will add a global filter when more than one parameter is
+given, for messages of the types specified by the flags, with the given
filter definition, action, duration (when the action is 'gline',
'zline' or 'shun'), and reason.
@@ -501,75 +540,81 @@ channel on official network business.">
Retrieves a list of users with more clones than the specified
limit.">
-<helpop key="check" value="/CHECK <nick|ip|hostmask|channel> [<server>]
+<helpop key="check" value="/CHECK <nick>|<ipmask>|<hostmask>|<channel> [<servername>]
-Allows opers to look up advanced information on channels, hostmasks
-or IP addresses, in a similar way to WHO but in more detail, displaying
-most information the IRCD has stored on the target, including all
-metadata.
+Allows opers to look up advanced information on nicknames, IP addresses,
+hostmasks or channels, in a similar way to WHO but in more detail,
+displaying most information the server has stored on the target,
+including all metadata.
With the second parameter given, runs the command remotely on the
-specified server.">
+specified server, useful especially if used on a nickname that is
+online on a remote server.">
<helpop key="alltime" value="/ALLTIME
-Shows the time on all servers on the network.">
+Shows the date and time of all servers on the network.">
-<helpop key="rconnect" value="/RCONNECT <source mask> <target mask>
+<helpop key="rconnect" value="/RCONNECT <remote-server-mask> <target-server-mask>
-The server matching <source mask> will try to connect to the first
-server in the config file matching <target mask>.">
+The server matching <remote-server-mask> will try to connect to the first
+server in the config file matching <target-server-mask>.">
-<helpop key="rsquit" value="/RSQUIT <target mask> [<reason>]
+<helpop key="rsquit" value="/RSQUIT <target-server-mask> [:<reason>]
-Causes a remote server matching <target mask> to be disconnected from
+Causes a remote server matching <target-server-mask> to be disconnected from
the network.">
-<helpop key="globops" value="/GLOBOPS <message>
+<helpop key="globops" value="/GLOBOPS :<message>
Sends a message to all users with the +g snomask.">
-<helpop key="cban" value="/CBAN <channel> [<duration> :[<reason>]]
+<helpop key="cban" value="/CBAN <channel> [<duration> [:<reason>]]
-Sets or removes a channel ban. You must specify all three parameters
+Sets or removes a global channel ban. You must specify all three parameters
to add a ban, and one parameter to remove a ban (just the channel).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
-<helpop key="sajoin" value="/SAJOIN [<nick>] <channel>[,<channel>]
+<helpop key="sajoin" value="/SAJOIN [<nick>] <channel>[,<channel>]+
Forces the user to join the channel(s).
If no nick is given, it joins the oper doing the /SAJOIN.">
-<helpop key="sapart" value="/SAPART <nick> <channel>[,<channel>]
+<helpop key="sapart" value="/SAPART <nick> <channel>[,<channel>]+ [:<reason>]
-Forces the user to part the channel(s).">
+Forces the user to part the channel(s), with an optional reason.">
-<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<parameters for modes>]
+<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<mode-parameters>]
Applies the given mode change to the channel or nick specified.">
-<helpop key="sanick" value="/SANICK <nick> <new nick>
+<helpop key="sanick" value="/SANICK <nick> <newnick>
Changes the user's nick to the new nick.">
-<helpop key="sakick" value="/SAKICK <channel> <nick> <reason>
+<helpop key="sakick" value="/SAKICK <channel> <nick> [:<reason>]
-Kicks the given user from the specified channel.">
+Kicks the given user from the specified channel, with an optional reason.">
-<helpop key="satopic" value="/SATOPIC <channel> <new topic>
+<helpop key="satopic" value="/SATOPIC <channel> :<topic>
Applies the given topic to the specified channel.">
-<helpop key="saquit" value="/SAQUIT <nick> <reason>
+<helpop key="saquit" value="/SAQUIT <nick> :<reason>
Forces user to quit with the specified reason.">
-<helpop key="setidle" value="/SETIDLE <idle time>
+<helpop key="setidle" value="/SETIDLE <duration>
-Sets your idle time (in seconds) to the specified value.">
+Sets your idle time to the specified value.
+
+The time can be specified in the form of 1y2w3d4h5m6s - meaning one year,
+two weeks, three days, four hours, five minutes and six seconds.
+All fields in this format are optional. Alternatively, the time may
+just be specified as a number of seconds.">
<helpop key="sethost" value="/SETHOST <host>
@@ -579,20 +624,24 @@ Sets your host to the specified host.">
Sets your ident to the specified ident.">
-<helpop key="swhois" line="/SWHOIS <nick> <swhois>
+<helpop key="swhois" line="/SWHOIS <nick> :<swhois>
+
+Sets the user's swhois field to the given swhois message.
+This will be visible in their /WHOIS.
-Sets the user's swhois field to the given swhois.">
+To remove this message again, use:
+/SWHOIS <nick> :">
<helpop key="mkpasswd" value="/MKPASSWD <hashtype> <plaintext>
Encodes the plaintext to a hash of the given type and displays
the result.">
-<helpop key="opermotd" value="/OPERMOTD
+<helpop key="opermotd" value="/OPERMOTD [<servername>]
Displays the Oper MOTD.">
-<helpop key="nicklock" value="/NICKLOCK <nick> <new nick>
+<helpop key="nicklock" value="/NICKLOCK <nick> <newnick>
Changes the user's nick to the new nick, and forces
it to remain as such for the remainder of the session.">
@@ -601,34 +650,34 @@ it to remain as such for the remainder of the session.">
Allows a previously locked user to change nicks again.">
-<helpop key="chghost" value="/CHGHOST <nickname> <new hostname>
+<helpop key="chghost" value="/CHGHOST <nick> <host>
-Changes the hostname of the user to the new hostname.">
+Changes the host of the user to the specified host.">
-<helpop key="chgname" value="/CHGNAME <nickname> <new name>
+<helpop key="chgname" value="/CHGNAME <nick> :<realname>
-Changes the name of the user to the new name.">
+Changes the real name of the user to the specified real name.">
-<helpop key="chgident" value="/CHGIDENT <nickname> <new ident>
+<helpop key="chgident" value="/CHGIDENT <nick> <ident>
-Changes the ident of the user to the new ident.">
+Changes the ident of the user to the specified ident.">
-<helpop key="shun" value="/SHUN <nick!user@host> [[<duration>] :<reason>]
+<helpop key="shun" value="/SHUN <nick!user@host> [<duration> :<reason>]
-Sets or removes a shun (server side ignore) on a host and ident mask.
+Sets or removes a shun (global server-side ignore) on a nick!user@host mask.
You must specify all three parameters to add a shun, and one parameter
-to remove a shun (just the nick!user@host section).
+to remove a shun (just the nick!user@host).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
-<helpop key="die" value="/DIE <server>
+<helpop key="die" value="/DIE <servername>
This command shuts down the local server. A single parameter is
required, which must match the name of the local server.">
-<helpop key="restart" value="/RESTART <server>
+<helpop key="restart" value="/RESTART <servername>
This command restarts the local server. A single parameter is
required, which must match the name of the local server.">
@@ -637,11 +686,11 @@ required, which must match the name of the local server.">
Shows all currently available commands.">
-<helpop key="kill" value="/KILL <user> <reason>
+<helpop key="kill" value="/KILL <nick>[,<nick>]+ :<reason>
This command will disconnect a user from IRC with the given reason.">
-<helpop key="rehash" value="/REHASH <mask>
+<helpop key="rehash" value="/REHASH [<servermask>]
This command will cause the server configuration file to be reread and
values reinitialized for all servers matching the server mask, or the
@@ -657,105 +706,105 @@ before trying to link them.">
Disconnects the server matching the given server mask from this server.">
-<helpop key="modules" value="/MODULES
+<helpop key="modules" value="/MODULES [<servername>]
Lists currently loaded modules, their memory offsets, version numbers,
and flags. If you are not an operator, you will see reduced detail.">
-<helpop key="loadmodule" value="/LOADMODULE <modname>
+<helpop key="loadmodule" value="/LOADMODULE <modulename>
Loads the specified module into the local server.">
-<helpop key="unloadmodule" value="/UNLOADMODULE <modname>
+<helpop key="unloadmodule" value="/UNLOADMODULE <modulename>
Unloads a module from the local server.">
-<helpop key="reloadmodule" value="/RELOADMODULE <modname>
+<helpop key="reloadmodule" value="/RELOADMODULE <modulename>
Unloads and reloads a module on the local server.">
-<helpop key="gloadmodule" value="/GLOADMODULE <modname>
+<helpop key="gloadmodule" value="/GLOADMODULE <modulename> [<servermask>]
Loads the specified module on all linked servers.">
-<helpop key="gunloadmodule" value="/GUNLOADMODULE <modname>
+<helpop key="gunloadmodule" value="/GUNLOADMODULE <modulename> [<servermask>]
Unloads a module from all linked servers.">
-<helpop key="greloadmodule" value="/GRELOADMODULE <modname>
+<helpop key="greloadmodule" value="/GRELOADMODULE <modulename> [<servermask>]
Unloads and reloads a module on all linked servers.">
<helpop key="kline" value="/KLINE <user@host> [<duration> :<reason>]
-Sets or removes a K-line (local host based ban) on a host and ident mask.
+Sets or removes a K-line (local user@host based ban) on a user@host mask.
You must specify all three parameters to add a ban, and one parameter
-to remove a ban (just the user@host section).
+to remove a ban (just the user@host).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
<helpop key="zline" value="/ZLINE <ipmask> [<duration> :<reason>]
-Sets or removes a Z-line (ip based ban) on an ip range mask.
+Sets or removes a Z-line (global IP based ban) on an IP mask.
You must specify all three parameters to add a ban, and one parameter
to remove a ban (just the ipmask).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
<helpop key="qline" value="/QLINE <nickmask> [<duration> :<reason>]
-Sets or removes a Q-line (nick based ban) on a nick mask.
+Sets or removes a Q-line (global nick based ban) on a nick mask.
You must specify all three parameters to add a ban, and one parameter
to remove a ban (just the nickmask).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
<helpop key="gline" value="/GLINE <user@host> [<duration> :<reason>]
-Sets or removes a G-line (host based ban) on host mask.
+Sets or removes a G-line (global user@host based ban) on a user@host mask.
You must specify all three parameters to add a ban, and one
-parameter to remove a ban (just the user@host section).
+parameter to remove a ban (just the user@host).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
<helpop key="eline" value="/ELINE <user@host> [<duration> :<reason>]
-Sets or removes a E-line (global ban exception) on host mask.
+Sets or removes a E-line (global user@host ban exception) on a user@host mask.
You must specify at least 3 parameters to add an exception, and one
-parameter to remove an exception (just the user@host section).
+parameter to remove an exception (just the user@host).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.
This command has a few important limitations. Bans on *@<ip> can only
be negated by an E-line on *@<ip>, bans on *@<host> can be negated by
E-lines on *@<ip>, or *@<host>, and bans on <ident>@* or <ident>@<host>
can be negated by any E-line that matches.">
-<helpop key="wallops" value="/WALLOPS <message>
+<helpop key="wallops" value="/WALLOPS :<message>
Sends a message to all +w users.">
<helpop key="rline" value="/RLINE <regex> [<duration> :<reason>]
-Sets or removes an R-line (regex line) on a n!u@h\srealname mask. You
+Sets or removes an R-line (global regex ban) on a n!u@h\srealname mask. You
must specify all three parameters to add an R-line, and one parameter
to remove an R-line (just the regex).
The duration may be specified in seconds, or in the format
-1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours,
-5 minutes and 6 seconds. All fields in this format are optional.">
+1y2w3d4h5m6s - meaning one year, two weeks, three days, four hours,
+five minutes and six seconds. All fields in this format are optional.">
-<helpop key="clearchan" value="/CLEARCHAN <channel> [<KILL|KICK|G|Z>] [<reason>]
+<helpop key="clearchan" value="/CLEARCHAN <channel> [KILL|KICK|G|Z] [:<reason>]
Quits or kicks all non-opers from a channel, optionally G/Z-lines them.
Useful for quickly nuking bot channels.
@@ -765,7 +814,7 @@ while methods G and Z also add G/Z-lines for all the targets.
When used, the victims won't see each other getting kicked or quitting.">
-<helpop key="modenotice" value="/MODENOTICE <modeletters> <message>
+<helpop key="modenotice" value="/MODENOTICE <modeletters> :<message>
Sends a notice to all users who have the given mode(s) set.
If multiple mode letters are given, the notice is only sent to users
@@ -785,7 +834,7 @@ using their cloak when they quit.">
commonchans module).
d Deaf mode. User will not receive any messages or notices
from channels they are in (requires the deaf module).
- g In combination with /ACCEPT, provides for server side
+ g In combination with /ACCEPT, provides for server-side
ignore (requires the callerid module).
h Marks as 'available for help' in WHOIS (IRCop only,
requires the helpop module).
@@ -810,8 +859,8 @@ using their cloak when they quit.">
hideoper module).
I Hides a user's entire channel list in WHOIS from
non-IRCops (requires the hidechans module).
- L Stops redirections done by m_redirect (mode must be
- enabled in the config).
+ L Stops redirections done by the redirect module (requires
+ the redirect module).
R Blocks private messages from unregistered users
(requires the services account module).
S Strips formatting codes out of private messages
@@ -879,7 +928,8 @@ using their cloak when they quit.">
For example, +w o:R:Brain will op anyone identified
to the account 'Brain' on join.
(requires the autoop module)
- z Blocks non-SSL clients from joining the channel.
+ z Blocks non-SSL clients from joining the channel
+ (requires the sslmodes module).
A Allows anyone to invite users to the channel
(normally only chanops can invite, requires
@@ -891,7 +941,8 @@ using their cloak when they quit.">
noctcp module).
D Delays join messages from users until they message
the channel (requires the delayjoin module).
- E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages.
+ E [~|*]<lines>:<sec>[:<difference>][:<backlog>] Allows blocking of
+ similar messages (requires the repeat module).
Kicks as default, blocks with ~ and bans with *
The last two parameters are optional.
F <changes>:<sec> Blocks nick changes when they equal or exceed the
@@ -905,7 +956,8 @@ using their cloak when they quit.">
J <seconds> Prevents rejoin after kick for the specified
number of seconds. This prevents auto-rejoin
(requires the kicknorejoin module).
- K Blocks /KNOCK on the channel.
+ K Blocks /KNOCK on the channel (requires the
+ knock module).
L <channel> If the channel reaches its limit set by +l,
redirect users to <channel> (requires the
redirect module).
@@ -919,8 +971,8 @@ using their cloak when they quit.">
topic, modes, and such will not be lost when it
empties (can only be set by IRCops, requires
the permchannels module).
- Q Only ulined servers and their users can kick
- (requires the nokicks module)
+ Q Only U-lined servers and their users can kick
+ (requires the nokicks module).
R Blocks unregistered users from joining (requires
the services account module).
S Strips formatting codes from messages to the
@@ -955,23 +1007,23 @@ being loaded by a server/network administrator. The actual modes available
on your network may be very different to this list. Please consult your
help channel if you have any questions.">
-<helpop key="stats" value="/STATS <symbol>
+<helpop key="stats" value="/STATS <symbol> [<servername>]
Shows various server statistics. Depending on configuration, some
symbols may be only available to opers.
Valid symbols are:
-e Show E-lines (local ban exemptions)
-g Show G-lines (host bans)
-k Show K-lines (local host bans)
-q Show Q-lines (nick mask bans)
-R Show R-lines (regular expression bans)
-Z Show Z-lines (IP mask bans)
+e Show E-lines (global user@host ban exceptions)
+g Show G-lines (global user@host bans)
+k Show K-lines (local user@host bans)
+q Show Q-lines (global nick bans)
+R Show R-lines (global regular expression bans)
+Z Show Z-lines (global IP mask bans)
-s Show filters
-C Show channel bans
-H Show shuns
+s Show filters (global)
+C Show channel bans (global)
+H Show shuns (global)
c Show link blocks
d Show configured DNSBLs and related statistics
@@ -1011,8 +1063,8 @@ Note that all /STATS use is broadcast to online IRC operators.">
K Allows receipt of remote kill messages.
l Allows receipt of local linking related messages.
L Allows receipt of remote linking related messages.
- n See local nickname changes (requires the seenicks module).
- N See remote nickname changes (requires the seenicks modules).
+ n Allows receipt of local nickname changes (requires the seenicks module).
+ N Allows receipt of remote nickname changes (requires the seenicks modules).
o Allows receipt of oper-up, oper-down, and oper-failure messages.
O Allows receipt of remote oper-up, oper-down, and oper-failure messages.
q Allows receipt of local quit messages.
diff --git a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example
index 890c9cc4c..7a4148413 100644
--- a/docs/conf/inspircd.conf.example
+++ b/docs/conf/inspircd.conf.example
@@ -255,7 +255,7 @@
#
# You may also use any of the above other than bcrypt prefixed with
# either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module).
- # Create hashed passwords with: /mkpasswd <hash> <password>
+ # Create hashed passwords with: /MKPASSWD <hashtype> <plaintext>
#hash="bcrypt"
# password: Password to use for this block/user(s)
@@ -268,7 +268,7 @@
# timeout: How long the server will wait before disconnecting
# a user if they do not do anything on connect.
# (Note, this is a client-side thing, if the client does not
- # send /nick, /user or /pass)
+ # send /NICK, /USER or /PASS)
timeout="10"
# localmax: Maximum local connections per IP (or CIDR mask, see below).
@@ -300,8 +300,8 @@
# modes: Usermodes that are set on users in this block on connect.
# Enabling this option requires that the conn_umodes module be loaded.
- # This entry is highly recommended to use for/with IP Cloaking/masking.
- # For the example to work, this also requires that the "cloaking"
+ # This entry is highly recommended to use for/with IP cloaking/masking.
+ # For the example to work, this also requires that the cloaking
# module be loaded as well.
modes="+x"
@@ -352,7 +352,7 @@
# timeout: How long the server will wait before disconnecting
# a user if they do not do anything on connect.
# (Note, this is a client-side thing, if the client does not
- # send /nick, /user or /pass)
+ # send /NICK, /USER or /PASS)
timeout="10"
# pingfreq: How often the server tries to ping connecting clients.
@@ -414,7 +414,7 @@
# modes: Usermodes that are set on users in this block on connect.
# Enabling this option requires that the conn_umodes module be loaded.
- # This entry is highly recommended to use for/with IP Cloaking/masking.
+ # This entry is highly recommended to use for/with IP cloaking/masking.
# For the example to work, this also requires that the cloaking
# module be loaded as well.
modes="+x">
@@ -647,7 +647,7 @@
# See m_exemptchanops in modules.conf.example for more details.
exemptchanops="censor:o filter:o nickflood:o nonick:v regmoderated:o"
- # invitebypassmodes: This allows /invite to bypass other channel modes.
+ # invitebypassmodes: This allows /INVITE to bypass other channel modes.
# (Such as +k, +j, +l, etc.)
invitebypassmodes="yes"
@@ -714,10 +714,10 @@
announceinvites="dynamic"
# hideulines: If this value is set to yes, U-lined servers will
- # be hidden from non-opers in /links and /map.
+ # be hidden from non-opers in /LINKS and /MAP.
hideulines="no"
- # flatlinks: If this value is set to yes, /map and /links will
+ # flatlinks: If this value is set to yes, /MAP and /LINKS will
# be flattened when shown to non-opers.
flatlinks="no"
@@ -734,7 +734,7 @@
# from the server.
hidebans="no"
- # hidekills: If defined, replaces who set a /kill with a custom string.
+ # hidekills: If defined, replaces who executed a /KILL with a custom string.
hidekills=""
# hideulinekills: Hide kills from clients of ulined servers from server notices.
@@ -746,7 +746,7 @@
hidesplits="no"
# maxtargets: Maximum number of targets per command.
- # (Commands like /notice, /privmsg, /kick, etc)
+ # (Commands like /NOTICE, /PRIVMSG, /KICK, etc)
maxtargets="20"
# customversion: A custom message to be displayed in the comments field
@@ -777,7 +777,7 @@
# affects the display in WHOIS.
genericoper="no"
- # userstats: /stats commands that users can run (opers can run all).
+ # userstats: /STATS commands that users can run (opers can run all).
userstats="Pu">
#-#-#-#-#-#-#-#-#-#-#-#-# LIMITS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
@@ -845,7 +845,7 @@
#
# An example log tag would be:
# <log method="file" type="OPER" level="default" target="opers.log">
-# which would log all information on /oper (failed and successful) to
+# which would log all information on /OPER (failed and successful) to
# a file called opers.log.
#
# There are many different types which may be used, and modules may
@@ -889,17 +889,17 @@
#-#-#-#-#-#-#-#-#-#-#-#-#- WHOWAS OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
-# This tag lets you define the behaviour of the /whowas command of #
+# This tag lets you define the behaviour of the /WHOWAS command of #
# your server. #
# #
<whowas
# groupsize: Maximum entries per nick shown when performing
- # a /whowas nick.
+ # a /WHOWAS <nick>.
groupsize="10"
# maxgroups: Maximum number of nickgroups that can be added to
- # the list so that /whowas does not use a lot of resources on
+ # the list so that /WHOWAS does not use a lot of resources on
# large networks.
maxgroups="100000"
@@ -927,7 +927,7 @@
# nick: Nick to disallow. Wildcards are supported.
nick="ChanServ"
- # reason: Reason to display on /nick.
+ # reason: Reason to display on /NICK.
reason="Reserved for a network service">
<badhost
@@ -947,7 +947,7 @@
# Wildcards and CIDR (if you specify an IP) can be used.
host="*@ircop.example.com"
- # reason: Reason for exception. Only shown in /stats e
+ # reason: Reason for exception. Only shown in /STATS e.
reason="Oper's hostname">
#-#-#-#-#-#-#-#-#-#-#- INSANE BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
diff --git a/docs/conf/links.conf.example b/docs/conf/links.conf.example
index ad2efa9f7..735cac304 100644
--- a/docs/conf/links.conf.example
+++ b/docs/conf/links.conf.example
@@ -64,19 +64,19 @@
# servers will not be shown when users do a /MAP or /LINKS.
hidden="no"
- # passwords: the passwords we send and receive.
+ # passwords: The passwords we send and receive.
# The remote server will have these passwords reversed.
# Passwords that contain a space character or begin with
# a colon (:) are invalid and may not be used.
sendpass="outgoing!password"
recvpass="incoming!password">
-# A duplicate of the first link block without comments
+# A duplicate of the first link block without comments,
# if you like copying & pasting.
<link name="hub.example.org"
ipaddr="penguin.example.org"
port="7000"
- allowmask="203.0.113.0/24"
+ allowmask="203.0.113.0/24 127.0.0.0/8 2001:db8::/32"
timeout="5m"
ssl="gnutls"
bind="1.2.3.4"
@@ -94,7 +94,7 @@
sendpass="penguins"
recvpass="polarbears">
-# Simple autoconnect block. This enables automatic connection of a server
+# Simple autoconnect block. This enables automatic connections to a server.
# Recommended setup is to have leaves connect to the hub, and have no
# automatic connections started by the hub.
<autoconnect period="10m" server="hub.example.org">
@@ -108,15 +108,15 @@
server="hub.us.example.org hub.eu.example.org leaf.eu.example.org">
-#-#-#-#-#-#-#-#-#-#-#-#- ULINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
-# This tag defines a ulined server. A U-Lined server has special #
-# permissions, and should be used with caution. Services servers are #
-# usually u-lined in this manner. #
-# #
-# The 'silent' value, if set to yes, indicates that this server should#
-# not generate quit and connect notices, which can cut down on noise #
-# to opers on the network. #
-# #
+#-#-#-#-#-#-#-#-#-#-#-#-# U-LINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
+# This tag defines a U-lined server. A U-lined server has special #
+# permissions, and should be used with caution. Services servers are #
+# usually U-lined in this manner. #
+# #
+# The 'silent' value, if set to yes, indicates that this server should #
+# not generate quit and connect notices, which can cut down on noise #
+# to opers on the network. #
+# #
<uline server="services.example.com" silent="yes">
# Once you have edited this file you can remove this line. This is just to
diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example
index 090096668..964b57e71 100644
--- a/docs/conf/modules.conf.example
+++ b/docs/conf/modules.conf.example
@@ -79,7 +79,7 @@
# read from the top of the file to the bottom. #
# #
# usercommand - If this is true, the alias can be run simply as #
-# /aliasname. Defaults to true. #
+# /ALIASNAME. Defaults to true. #
# #
# channelcommand - If this is true, the alias can be used as an #
# in-channel alias or 'fantasy command', prefixed #
@@ -780,11 +780,11 @@
# #
# chanmodes - One or more channel modes that can not be added/removed #
# by users. You can exempt server operators from this #
-# with the servers/use-disabled-commands privilege. #
+# with the servers/use-disabled-modes privilege. #
# #
# usermodes - One or more user modes that can not be added/removed by #
# users. You can exempt server operators from this with #
-# the servers/use-disabled-commands privilege. #
+# the servers/use-disabled-modes privilege. #
# #
# fakenonexistent - Whether to pretend that a disabled command/mode #
# does not exist when executed/changed by a user. #
@@ -803,7 +803,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DNS blacklist module: Provides support for looking up IPs on one or #
# more blacklists. #
-#<module name="dnsbl"> #
+#<module name="dnsbl">
# #
# For configuration options please see the wiki page for dnsbl at #
# https://wiki.inspircd.org/Modules/3.0/dnsbl #
@@ -816,8 +816,8 @@
# nonick, nonotice, regmoderated, stripcolor, and topiclock. #
# See <options:exemptchanops> in inspircd.conf.example for a more #
# detailed list of the restriction modes that can be exempted. #
-# These are settable using /mode #chan +X <restriction>:<status> #
-#<module name="exemptchanops"> #
+# These are settable using: /MODE #chan +X <restriction>:<status> #
+#<module name="exemptchanops">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides message filtering, similar to SPAMFILTER. #
@@ -886,7 +886,7 @@
# <connect deny="*" geoip="TR,RU">
#
# If enabled you can also ban people from channnels by country code
-# using the G: extban (e.g. /mode #channel +b G:US).
+# using the G: extban (e.g. /MODE #channel +b G:US).
# <geoip extban="yes">
#
# The country code must be in capitals and should be an ISO country
@@ -1332,7 +1332,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Named modes module: Allows for the display and set/unset of channel
# modes via long-form mode names via +Z and the /PROP command.
-# For example, to set a ban, do /mode #channel +Z ban=foo!bar@baz or
+# For example, to set a ban, do /MODE #channel +Z ban=foo!bar@baz or
# /PROP #channel ban=foo!bar@baz
#<module name="namedmodes">
@@ -1419,7 +1419,7 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper channels mode: Adds the +O channel mode and extban O:<mask>
# to ban, except, etc. specific oper types. For example
-# /mode #channel +iI O:* is equivalent to channel mode +O, but you
+# /MODE #channel +iI O:* is equivalent to channel mode +O, but you
# may also set +iI O:AdminTypeOnly to only allow admins.
# Modes +I and +e work in a similar fashion.
#<module name="operchans">
@@ -1699,7 +1699,8 @@
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Remove module: Adds the /REMOVE command which is a peaceful
-# alternative to /KICK.
+# alternative to /KICK. It also provides the /FPART command which works
+# in the same way as /REMOVE.
#<module name="remove">
#
# supportnokicks: If true, /REMOVE is not allowed on channels where the
@@ -1709,27 +1710,36 @@
#<remove supportnokicks="true" protectedrank="50000">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# A module to block, kick or ban upon similar messages being uttered several times.
-# Syntax [~*][lines]:[sec]{[:difference]}{[:matchlines]}
-# ~ is to block, * is to ban, default is kick.
-# lines - In mode 1 the amount of lines that has to match consecutively - In mode 2 the size of the backlog to keep for matching
-# seconds - How old the message has to be before it's invalidated.
-# distance - Edit distance, in percent, between two strings to trigger on.
-# matchlines - When set, the function goes into mode 2. In this mode the function will trigger if this many of the last <lines> matches.
+# Repeat module: Allows to block, kick or ban upon similar messages
+# being uttered several times. Provides channel mode +E.
+#
+# Syntax: [~|*]<lines>:<sec>[:<difference>][:<backlog>]
+# ~ is to block, * is to ban, default is kick.
+# lines - In mode 1, the amount of lines that has to match consecutively.
+# In mode 2, the size of the backlog to keep for matching.
+# seconds - How old the message has to be before it's invalidated.
+# difference - Edit distance, in percent, between two strings to trigger on.
+# backlog - When set, the function goes into mode 2. In this mode the
+# function will trigger if this many of the last <lines> matches.
#
# As this module can be rather CPU-intensive, it comes with some options.
-# maxbacklog - Maximum size that can be specified for backlog. 0 disables multiline matching.
-# maxdistance - Max percentage of difference between two lines we'll allow to match. Set to 0 to disable edit-distance matching.
-# maxlines - Max lines of backlog to match against.
-# maxtime - Maximum period of time a user can set. 0 to allow any.
-# size - Maximum number of characters to check for, can be used to truncate messages
-# before they are checked, resulting in less CPU usage. Increasing this beyond 512
-# doesn't have any effect, as the maximum length of a message on IRC cannot exceed that.
-#<repeat maxbacklog="20" maxlines="20" maxdistance="50" maxtime="0" size="512">
+# maxbacklog - Maximum size that can be specified for backlog. 0 disables
+# multiline matching.
+# maxdistance - Max percentage of difference between two lines we'll allow
+# to match. Set to 0 to disable edit-distance matching.
+# maxlines - Max lines of backlog to match against.
+# maxtime - Maximum period of time a user can set. 0 to allow any.
+# size - Maximum number of characters to check for, can be used to
+# truncate messages before they are checked, resulting in
+# less CPU usage. Increasing this beyond 512 doesn't have
+# any effect, as the maximum length of a message on IRC
+# cannot exceed that.
+#<repeat maxbacklog="20" maxdistance="50 maxlines="20" maxtime="0" size="512">
#<module name="repeat">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restricted channels module: Allows only opers or registered users to
+# Restricted channels module: Allows only opers with the
+# channels/restricted-create priv and/or registered users to
# create channels.
#
# You probably *DO NOT* want to load this module on a public network.
@@ -1775,10 +1785,11 @@
# so that at least \s or [[:space:]] is available.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# RMODE module: Adds the /RMODE command
-# Allows channel mods to remove list modes en masse.
-# Syntax: /rmode <channel> <mode> [pattern]
-# E.g. '/rmode #Channel b m:*' will remove all mute-extbans on the channel.
+# RMODE module: Adds the /RMODE command.
+# Allows channel operators to remove list modes en masse, optionally
+# matching a glob-based pattern.
+# Syntax: /RMODE <channel> <mode> [<pattern>]
+# E.g. '/RMODE #channel b m:*' will remove all mute extbans on the channel.
#<module name="rmode">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
@@ -1921,8 +1932,8 @@
# changes their real name. Defaults to to yes if #
# oper-only and no if usable by everyone. #
# #
-#<setname notifyopers="yes" #
-# operonly="no"> #
+#<setname notifyopers="yes"
+# operonly="no">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Serverban: Implements extended ban 's', which stops anyone connected
@@ -1939,7 +1950,7 @@
# they enter a command. #
# This module adds one command for each <showfile> tag that shows the #
# given file to the user as a series of messages or numerics. #
-#<module name="showfile"> #
+#<module name="showfile">
# #
#-#-#-#-#-#-#-#-#-#-# SHOWFILE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
diff --git a/docs/conf/opers.conf.example b/docs/conf/opers.conf.example
index 98bc47c69..c5edb9cb2 100644
--- a/docs/conf/opers.conf.example
+++ b/docs/conf/opers.conf.example
@@ -1,4 +1,4 @@
-#-#-#-#-#-#-#-#-#-#-#-#- CLASS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
+#-#-#-#-#-#-#-#-#-#-#-#-# CLASS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
# #
# Classes are a group of commands which are grouped together and #
# given a unique name. They're used to define which commands #
@@ -19,19 +19,23 @@
# privs: Special privileges that users with this class may utilise.
# VIEWING:
- # - channels/auspex: allows opers with this priv to see more detail about channels than normal users.
+ # - channels/auspex: allows opers with this priv to see more details about channels than normal users.
# - users/auspex: allows opers with this priv to view more details about users than normal users, e.g. real host and IP.
# - users/channel-spy: allows opers with this priv to view the private/secret channels that a user is on.
- # - servers/auspex: allows opers with this priv to see more detail about server information than normal users.
+ # - servers/auspex: allows opers with this priv to see more details about server information than normal users.
# ACTIONS:
- # - users/mass-message: allows opers with this priv to PRIVMSG and NOTICE to a server mask (e.g. NOTICE $*)
- # - users/samode-usermodes: allows opers with this priv to change the user modes of any other user using /SAMODE
+ # - users/mass-message: allows opers with this priv to PRIVMSG and NOTICE to a server mask (e.g. NOTICE $*).
+ # - users/samode-usermodes: allows opers with this priv to change the user modes of any other user using /SAMODE.
# PERMISSIONS:
- #. - channels/ignore-nonicks: allows opers with this priv to change their nick when on a +N channel.
- # - users/flood/no-fakelag: prevents opers from being penalized with fake lag for flooding (*NOTE)
- # - users/flood/no-throttle: allows opers with this priv to send commands without being throttled (*NOTE)
- # - users/flood/increased-buffers: allows opers with this priv to send and receive data without worrying about being disconnected for exceeding limits (*NOTE)
- #. - users/callerid-override: allows opers with this priv to message people using callerid without being on their callerid list.
+ # - channels/ignore-nonicks: allows opers with this priv to change their nick when on a +N channel.
+ # - channels/restricted-create: allows opers with this priv to create channels if the restrictchans module is loaded.
+ # - users/flood/no-fakelag: prevents opers from being penalized with fake lag for flooding (*NOTE).
+ # - users/flood/no-throttle: allows opers with this priv to send commands without being throttled (*NOTE).
+ # - users/flood/increased-buffers: allows opers with this priv to send and receive data without worrying about being disconnected for exceeding limits (*NOTE).
+ # - users/callerid-override: allows opers with this priv to message people using callerid without being on their callerid list.
+ # - users/sajoin-others: allows opers with this priv to /SAJOIN users other than themselves.
+ # - servers/use-disabled-commands: allows opers with this priv to use disabled commands.
+ # - servers/use-disabled-modes: allows opers with this priv to use disabled modes.
#
# *NOTE: These privs are potentially dangerous, as they grant users with them the ability to hammer your server's CPU/RAM as much as they want, essentially.
privs="users/auspex channels/auspex servers/auspex users/mass-message users/flood/no-throttle users/flood/increased-buffers"
@@ -57,13 +61,13 @@
# #
<type
- # name: Name of type. Used in actual server operator accounts below.
+ # name: Name of the type. Used in actual server operator accounts below.
name="NetAdmin"
# classes: Classes (blocks above) that this type belongs to.
classes="SACommands OperChat BanControl HostCloak Shutdown ServerLink"
- # vhost: Host opers of this type get when they log in (oper up). This is optional.
+ # vhost: Host that opers of this type get when they log in (oper up). This is optional.
vhost="netadmin.omega.example.org"
# maxchans: Maximum number of channels opers of this type can be in at once.
@@ -71,7 +75,7 @@
# modes: User modes besides +o that are set on an oper of this type
# when they oper up. Used for snomasks and other things.
- # Requires the opermodes module be loaded.
+ # Requires the opermodes module to be loaded.
modes="+s +cCqQ">
<type name="GlobalOp" classes="SACommands OperChat BanControl HostCloak ServerLink" vhost="ircop.omega.example.org">
@@ -84,9 +88,9 @@
# Remember to only make operators out of trustworthy people. #
# #
-# Operator account with a plain-text password.
+# Operator account with a plaintext password.
<oper
- # name: Oper login that is used to oper up (/oper name password).
+ # name: Oper login that is used to oper up (/OPER <username> <password>).
# Remember: This is case sensitive.
name="Attila"
@@ -101,7 +105,7 @@
# ** ADVANCED ** This option is disabled by default.
# fingerprint: When using the sslinfo module, you may specify
- # a key fingerprint here. This can be obtained by using the /sslinfo
+ # a key fingerprint here. This can be obtained by using the /SSLINFO
# command while the module is loaded, and is also noticed on connect.
# This enhances security by verifying that the person opering up has
# a matching SSL client certificate, which is very difficult to
@@ -115,7 +119,7 @@
# that the private key is well-protected! Requires the sslinfo module.
#autologin="on"
- # sslonly: If on, this oper can only oper up if they're using a SSL connection.
+ # sslonly: If on, this oper can only oper up if they're using an SSL connection.
# Setting this option adds a decent bit of security. Highly recommended
# if the oper is on wifi, or specifically, unsecured wifi. Note that it
# is redundant to specify this option if you specify a fingerprint.
@@ -140,21 +144,21 @@
# Operator with a hashed password. It is highly recommended to use hashed passwords.
<oper
- # name: Oper login that is used to oper up (/oper name password).
+ # name: Oper login that is used to oper up (/OPER <username> <password>).
# Remember: This is case sensitive.
name="Adam"
- # hash: the hash function this password is hashed with. Requires the
+ # hash: The hash function this password is hashed with. Requires the
# module for the selected function (bcrypt, md5, sha1, or sha256) and
# the password hashing module (password_hash) to be loaded.
#
# You may also use any of the above other than bcrypt prefixed with
# either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module).
- # Create hashed passwords with: /mkpasswd <hash> <password>
+ # Create hashed passwords with: /MKPASSWD <hashtype> <plaintext>.
hash="bcrypt"
# password: A hash of the password (see above option) hashed
- # with /mkpasswd <hash> <password>. See the password_hash module
+ # with /MKPASSWD <hashtype> <plaintext>. See the password_hash module
# in modules.conf for more information about password hashing.
password="qQmv3LcF$Qh63wzmtUqWp9OXnLwe7yv1GcBwHpq59k2a0UrY8xe0"
diff --git a/include/iohook.h b/include/iohook.h
index 9ca17d77e..85404b09c 100644
--- a/include/iohook.h
+++ b/include/iohook.h
@@ -49,7 +49,7 @@ class IOHookProvider : public refcountbase, public ServiceProvider
*/
bool IsMiddle() const { return middlehook; }
- /** Called when the provider should hook an incoming connection and act as being on the server side of the connection.
+ /** Called when the provider should hook an incoming connection and act as being on the server-side of the connection.
* This occurs when a bind block has a hook configured and the listener accepts a connection.
* @param sock Socket to hook
* @param client Client IP address and port
diff --git a/src/coremods/core_channel/cmd_invite.cpp b/src/coremods/core_channel/cmd_invite.cpp
index c26318337..732894aa5 100644
--- a/src/coremods/core_channel/cmd_invite.cpp
+++ b/src/coremods/core_channel/cmd_invite.cpp
@@ -29,7 +29,7 @@ CommandInvite::CommandInvite(Module* parent, Invite::APIImpl& invapiimpl)
, invapi(invapiimpl)
{
Penalty = 4;
- syntax = "[<nick> <channel>]";
+ syntax = "[<nick> <channel> [<time>]]";
}
/** Handle /INVITE
diff --git a/src/coremods/core_channel/cmd_join.cpp b/src/coremods/core_channel/cmd_join.cpp
index 2caed9dc6..0e783d2b3 100644
--- a/src/coremods/core_channel/cmd_join.cpp
+++ b/src/coremods/core_channel/cmd_join.cpp
@@ -24,7 +24,7 @@
CommandJoin::CommandJoin(Module* parent)
: SplitCommand(parent, "JOIN", 1, 2)
{
- syntax = "<channel>{,<channel>} {<key>{,<key>}}";
+ syntax = "<channel>[,<channel>]+ [<key>[,<key>]+]";
Penalty = 2;
}
diff --git a/src/coremods/core_channel/cmd_kick.cpp b/src/coremods/core_channel/cmd_kick.cpp
index 755c6613b..77ac36a66 100644
--- a/src/coremods/core_channel/cmd_kick.cpp
+++ b/src/coremods/core_channel/cmd_kick.cpp
@@ -24,7 +24,7 @@
CommandKick::CommandKick(Module* parent)
: Command(parent, "KICK", 2, 3)
{
- syntax = "<channel> <nick>{,<nick>} [<reason>]";
+ syntax = "<channel> <nick>[,<nick>]+ [:<reason>]";
}
/** Handle /KICK
@@ -65,7 +65,7 @@ CmdResult CommandKick::Handle(User* user, const Params& parameters)
if (u->server->IsULine())
{
- user->WriteNumeric(ERR_CHANOPRIVSNEEDED, c->name, "You may not kick a u-lined client");
+ user->WriteNumeric(ERR_CHANOPRIVSNEEDED, c->name, "You may not kick a U-lined client");
return CMD_FAILURE;
}
}
diff --git a/src/coremods/core_channel/cmd_names.cpp b/src/coremods/core_channel/cmd_names.cpp
index 28273c903..a179cf9dc 100644
--- a/src/coremods/core_channel/cmd_names.cpp
+++ b/src/coremods/core_channel/cmd_names.cpp
@@ -27,7 +27,7 @@ CommandNames::CommandNames(Module* parent)
, privatemode(parent, "private")
, invisiblemode(parent, "invisible")
{
- syntax = "{<channel>{,<channel>}}";
+ syntax = "<channel>[,<channel>]+";
}
/** Handle /NAMES
diff --git a/src/coremods/core_channel/cmd_topic.cpp b/src/coremods/core_channel/cmd_topic.cpp
index 0417f1a0c..f0af2a0ad 100644
--- a/src/coremods/core_channel/cmd_topic.cpp
+++ b/src/coremods/core_channel/cmd_topic.cpp
@@ -29,7 +29,7 @@ CommandTopic::CommandTopic(Module* parent)
, secretmode(parent, "secret")
, topiclockmode(parent, "topiclock")
{
- syntax = "<channel> [<topic>]";
+ syntax = "<channel> [:<topic>]";
Penalty = 2;
}
diff --git a/src/coremods/core_ison.cpp b/src/coremods/core_ison.cpp
index 3f6b1ac74..ec097f1c6 100644
--- a/src/coremods/core_ison.cpp
+++ b/src/coremods/core_ison.cpp
@@ -30,7 +30,7 @@ class CommandIson : public SplitCommand
CommandIson(Module* parent)
: SplitCommand(parent, "ISON", 1)
{
- syntax = "<nick> {nick}";
+ syntax = "<nick> [<nick>]+";
}
/** Handle command.
* @param parameters The parameters to the command
diff --git a/src/coremods/core_message.cpp b/src/coremods/core_message.cpp
index 8a7499f1d..65eaa1bb7 100644
--- a/src/coremods/core_message.cpp
+++ b/src/coremods/core_message.cpp
@@ -303,7 +303,7 @@ class CommandMessage : public Command
, moderatedmode(parent, "moderated")
, noextmsgmode(parent, "noextmsg")
{
- syntax = "<target>{,<target>} <message>";
+ syntax = "<target>[,<target>]+ :<message>";
}
/** Handle command.
@@ -357,7 +357,7 @@ class CommandSQuery : public SplitCommand
CommandSQuery(Module* Creator)
: SplitCommand(Creator, "SQUERY", 2, 2)
{
- syntax = "<service> <message>";
+ syntax = "<service> :<message>";
}
CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE
@@ -398,7 +398,7 @@ class CommandSQuery : public SplitCommand
if (!FirePreEvents(user, msgtarget, msgdetails))
return CMD_FAILURE;
- // The SQUERY command targets a service on a u-lined server. This can never
+ // The SQUERY command targets a service on a U-lined server. This can never
// be on the server local to the source so we don't need to do any routing
// logic and can forward it as a PRIVMSG.
diff --git a/src/coremods/core_oper/cmd_die.cpp b/src/coremods/core_oper/cmd_die.cpp
index 724db2f32..73c590711 100644
--- a/src/coremods/core_oper/cmd_die.cpp
+++ b/src/coremods/core_oper/cmd_die.cpp
@@ -27,7 +27,7 @@ CommandDie::CommandDie(Module* parent, std::string& hashref)
, hash(hashref)
{
flags_needed = 'o';
- syntax = "<server>";
+ syntax = "<servername>";
}
void DieRestart::SendError(const std::string& message)
diff --git a/src/coremods/core_oper/cmd_kill.cpp b/src/coremods/core_oper/cmd_kill.cpp
index bdf08f194..01179d61d 100644
--- a/src/coremods/core_oper/cmd_kill.cpp
+++ b/src/coremods/core_oper/cmd_kill.cpp
@@ -27,7 +27,7 @@ CommandKill::CommandKill(Module* parent)
, protoev(parent, name)
{
flags_needed = 'o';
- syntax = "<nickname> <reason>";
+ syntax = "<nick>[,<nick>]+ :<reason>";
TRANSLATE2(TR_CUSTOM, TR_CUSTOM);
}
diff --git a/src/coremods/core_oper/cmd_restart.cpp b/src/coremods/core_oper/cmd_restart.cpp
index afadb911a..a96993e7e 100644
--- a/src/coremods/core_oper/cmd_restart.cpp
+++ b/src/coremods/core_oper/cmd_restart.cpp
@@ -26,7 +26,7 @@ CommandRestart::CommandRestart(Module* parent, std::string& hashref)
, hash(hashref)
{
flags_needed = 'o';
- syntax = "<server>";
+ syntax = "<servername>";
}
CmdResult CommandRestart::Handle(User* user, const Params& parameters)
diff --git a/src/coremods/core_stats.cpp b/src/coremods/core_stats.cpp
index 6576aa514..918d59ab7 100644
--- a/src/coremods/core_stats.cpp
+++ b/src/coremods/core_stats.cpp
@@ -44,7 +44,7 @@ class CommandStats : public Command
, statsevprov(Creator, "event/stats")
{
allow_empty_last_param = false;
- syntax = "<stats-symbol> [<servername>]";
+ syntax = "<symbol> [<servername>]";
}
/** Handle command.
diff --git a/src/coremods/core_stub.cpp b/src/coremods/core_stub.cpp
index e4f18cb22..06e033f15 100644
--- a/src/coremods/core_stub.cpp
+++ b/src/coremods/core_stub.cpp
@@ -40,7 +40,7 @@ class CommandConnect : public Command
: Command(parent, "CONNECT", 1)
{
flags_needed = 'o';
- syntax = "<servername>";
+ syntax = "<servermask>";
}
/** Handle command.
@@ -126,7 +126,7 @@ class CommandSquit : public Command
: Command(parent, "SQUIT", 1, 2)
{
flags_needed = 'o';
- syntax = "<servername>";
+ syntax = "<servermask>";
}
/** Handle command.
diff --git a/src/coremods/core_user/cmd_away.cpp b/src/coremods/core_user/cmd_away.cpp
index 50a586392..834e8711d 100644
--- a/src/coremods/core_user/cmd_away.cpp
+++ b/src/coremods/core_user/cmd_away.cpp
@@ -33,7 +33,7 @@ CommandAway::CommandAway(Module* parent)
, awayevprov(parent)
{
allow_empty_last_param = false;
- syntax = "[<message>]";
+ syntax = "[:<message>]";
}
/** Handle /AWAY
diff --git a/src/coremods/core_user/cmd_mode.cpp b/src/coremods/core_user/cmd_mode.cpp
index ffeb9a2e3..f58a41aa4 100644
--- a/src/coremods/core_user/cmd_mode.cpp
+++ b/src/coremods/core_user/cmd_mode.cpp
@@ -26,7 +26,7 @@ CommandMode::CommandMode(Module* parent)
: Command(parent, "MODE", 1)
, seq(0)
{
- syntax = "<target> <modes> {<mode-parameters>}";
+ syntax = "<target> [[(+|-)]<modes> [<mode-parameters>]]";
memset(&sent, 0, sizeof(sent));
}
diff --git a/src/coremods/core_user/cmd_part.cpp b/src/coremods/core_user/cmd_part.cpp
index 2bc431ab3..9400eed93 100644
--- a/src/coremods/core_user/cmd_part.cpp
+++ b/src/coremods/core_user/cmd_part.cpp
@@ -25,7 +25,7 @@ CommandPart::CommandPart(Module* parent)
: Command(parent, "PART", 1, 2)
{
Penalty = 5;
- syntax = "<channel>{,<channel>} [<reason>]";
+ syntax = "<channel>[,<channel>]+ [:<reason>]";
}
CmdResult CommandPart::Handle(User* user, const Params& parameters)
diff --git a/src/coremods/core_user/cmd_quit.cpp b/src/coremods/core_user/cmd_quit.cpp
index d919a5761..74781a98e 100644
--- a/src/coremods/core_user/cmd_quit.cpp
+++ b/src/coremods/core_user/cmd_quit.cpp
@@ -26,7 +26,7 @@ CommandQuit::CommandQuit(Module* parent)
, operquit("operquit", ExtensionItem::EXT_USER, parent)
{
works_before_reg = true;
- syntax = "[<message>]";
+ syntax = "[:<message>]";
}
CmdResult CommandQuit::Handle(User* user, const Params& parameters)
diff --git a/src/coremods/core_user/cmd_user.cpp b/src/coremods/core_user/cmd_user.cpp
index 1a8b091f3..89b173909 100644
--- a/src/coremods/core_user/cmd_user.cpp
+++ b/src/coremods/core_user/cmd_user.cpp
@@ -33,7 +33,7 @@ CommandUser::CommandUser(Module* parent)
allow_empty_last_param = false;
works_before_reg = true;
Penalty = 0;
- syntax = "<username> <localhost> <remotehost> <realname>";
+ syntax = "<username> <unused> <unused> :<realname>";
}
CmdResult CommandUser::HandleLocal(LocalUser* user, const Params& parameters)
diff --git a/src/coremods/core_userhost.cpp b/src/coremods/core_userhost.cpp
index 542c1831d..e21e7d95b 100644
--- a/src/coremods/core_userhost.cpp
+++ b/src/coremods/core_userhost.cpp
@@ -33,7 +33,7 @@ class CommandUserhost : public Command
: Command(parent,"USERHOST", 1)
, hideopermode(parent, "hideoper")
{
- syntax = "<nick> [<nick> ...]";
+ syntax = "<nick> [<nick>]+";
}
/** Handle command.
* @param parameters The parameters to the command
diff --git a/src/coremods/core_wallops.cpp b/src/coremods/core_wallops.cpp
index 6b055f874..09fafd244 100644
--- a/src/coremods/core_wallops.cpp
+++ b/src/coremods/core_wallops.cpp
@@ -36,7 +36,7 @@ class CommandWallops : public Command
, protoevprov(parent, name)
{
flags_needed = 'o';
- syntax = "<any-text>";
+ syntax = ":<message>";
}
/** Handle command.
diff --git a/src/coremods/core_who.cpp b/src/coremods/core_who.cpp
index b5f9163e1..bf00b741f 100644
--- a/src/coremods/core_who.cpp
+++ b/src/coremods/core_who.cpp
@@ -143,7 +143,7 @@ class CommandWho : public SplitCommand
, whoevprov(parent, "event/who")
{
allow_empty_last_param = false;
- syntax = "<server>|<nickname>|<channel>|<realname>|<host>|0 [[Aafhilmnoprstux][%acdfhilnorstu] <server>|<nickname>|<channel>|<realname>|<host>|0]";
+ syntax = "<server>|<nick>|<channel>|<realname>|<host>|0 [[Aafhilmnoprstux][%acdfhilnorstu] <server>|<nick>|<channel>|<realname>|<host>|0]";
}
/** Sends a WHO reply to a user. */
diff --git a/src/coremods/core_whois.cpp b/src/coremods/core_whois.cpp
index 880e5a533..199c9e2ac 100644
--- a/src/coremods/core_whois.cpp
+++ b/src/coremods/core_whois.cpp
@@ -107,7 +107,7 @@ class CommandWhois : public SplitCommand
, lineevprov(parent, "event/whoisline")
{
Penalty = 2;
- syntax = "<nick>{,<nick>}";
+ syntax = "[<servername>] <nick>[,<nick>]+";
}
/** Handle command.
diff --git a/src/coremods/core_whowas.cpp b/src/coremods/core_whowas.cpp
index 65c83e08b..80c87357c 100644
--- a/src/coremods/core_whowas.cpp
+++ b/src/coremods/core_whowas.cpp
@@ -37,7 +37,7 @@ enum
CommandWhowas::CommandWhowas( Module* parent)
: Command(parent, "WHOWAS", 1)
{
- syntax = "<nick>{,<nick>}";
+ syntax = "<nick>";
Penalty = 2;
}
diff --git a/src/coremods/core_xline/cmd_eline.cpp b/src/coremods/core_xline/cmd_eline.cpp
index 4700e9fd2..99794be3e 100644
--- a/src/coremods/core_xline/cmd_eline.cpp
+++ b/src/coremods/core_xline/cmd_eline.cpp
@@ -26,7 +26,7 @@ CommandEline::CommandEline(Module* parent)
: Command(parent, "ELINE", 1, 3)
{
flags_needed = 'o';
- syntax = "<ident@host> [<duration> :<reason>]";
+ syntax = "<user@host> [<duration> :<reason>]";
}
/** Handle /ELINE
diff --git a/src/coremods/core_xline/cmd_gline.cpp b/src/coremods/core_xline/cmd_gline.cpp
index 413da97b1..ae1ea5d6e 100644
--- a/src/coremods/core_xline/cmd_gline.cpp
+++ b/src/coremods/core_xline/cmd_gline.cpp
@@ -26,7 +26,7 @@ CommandGline::CommandGline(Module* parent)
: Command(parent, "GLINE", 1, 3)
{
flags_needed = 'o';
- syntax = "<ident@host> [<duration> :<reason>]";
+ syntax = "<user@host> [<duration> :<reason>]";
}
/** Handle /GLINE
diff --git a/src/coremods/core_xline/cmd_kline.cpp b/src/coremods/core_xline/cmd_kline.cpp
index 6499b6b00..ad7511d56 100644
--- a/src/coremods/core_xline/cmd_kline.cpp
+++ b/src/coremods/core_xline/cmd_kline.cpp
@@ -26,7 +26,7 @@ CommandKline::CommandKline(Module* parent)
: Command(parent, "KLINE", 1, 3)
{
flags_needed = 'o';
- syntax = "<ident@host> [<duration> :<reason>]";
+ syntax = "<user@host> [<duration> :<reason>]";
}
/** Handle /KLINE
diff --git a/src/coremods/core_xline/cmd_qline.cpp b/src/coremods/core_xline/cmd_qline.cpp
index 0b2ef99bb..51f5bec16 100644
--- a/src/coremods/core_xline/cmd_qline.cpp
+++ b/src/coremods/core_xline/cmd_qline.cpp
@@ -27,7 +27,7 @@ CommandQline::CommandQline(Module* parent)
: Command(parent, "QLINE", 1, 3)
{
flags_needed = 'o';
- syntax = "<nick> [<duration> :<reason>]";
+ syntax = "<nickmask> [<duration> :<reason>]";
}
CmdResult CommandQline::Handle(User* user, const Params& parameters)
diff --git a/src/mode.cpp b/src/mode.cpp
index 50dd05d2d..6f17d3896 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -592,13 +592,13 @@ void ModeParser::AddMode(ModeHandler* mh)
PrefixMode* otherpm = FindPrefix(pm->GetPrefix());
if (otherpm)
- throw ModuleException(InspIRCd::Format("Mode prefix for %s already by used by %s from %s: %c",
+ throw ModuleException(InspIRCd::Format("Mode prefix for %s already used by %s from %s: %c",
mh->name.c_str(), otherpm->name.c_str(), otherpm->creator->ModuleSourceFile.c_str(), pm->GetPrefix()));
}
ModeHandler*& slot = modehandlers[mh->GetModeType()][mh->GetModeChar()-65];
if (slot)
- throw ModuleException(InspIRCd::Format("Mode letter for %s already by used by %s from %s: %c",
+ throw ModuleException(InspIRCd::Format("Mode letter for %s already used by %s from %s: %c",
mh->name.c_str(), slot->name.c_str(), slot->creator->ModuleSourceFile.c_str(), mh->GetModeChar()));
// The mode needs an id if it is either a user mode, a simple mode (flag) or a parameter mode.
diff --git a/src/modules/m_callerid.cpp b/src/modules/m_callerid.cpp
index 3810fcf32..49143034f 100644
--- a/src/modules/m_callerid.cpp
+++ b/src/modules/m_callerid.cpp
@@ -179,7 +179,7 @@ public:
extInfo(Creator)
{
allow_empty_last_param = false;
- syntax = "*|(+|-)<nick>[,(+|-)<nick> ...]";
+ syntax = "*|(+|-)<nick>[,(+|-)<nick>]+";
TRANSLATE1(TR_CUSTOM);
}
@@ -189,7 +189,7 @@ public:
if (parameter.find(',') != std::string::npos)
return;
- // Convert a [+|-]<nick> into a [-]<uuid>
+ // Convert a (+|-)<nick> into a [-]<uuid>
ACCEPTAction action = GetTargetAndAction(parameter);
if (!action.first)
return;
diff --git a/src/modules/m_cban.cpp b/src/modules/m_cban.cpp
index 8d08de9d9..ae49dbc05 100644
--- a/src/modules/m_cban.cpp
+++ b/src/modules/m_cban.cpp
@@ -88,7 +88,7 @@ class CommandCBan : public Command
public:
CommandCBan(Module* Creator) : Command(Creator, "CBAN", 1, 3)
{
- flags_needed = 'o'; this->syntax = "<channel> [<duration> :<reason>]";
+ flags_needed = 'o'; this->syntax = "<channel> [<duration> [:<reason>]]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_cgiirc.cpp b/src/modules/m_cgiirc.cpp
index 4c89ad894..d80719c17 100644
--- a/src/modules/m_cgiirc.cpp
+++ b/src/modules/m_cgiirc.cpp
@@ -132,7 +132,7 @@ class CommandWebIRC : public SplitCommand
{
allow_empty_last_param = false;
works_before_reg = true;
- this->syntax = "<password> <gateway> <hostname> <ip> [flags]";
+ this->syntax = "<password> <gateway> <hostname> <ip> [<flags>]";
}
CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp
index 58e71aadc..6447ef9e3 100644
--- a/src/modules/m_check.cpp
+++ b/src/modules/m_check.cpp
@@ -146,7 +146,7 @@ class CommandCheck : public Command
: Command(parent,"CHECK", 1)
, snomaskmode(parent, "snomask")
{
- flags_needed = 'o'; syntax = "<nickname>|<ip>|<hostmask>|<channel> <server>";
+ flags_needed = 'o'; syntax = "<nick>|<ipmask>|<hostmask>|<channel> [<servername>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_chghost.cpp b/src/modules/m_chghost.cpp
index 6e498a8be..af6e09aaf 100644
--- a/src/modules/m_chghost.cpp
+++ b/src/modules/m_chghost.cpp
@@ -33,7 +33,7 @@ class CommandChghost : public Command
{
allow_empty_last_param = false;
flags_needed = 'o';
- syntax = "<nick> <newhost>";
+ syntax = "<nick> <host>";
TRANSLATE2(TR_NICK, TR_TEXT);
}
diff --git a/src/modules/m_chgident.cpp b/src/modules/m_chgident.cpp
index 9a2d3b2ea..6ddda7ea1 100644
--- a/src/modules/m_chgident.cpp
+++ b/src/modules/m_chgident.cpp
@@ -31,7 +31,7 @@ class CommandChgident : public Command
{
allow_empty_last_param = false;
flags_needed = 'o';
- syntax = "<nick> <newident>";
+ syntax = "<nick> <ident>";
TRANSLATE2(TR_NICK, TR_TEXT);
}
diff --git a/src/modules/m_chgname.cpp b/src/modules/m_chgname.cpp
index aedd75d94..108c988cc 100644
--- a/src/modules/m_chgname.cpp
+++ b/src/modules/m_chgname.cpp
@@ -29,7 +29,7 @@ class CommandChgname : public Command
{
allow_empty_last_param = false;
flags_needed = 'o';
- syntax = "<nick> <new real name>";
+ syntax = "<nick> :<realname>";
TRANSLATE2(TR_NICK, TR_TEXT);
}
diff --git a/src/modules/m_clearchan.cpp b/src/modules/m_clearchan.cpp
index dec49866c..096ce6022 100644
--- a/src/modules/m_clearchan.cpp
+++ b/src/modules/m_clearchan.cpp
@@ -28,7 +28,7 @@ class CommandClearChan : public Command
CommandClearChan(Module* Creator)
: Command(Creator, "CLEARCHAN", 1, 3)
{
- syntax = "<channel> [<KILL|KICK|G|Z>] [<reason>]";
+ syntax = "<channel> [KILL|KICK|G|Z] [:<reason>]";
flags_needed = 'o';
// Stop the linking mod from forwarding ENCAP'd CLEARCHAN commands, see below why
diff --git a/src/modules/m_customtitle.cpp b/src/modules/m_customtitle.cpp
index 2dd378062..da88d1759 100644
--- a/src/modules/m_customtitle.cpp
+++ b/src/modules/m_customtitle.cpp
@@ -74,7 +74,7 @@ class CommandTitle : public Command
CommandTitle(Module* Creator) : Command(Creator,"TITLE", 2),
ctitle("ctitle", ExtensionItem::EXT_USER, Creator)
{
- syntax = "<user> <password>";
+ syntax = "<username> <password>";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_cycle.cpp b/src/modules/m_cycle.cpp
index 3ead72a45..57c8ea3b2 100644
--- a/src/modules/m_cycle.cpp
+++ b/src/modules/m_cycle.cpp
@@ -28,7 +28,7 @@ class CommandCycle : public SplitCommand
CommandCycle(Module* Creator)
: SplitCommand(Creator, "CYCLE", 1)
{
- Penalty = 3; syntax = "<channel> :[reason]";
+ Penalty = 3; syntax = "<channel> [:<reason>]";
}
CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp
index d9e26d28f..f0a88022c 100644
--- a/src/modules/m_dccallow.cpp
+++ b/src/modules/m_dccallow.cpp
@@ -54,7 +54,7 @@ static const char* const helptext[] =
"Brain would then be able to send you files. They would have to",
"resend the file again if the server gave them an error message",
"before you added them to your DCCALLOW list.",
- "DCCALLOW entries will be temporary by default, if you want to add",
+ "DCCALLOW entries will be temporary. If you want to add",
"them to your DCCALLOW list until you leave IRC, type:",
"/DCCALLOW +Brain 0",
"To remove the user from your DCCALLOW list, type:",
@@ -63,7 +63,7 @@ static const char* const helptext[] =
"/DCCALLOW LIST",
"NOTE: If the user leaves IRC or changes their nickname",
" they will be removed from your DCCALLOW list.",
- " your DCCALLOW list will be deleted when you leave IRC."
+ " Your DCCALLOW list will be deleted when you leave IRC."
};
class BannedFileList
@@ -117,7 +117,7 @@ class CommandDccallow : public Command
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
{
- /* syntax: DCCALLOW [+|-]<nick> (<time>) */
+ /* syntax: DCCALLOW [(+|-)<nick> [<time>]]|[LIST|HELP] */
if (!parameters.size())
{
// display current DCCALLOW list
diff --git a/src/modules/m_globalload.cpp b/src/modules/m_globalload.cpp
index c0ce025bd..adc1b59ff 100644
--- a/src/modules/m_globalload.cpp
+++ b/src/modules/m_globalload.cpp
@@ -32,7 +32,7 @@ class CommandGloadmodule : public Command
CommandGloadmodule(Module* Creator) : Command(Creator,"GLOADMODULE", 1)
{
flags_needed = 'o';
- syntax = "<modulename> [servermask]";
+ syntax = "<modulename> [<servermask>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
@@ -71,7 +71,7 @@ class CommandGunloadmodule : public Command
CommandGunloadmodule(Module* Creator) : Command(Creator,"GUNLOADMODULE", 1)
{
flags_needed = 'o';
- syntax = "<modulename> [servermask]";
+ syntax = "<modulename> [<servermask>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
@@ -122,7 +122,7 @@ class CommandGreloadmodule : public Command
public:
CommandGreloadmodule(Module* Creator) : Command(Creator, "GRELOADMODULE", 1)
{
- flags_needed = 'o'; syntax = "<modulename> [servermask]";
+ flags_needed = 'o'; syntax = "<modulename> [<servermask>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_globops.cpp b/src/modules/m_globops.cpp
index b98adce35..0102b3b57 100644
--- a/src/modules/m_globops.cpp
+++ b/src/modules/m_globops.cpp
@@ -30,7 +30,7 @@ class CommandGlobops : public Command
public:
CommandGlobops(Module* Creator) : Command(Creator,"GLOBOPS", 1,1)
{
- flags_needed = 'o'; syntax = "<any-text>";
+ flags_needed = 'o'; syntax = ":<message>";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_knock.cpp b/src/modules/m_knock.cpp
index 1b66e01a4..435f30d59 100644
--- a/src/modules/m_knock.cpp
+++ b/src/modules/m_knock.cpp
@@ -46,7 +46,7 @@ class CommandKnock : public Command
, noknockmode(Noknockmode)
, inviteonlymode(Creator, "inviteonly")
{
- syntax = "<channel> <reason>";
+ syntax = "<channel> :<reason>";
Penalty = 5;
}
diff --git a/src/modules/m_modenotice.cpp b/src/modules/m_modenotice.cpp
index 5311015b7..59e0e8dc1 100644
--- a/src/modules/m_modenotice.cpp
+++ b/src/modules/m_modenotice.cpp
@@ -24,7 +24,7 @@ class CommandModeNotice : public Command
public:
CommandModeNotice(Module* parent) : Command(parent,"MODENOTICE",2,2)
{
- syntax = "<modes> <message>";
+ syntax = "<modeletters> :<message>";
flags_needed = 'o';
}
diff --git a/src/modules/m_monitor.cpp b/src/modules/m_monitor.cpp
index fd72c7320..b82dbcc7d 100644
--- a/src/modules/m_monitor.cpp
+++ b/src/modules/m_monitor.cpp
@@ -316,7 +316,7 @@ class CommandMonitor : public SplitCommand
{
Penalty = 2;
allow_empty_last_param = false;
- syntax = "[C|L|S|+ <nick1>[,<nick2>]|- <nick1>[,<nick2>]";
+ syntax = "C|L|S|(+|-) <nick>[,<nick>]+";
}
CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_namedmodes.cpp b/src/modules/m_namedmodes.cpp
index 8872ba629..3c8452e7b 100644
--- a/src/modules/m_namedmodes.cpp
+++ b/src/modules/m_namedmodes.cpp
@@ -56,7 +56,7 @@ class CommandProp : public SplitCommand
CommandProp(Module* parent)
: SplitCommand(parent, "PROP", 1)
{
- syntax = "<user|channel> {[+-]<mode> [<value>]}*";
+ syntax = "<channel> [[(+|-)]<mode> [<value>]]";
}
CmdResult HandleLocal(LocalUser* src, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_nicklock.cpp b/src/modules/m_nicklock.cpp
index 964ed9780..86cf6245a 100644
--- a/src/modules/m_nicklock.cpp
+++ b/src/modules/m_nicklock.cpp
@@ -40,7 +40,7 @@ class CommandNicklock : public Command
locked(ext)
{
flags_needed = 'o';
- syntax = "<oldnick> <newnick>";
+ syntax = "<nick> <newnick>";
TRANSLATE2(TR_NICK, TR_TEXT);
}
@@ -100,7 +100,7 @@ class CommandNickunlock : public Command
locked(ext)
{
flags_needed = 'o';
- syntax = "<locked-nick>";
+ syntax = "<nick>";
TRANSLATE1(TR_NICK);
}
diff --git a/src/modules/m_password_hash.cpp b/src/modules/m_password_hash.cpp
index 137ddb96c..696c4fe6d 100644
--- a/src/modules/m_password_hash.cpp
+++ b/src/modules/m_password_hash.cpp
@@ -28,7 +28,7 @@ class CommandMkpasswd : public Command
public:
CommandMkpasswd(Module* Creator) : Command(Creator, "MKPASSWD", 2)
{
- syntax = "<hashtype> <any-text>";
+ syntax = "<hashtype> <plaintext>";
Penalty = 5;
}
diff --git a/src/modules/m_remove.cpp b/src/modules/m_remove.cpp
index 8d60ff8c6..357b2ea41 100644
--- a/src/modules/m_remove.cpp
+++ b/src/modules/m_remove.cpp
@@ -165,7 +165,7 @@ class CommandRemove : public RemoveBase
CommandRemove(Module* Creator, bool& snk, ChanModeReference& nkm)
: RemoveBase(Creator, snk, nkm, "REMOVE")
{
- syntax = "<channel> <nick> [<reason>]";
+ syntax = "<channel> <nick> [:<reason>]";
TRANSLATE3(TR_NICK, TR_TEXT, TR_TEXT);
}
@@ -183,7 +183,7 @@ class CommandFpart : public RemoveBase
CommandFpart(Module* Creator, bool& snk, ChanModeReference& nkm)
: RemoveBase(Creator, snk, nkm, "FPART")
{
- syntax = "<channel> <nick> [<reason>]";
+ syntax = "<channel> <nick> [:<reason>]";
TRANSLATE3(TR_TEXT, TR_NICK, TR_TEXT);
}
diff --git a/src/modules/m_repeat.cpp b/src/modules/m_repeat.cpp
index a8dd49e2d..89df1814c 100644
--- a/src/modules/m_repeat.cpp
+++ b/src/modules/m_repeat.cpp
@@ -141,14 +141,14 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
if (!ParseSettings(source, parameter, settings))
{
source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter,
- "Invalid repeat syntax. Syntax is {[~*]}[lines]:[time]{:[difference]}{:[backlog]}."));
+ "Invalid repeat syntax. Syntax is: [~|*]<lines>:<sec>[:<difference>][:<backlog>]"));
return MODEACTION_DENY;
}
if ((settings.Backlog > 0) && (settings.Lines > settings.Backlog))
{
source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter,
- "Invalid repeat syntax. You can't set needed lines higher than backlog."));
+ "Invalid repeat syntax. You can't set lines higher than backlog."));
return MODEACTION_DENY;
}
@@ -319,7 +319,7 @@ class RepeatMode : public ParamMode<RepeatMode, SimpleExtItem<ChannelSettings> >
if (ms.MaxSecs && settings.Seconds > ms.MaxSecs)
{
source->WriteNumeric(Numerics::InvalidModeParameter(channel, this, parameter, InspIRCd::Format(
- "Invalid repeat parameter. The seconds you specified is too great. Maximum allowed is %u.", ms.MaxSecs)));
+ "Invalid repeat parameter. The seconds you specified are too great. Maximum allowed is %u.", ms.MaxSecs)));
return false;
}
diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp
index 1eb2d8ac3..353a184aa 100644
--- a/src/modules/m_rline.cpp
+++ b/src/modules/m_rline.cpp
@@ -137,7 +137,7 @@ class CommandRLine : public Command
public:
CommandRLine(Module* Creator, RLineFactory& rlf) : Command(Creator,"RLINE", 1, 3), factory(rlf)
{
- flags_needed = 'o'; this->syntax = "<regex> [<rline-duration>] :<reason>";
+ flags_needed = 'o'; this->syntax = "<regex> [<duration> :<reason>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_rmode.cpp b/src/modules/m_rmode.cpp
index ce28630b4..7db988b60 100644
--- a/src/modules/m_rmode.cpp
+++ b/src/modules/m_rmode.cpp
@@ -28,7 +28,7 @@ class CommandRMode : public Command
CommandRMode(Module* Creator) : Command(Creator,"RMODE", 2, 3)
{
allow_empty_last_param = false;
- syntax = "<channel> <mode> [pattern]";
+ syntax = "<channel> <mode> [<pattern>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_sajoin.cpp b/src/modules/m_sajoin.cpp
index 9aa8837e0..f506a2e1c 100644
--- a/src/modules/m_sajoin.cpp
+++ b/src/modules/m_sajoin.cpp
@@ -29,7 +29,7 @@ class CommandSajoin : public Command
CommandSajoin(Module* Creator) : Command(Creator,"SAJOIN", 1)
{
allow_empty_last_param = false;
- flags_needed = 'o'; syntax = "[<nick>] <channel>[,<channel>]";
+ flags_needed = 'o'; syntax = "[<nick>] <channel>[,<channel>]+";
TRANSLATE2(TR_NICK, TR_TEXT);
}
@@ -53,7 +53,7 @@ class CommandSajoin : public Command
if (dest->server->IsULine())
{
- user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a u-lined client");
+ user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a U-lined client");
return CMD_FAILURE;
}
if (IS_LOCAL(user) && !ServerInstance->IsChannel(channel))
diff --git a/src/modules/m_sakick.cpp b/src/modules/m_sakick.cpp
index 6a9e11fe7..2970596af 100644
--- a/src/modules/m_sakick.cpp
+++ b/src/modules/m_sakick.cpp
@@ -27,7 +27,7 @@ class CommandSakick : public Command
public:
CommandSakick(Module* Creator) : Command(Creator,"SAKICK", 2, 3)
{
- flags_needed = 'o'; syntax = "<channel> <nick> [reason]";
+ flags_needed = 'o'; syntax = "<channel> <nick> [:<reason>]";
TRANSLATE3(TR_TEXT, TR_NICK, TR_TEXT);
}
@@ -42,7 +42,7 @@ class CommandSakick : public Command
if (dest->server->IsULine())
{
- user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a u-lined client");
+ user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a U-lined client");
return CMD_FAILURE;
}
diff --git a/src/modules/m_samode.cpp b/src/modules/m_samode.cpp
index 634464ac2..322ee91b8 100644
--- a/src/modules/m_samode.cpp
+++ b/src/modules/m_samode.cpp
@@ -33,7 +33,7 @@ class CommandSamode : public Command
CommandSamode(Module* Creator) : Command(Creator,"SAMODE", 2)
{
allow_empty_last_param = false;
- flags_needed = 'o'; syntax = "<target> <modes> {<mode-parameters>}";
+ flags_needed = 'o'; syntax = "<target> (+|-)<modes> [<mode-parameters>]";
active = false;
}
diff --git a/src/modules/m_sanick.cpp b/src/modules/m_sanick.cpp
index 4744ca1de..e814e2c4e 100644
--- a/src/modules/m_sanick.cpp
+++ b/src/modules/m_sanick.cpp
@@ -29,7 +29,7 @@ class CommandSanick : public Command
CommandSanick(Module* Creator) : Command(Creator,"SANICK", 2)
{
allow_empty_last_param = false;
- flags_needed = 'o'; syntax = "<nick> <new-nick>";
+ flags_needed = 'o'; syntax = "<nick> <newnick>";
TRANSLATE2(TR_NICK, TR_TEXT);
}
@@ -42,7 +42,7 @@ class CommandSanick : public Command
{
if (target && target->server->IsULine())
{
- user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a u-lined client");
+ user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a U-lined client");
return CMD_FAILURE;
}
diff --git a/src/modules/m_sapart.cpp b/src/modules/m_sapart.cpp
index 0cd82fa15..4f7bfdb1f 100644
--- a/src/modules/m_sapart.cpp
+++ b/src/modules/m_sapart.cpp
@@ -28,7 +28,7 @@ class CommandSapart : public Command
public:
CommandSapart(Module* Creator) : Command(Creator,"SAPART", 2, 3)
{
- flags_needed = 'o'; syntax = "<nick> <channel>[,<channel>] [reason]";
+ flags_needed = 'o'; syntax = "<nick> <channel>[,<channel>]+ [:<reason>]";
TRANSLATE3(TR_NICK, TR_TEXT, TR_TEXT);
}
@@ -48,7 +48,7 @@ class CommandSapart : public Command
if (dest->server->IsULine())
{
- user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a u-lined client");
+ user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a U-lined client");
return CMD_FAILURE;
}
diff --git a/src/modules/m_saquit.cpp b/src/modules/m_saquit.cpp
index 9034016d2..648528876 100644
--- a/src/modules/m_saquit.cpp
+++ b/src/modules/m_saquit.cpp
@@ -28,7 +28,7 @@ class CommandSaquit : public Command
public:
CommandSaquit(Module* Creator) : Command(Creator, "SAQUIT", 2, 2)
{
- flags_needed = 'o'; syntax = "<nick> <reason>";
+ flags_needed = 'o'; syntax = "<nick> :<reason>";
TRANSLATE2(TR_NICK, TR_TEXT);
}
@@ -39,7 +39,7 @@ class CommandSaquit : public Command
{
if (dest->server->IsULine())
{
- user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a u-lined client");
+ user->WriteNumeric(ERR_NOPRIVILEGES, "Cannot use an SA command on a U-lined client");
return CMD_FAILURE;
}
diff --git a/src/modules/m_satopic.cpp b/src/modules/m_satopic.cpp
index 8c8629221..b3aec8592 100644
--- a/src/modules/m_satopic.cpp
+++ b/src/modules/m_satopic.cpp
@@ -26,7 +26,7 @@ class CommandSATopic : public Command
public:
CommandSATopic(Module* Creator) : Command(Creator,"SATOPIC", 2, 2)
{
- flags_needed = 'o'; syntax = "<target> <topic>";
+ flags_needed = 'o'; syntax = "<channel> :<topic>";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_sethost.cpp b/src/modules/m_sethost.cpp
index 87eed4022..bb8514add 100644
--- a/src/modules/m_sethost.cpp
+++ b/src/modules/m_sethost.cpp
@@ -32,7 +32,7 @@ class CommandSethost : public Command
: Command(Creator,"SETHOST", 1)
{
allow_empty_last_param = false;
- flags_needed = 'o'; syntax = "<new-hostname>";
+ flags_needed = 'o'; syntax = "<host>";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_setident.cpp b/src/modules/m_setident.cpp
index 11ce8f015..79e168332 100644
--- a/src/modules/m_setident.cpp
+++ b/src/modules/m_setident.cpp
@@ -30,7 +30,7 @@ class CommandSetident : public Command
CommandSetident(Module* Creator) : Command(Creator,"SETIDENT", 1)
{
allow_empty_last_param = false;
- flags_needed = 'o'; syntax = "<new-ident>";
+ flags_needed = 'o'; syntax = "<ident>";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_setname.cpp b/src/modules/m_setname.cpp
index 5c27a655e..b0e76f587 100644
--- a/src/modules/m_setname.cpp
+++ b/src/modules/m_setname.cpp
@@ -30,7 +30,7 @@ class CommandSetname : public Command
CommandSetname(Module* Creator) : Command(Creator,"SETNAME", 1, 1)
{
allow_empty_last_param = false;
- syntax = "<new real name>";
+ syntax = ":<realname>";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index cd2743ab0..e54156da6 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -53,7 +53,7 @@ class CommandShun : public Command
public:
CommandShun(Module* Creator) : Command(Creator, "SHUN", 1, 3)
{
- flags_needed = 'o'; this->syntax = "<nick!user@hostmask> [<shun-duration>] :<reason>";
+ flags_needed = 'o'; this->syntax = "<nick!user@host> [<duration> :<reason>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_silence.cpp b/src/modules/m_silence.cpp
index 165e083bb..dc703f9b0 100644
--- a/src/modules/m_silence.cpp
+++ b/src/modules/m_silence.cpp
@@ -24,7 +24,7 @@
#include "inspircd.h"
/* Improved drop-in replacement for the /SILENCE command
- * syntax: /SILENCE [+|-]<mask> <p|c|i|n|t|a|x> as in <privatemessage|channelmessage|invites|privatenotice|channelnotice|all|exclude>
+ * syntax: /SILENCE [(+|-)<mask> [p|c|i|n|t|a|x]] as in [privatemessages|channelmessages|invites|privatenotices|channelnotices|all|exclude]
*
* example that blocks all except private messages
* /SILENCE +*!*@* a
@@ -74,7 +74,7 @@ class CommandSVSSilence : public Command
public:
CommandSVSSilence(Module* Creator) : Command(Creator,"SVSSILENCE", 2)
{
- syntax = "<target> {[+|-]<mask> <p|c|i|n|t|a|x>}";
+ syntax = "<target> (+|-)<mask> [p|c|i|n|t|a|x]";
TRANSLATE3(TR_NICK, TR_TEXT, TR_TEXT);
}
@@ -119,7 +119,7 @@ class CommandSilence : public Command
, ext("silence_list", ExtensionItem::EXT_USER, Creator)
{
allow_empty_last_param = false;
- syntax = "{[+|-]<mask> <p|c|i|n|t|a|x>}";
+ syntax = "[(+|-)<mask> [p|c|i|n|t|a|x]]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_spanningtree/rsquit.cpp b/src/modules/m_spanningtree/rsquit.cpp
index 7ede80b4c..7edb9501a 100644
--- a/src/modules/m_spanningtree/rsquit.cpp
+++ b/src/modules/m_spanningtree/rsquit.cpp
@@ -29,7 +29,7 @@ CommandRSQuit::CommandRSQuit(Module* Creator)
: Command(Creator, "RSQUIT", 1)
{
flags_needed = 'o';
- syntax = "<target-server-mask> [reason]";
+ syntax = "<target-server-mask> [:<reason>]";
}
CmdResult CommandRSQuit::Handle(User* user, const Params& parameters)
diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp
index 73fde6582..daffdf7d9 100644
--- a/src/modules/m_svshold.cpp
+++ b/src/modules/m_svshold.cpp
@@ -96,7 +96,7 @@ class CommandSvshold : public Command
public:
CommandSvshold(Module* Creator) : Command(Creator, "SVSHOLD", 1)
{
- flags_needed = 'o'; this->syntax = "<nickname> [<duration> :<reason>]";
+ flags_needed = 'o'; this->syntax = "<nick> [<duration> :<reason>]";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_userip.cpp b/src/modules/m_userip.cpp
index c64f53684..54b2808b9 100644
--- a/src/modules/m_userip.cpp
+++ b/src/modules/m_userip.cpp
@@ -28,7 +28,7 @@ class CommandUserip : public Command
public:
CommandUserip(Module* Creator) : Command(Creator,"USERIP", 1)
{
- syntax = "<nick> [<nick> ...]";
+ syntax = "<nick> [<nick>]+";
}
CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
diff --git a/src/modules/m_watch.cpp b/src/modules/m_watch.cpp
index 8b84132b2..385ec9e02 100644
--- a/src/modules/m_watch.cpp
+++ b/src/modules/m_watch.cpp
@@ -133,7 +133,7 @@ class CommandWatch : public SplitCommand
, manager(managerref)
{
allow_empty_last_param = false;
- syntax = "[<C|L|S|l|+<nick1>|-<nick>>]";
+ syntax = "C|L|l|S|(+|-)<nick> [(+|-)<nick>]+";
}
CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE