Services Help
Atheme IRC Services Commands
ALIS Channel Directory
ALIS allows searching for channels with more flexibility than the /list
command.
LIST
LIST gives a list of channels matching the pattern, modified by the other options.
Syntax: LIST <pattern> [options]
- Options are:
-min <n>:
minimum users in channel-max <n>:
maximum users in channel-skip <n>:
skip first<n>
matches-show [m][t]:
show modes/topicsetter-mode <+|-|=><modes>:
modes set/unset/equal-topic <pattern>:
topic matches pattern-showsecret:
show secret channels (requires chan:auspex)
The pattern can contain * and ? wildcards. The pattern has to match the full channel name or a full topic, depending on where it is used; the wildcards are important. The pattern is also automatically surrounded by * wildcards if;
- a channel name pattern starts with a wildcard or a #, or
- a topic pattern contains no * wildcards.
For example, for channel names, from most to least specific:
?bar
- any character followed by "bar" with no other characters#bar*
- anything starting with "#bar"##*bar*
- anything starting with ## and containing "bar"*cows*moo*
- anything containing "cows", 0 or more characters, and "moo"*bar*
- anything containing "bar" (equivalent to "bar")
- Examples:
- /msg ALIS LIST searchterm
- /msg ALIS LIST * -topic multiple*ordered*search*terms
- /msg ALIS LIST * -min 50
- /msg ALIS LIST #foo*
- /msg ALIS LIST #foo* -mode =n
- /msg ALIS LIST *freetopic* -mode -t -show mt
- /msg ALIS LIST ##nocolors* -mode +c -show t
BotServ Bot Services
BotServ allows users to request a custom bot for their channel.
ACT
Makes the bot do the equivalent of a "/me
" command on the given channel using the given text.
Syntax: ACT <#channel> <text>
- Examples:
- /msg BotServ ACT #help yawns!
ASSIGN
Assigns a bot pointed out by nick to the channel chan. You can then configure the bot for the channel so it fits your needs.
Syntax: ASSIGN <#channel> <botnick>
- Examples:
- /msg BotServ ASSIGN #lobby HybridIRC
BOT
Allows opers to create, modify, and delete bots that users will be able to use on their own channels.
- BOT ADD adds a bot with the given nickname, username, hostname and realname. Since no integrity checks are done for these settings, be careful.
- BOT CHANGE allows you to change nickname, username, hostname or realname of a bot without actually deleting it (and all the data associated with it).
- BOT DEL removes the given bot from the bot list.
Note: You cannot create a bot that has a nick that is currently registered. If an unregistered user is currently using the nick, they will be killed.
- Syntax:
BOT ADD <botnick> <user> <host> <real>
- Syntax:
BOT CHANGE <oldnick> <newnick> [<user>] [<host>] [<real>]
- Syntax:
BOT DEL <nick>
Examples:
/msg BotServ BOT ADD ChanBot BotServ services.hybridirc.com Bot Servies
/msg BotServ BOT CHANGE ChanBot SecurityBot Bot services.hybridirc.com Security Bot
/msg BotServ BOT DEL SecurityBot
BOTLIST
Lists all available bots on this network.
Syntax: BOTLIST
Example:
/msg BotServ BOTLIST
INFO
INFO allows you to see BotServ information about a channel or a bot.
Syntax: INFO <#channel|botnick>
Examples:
/msg BotServ INFO #help
/msg BotServ INFO HybridIRC
SAY
Makes the bot say the given text on the given channel.
Syntax: SAY <#channel> <text>
Example:
/msg BotServ SAY #lobby Welcome to #lobby!
SET FANTASY
Enables or disables fantasy mode on a channel. When it is enabled, users will be able to use all chanserv commands like !op, !deop, !voice, !devoice, !kick, !kb, !unban, !akick, !info on a channel.
Syntax: SET <#channel> FANTASY {ON|OFF}
Example:
/msg BotServ SET #lobby FANTASY ON
SET NOBOT
This option makes a channel be unassignable. If a bot is already assigned to the channel, it is unassigned automatically when you enable the option.
Syntax: SET <#channel> NOBOT {ON|OFF}
Example:
/msg BotServ SET #lobby NOBOT ON
SET PRIVATE
This option prevents a bot from being assigned to a channel by users that do not have chan:admin privilege.
Syntax: SET <botnick> PRIVATE {ON|OFF}
Example:
/msg BotServ SET HybridIRC PRIVATE ON
SET SAYCALLER
This option when turned on will prefix any BotServ SAY or ACTION command messages with the caller's nickname.
Syntax: SET <#channel> SAYCALLER {ON|OFF}
Examples:
/msg BotServ SET #lobby SAYCALLER ON
/msg BotServ SET #lobby SAYCALLER OFF
UNASSIGN
Unassigns a bot from a channel. When you use this command, the bot won't join the channel anymore. However, bot configuration for the channel is kept, so you will always be able to reassign a bot later without having to reconfigure it entirely.
Syntax: UNASSIGN <#channel>
Example:
/msg BotServ UNASSIGN #lobby
ChanServ Channel Services
ChanServ gives normal users the ability to maintain control of a channel, without the need of a bot. Channel takeovers are virtually impossible when a channel is registered with ChanServ. Registration is a quick and painless process. Once registered, the founder can maintain complete and total control over the channel.
Please note that channels will expire after 365 days of inactivity, or if there are no eligible channel successors.
Activity is defined as a user with one of +FORforsv being on the channel. Successors are primarily those who have the +S (if available) or +R flag set on their account in the channel, although other people may be chosen depending on their access level and activity.
ACCESS ADD ACCESS DEL ACCESS INFO ACCESS LIST ACCESS SET AKICK BADWORDS BAN CLEAR CLONE COUNT CLOSE COUNT DROP FDROP FFLAGS FLAGS FORCEXOP FTRANSFER GETKEY HOLD INFO INVITE KICK KICKBAN LIST MARK OP|DEOP|VOICE|DEVOICE QUIET RECOVER REGISTER ROLE ADD ROLE DEL ROLE LIST ROLE SET SET EMAIL SET ANTIFLOOD SET BLOCKBADWORDS SET BLOCKBADWORDSOPS SET EMAIL SET ENTRYMSG SET FANTASY SET GAMESERV SET GUARD SET KEEPTOPIC SET LIMITFLAGS SET MLOCK SET NOSYNC SET PREFIX SET PRIVATE SET PROPERTY SET RESTRICTED SET SECURE SET TOPICLOCK SET URL SET VERBOSE STATUS SYNC TAXONOMY TEMPLATE TOPIC TOPICAPPEND TOPICPREPEND UNBAN UNBAN UNQUIET WHY xOP
ACCESS ADD
ACCESS ADD will assign the given user to the given channel role.
Syntax: ACCESS <#channel> add <user> <role>
Example:
/msg ChanServ ACCESS #atheme ADD shayne helpers
ACCESS DEL
ACCESS DEL will remove all channel access from a given user.
Syntax: ACCESS <#channel> del <user>
Example:
/msg ChanServ ACCESS #atheme DEL shayne
ACCESS INFO
ACCESS INFO displays what level of access a given user has in a given channel. It will display role, long-form flags and short-form flags along with the last date the user's access was modified.
Syntax: ACCESS <#channel> INFO <user>
Example:
/msg ChanServ ACCESS #atheme INFO shayne
ACCESS LIST
ACCESS LIST lists all users with channel access and their roles in the channel. It uses fuzzy matching so if a user does not exactly match any role, they will be listed as the closest role they match.
Syntax: ACCESS <#channel> LIST
Example:
/msg ChanServ ACCESS #atheme LIST
ACCESS SET
ACCESS SET allows you to set specific flags on a user above or below a certain role or lets you change the role a user is in. Multiple flags should be seperated by a space and have the modifier (+ or -) in front of each flag.
Syntax: ACCESS <#channel> SET <user> <role|flags>
- Flags:
- +voice - Enables use of the voice/devoice commands.
- +autovoice - Enables automatic voice.
- +op - Enables use of the op/deop commands.
- +autoop - Enables automatic op.
- +set - Enables use of the set command.
- +invite - Enables use of the invite and getkey commands.
- +remove - Enables use of the kick, kickban, ban and unban commands.
- +remove - Enables use of the ban and unban commands.
- +remove - Enables use of the unban command.
- +recover - Enables use of the recover and clear commands.
- +acl-change - Enables modification of channel access lists.
- +topic - Enables use of the topic and topicappend commands.
- +acl-view - Enables viewing of channel access lists.
- +successor - Marks the user as a successor.
- +founder - Grants full founder access.
- +banned - Enables automatic kickban.
Examples:
/msg ChanServ ACCESS #atheme SET shayne channel-ops
/msg ChanServ ACCESS #atheme SET shayne -topic
/msg ChanServ ACCESS #lobby set Berat +acl-view +topic +autoop
AKICK
The AKICK command allows you to maintain channel ban lists. Users on the AKICK list will be automatically kickbanned when they join the channel, removing any matching ban exceptions first. Users with the +r flag are exempt.
Syntax: AKICK <#channel> ADD <nickname>|hostmask> [!P|!T <minutes>] [reason]
You may also specify a hostmask (nick!user@host) for the AKICK list.
The reason is used when kicking and is visible in AKICK LIST. If the reason contains a | character, everything after it does not appear in kick reasons but does appear in AKICK LIST.
If the !P token is specified, the AKICK will never expire (permanent). If the !T token is specified, expire time must follow, in minutes, hours h, days d or weeks w.
Syntax: AKICK <#channel> DEL <nickname>|hostmask>
This will remove an entry from the AKICK list. Removing an entry will remove any matching channel bans unless the channel is set NOSYNC.
Syntax: AKICK <#channel> LIST
This will list all entries in the AKICK list, including the reason and time left until expiration.
Examples:
/msg ChanServ AKICK #lobby ADD shayne you are annoying | private op info
/msg ChanServ AKICK #lobby ADD *!*shayne@unitedchat.org !T 5d
/msg ChanServ AKICK #lobby DEL shayne
/msg ChanServ AKICK #lobby DEL shayne
BADWORDS
BADWORDS maintains a list of glob strings that every word in a channel will be checked against (if BLOCKBADWORDS is set).
The ACTION parameter can be: KICK, WARN, BAN and KICKBAN.
Syntax: BADWORDS <#channel> LIST
Syntax: BADWORDS <#channel> ADD <word> <action>
Syntax: BADWORDS <#channel> DEL <word>
Examples:
/msg ChanServ BADWORDS #atheme LIST
/msg ChanServ BADWORDS #sailors ADD f?ck kick
/msg ChanServ BADWORDS #sailors ADD *dam?it* warn
/msg ChanServ BADWORDS #desensitized DEL f?ck
BAN
The BAN command allows you to ban a user or hostmask from a channel.
Syntax: BAN <#channel> <nickname>|hostmask>
Examples:
/msg ChanServ BAN #chat Dimitris
/msg ChanServ BAN #chat *!*@*.ipt.aol.com
CLEAR
CLEAR allows you to clear various aspects of a channel.
The following subcommands are available:
- AKICKS - Clears all channel AKICK entries.
- BANS - Clears bans or other lists of a channel.
- FLAGS - Clears all channel flags.
- USERS - Kicks all users from a channel.
CLEAR AKICKS will remove all AKICK entries, including all access list entries whose only flags are +b, from a channel's access list.
This command can only be used by users with the +R and +f flags.
Syntax: CLEAR <#channel> AKICKS
Example:
/msg ChanServ CLEAR #lobby AKICKS
CLEAR BANS will remove all bans found in a specific channel. If your IRCd supports other lists associated with a channel (e.g. ban exceptions), you can clear these by specifying the mode letters. Specify an asterisk to clear all lists.
Syntax: CLEAR <#channel> BANS [types]
Examples:
/msg ChanServ CLEAR #HybridIRC BANS
Clears #HybridIRC ban list.
/msg ChanServ CLEAR #HybridIRC BANS eI
Removes all ban and invite exceptions on #HybridIRC (if your IRCd supports them).
/msg ChanServ CLEAR #HybridIRC BANS *
Clears all lists of #HybridIRC.
/msg ChanServ CLEAR #HybridIRC BANS +
Shows the possible letters.
CLEAR FLAGS will remove all flags from all users (or groups) with channel access on the channel specified except for users who are channel founders.
This command can only be used by channel founders.
Syntax: CLEAR <#channel> FLAGS
Example:
/msg ChanServ CLEAR #HybridIRC FLAGS
CLEAR USERS will kick all users out of the channel, except you. The channel will be cycled (recreated) if you are not on it.
If a reason is specified, it will be included in the kick message.
Syntax: CLEAR <#channel> USERS [reason]
Example:
/msg ChanServ CLEAR #lobby USERS
CLONE
CLONE copies a channel's chanacs and metadata to a new channel. Both channels must be registered with ChanServ and you must be founder in the target channel for this command to work.
It will not copy the topic as most people will want that different between the 2 channels.
It will also remove all chanacs (except founders) and metadata of the same type from the target channel.
Syntax: CLONE <#source-channel> <#target-channel>
Example:
/msg ChanServ CLONE #funstuff #morefun
CLOSE
CLOSE prevents a channel from being used. Anyone who enters is immediately kickbanned. The channel cannot be dropped and foundership cannot be transferred.
Enabling CLOSE will immediately kick all users from the channel.
Use CLOSE OFF to reopen a channel. While closed, channels will still expire.
Syntax: CLOSE <#channel> ON|OFF [reason]
Examples:
/msg ChanServ CLOSE #lamers ON Spamming
/msg ChanServ CLOSE #lamers OFF
COUNT
This will give a count of how many entries are in each of the channel's xOP lists and how many entries on the access list do not match a xOP value.
The second line shows how many access entries have each flag.
Syntax: COUNT <#channel>
Example:
/msg ChanServ COUNT #linux
DROP
DROP allows you to "unregister" a registered channel.
Once you DROP a channel all of the data associated with it (access lists, etc...) are removed and cannot be restored.
See help on FLAGS for transferring a channel to another user.
Syntax: DROP <#channel>
Example:
/msg ChanServ DROP #chat
FDROP
FDROP allows dropping any registered channel, provided it is not set held (see help on HOLD).
Once you FDROP a channel all of the data associated with it (access lists, etc...) are removed and cannot be restored.
Syntax: FDROP <#channel>
Example:
/msg ChanServ FDROP #rock
FFLAGS
The FFLAGS command allows an oper to force a flags change on a channel. The syntax is the same as FLAGS, except that the target and flags changes must be given. Viewing any channel's access list is done with FLAGS.
Syntax: FFLAGS <#channel> <nickname>|hostmask> <template>
Syntax: FFLAGS <#channel> <nickname>|hostmask> <flag_changes>
Example:
/msg ChanServ FFLAGS #lobby hellgirl AOP
FLAGS
The FLAGS command allows for the granting/removal of channel privileges on a more specific, non-generalized level. It supports nicknames, groups and hostmasks as targets.
When only the channel argument is given, a listing of permissions granted to users will be displayed.
Syntax: FLAGS <#channel>
Otherwise, an access entry is modified. A modification may be specified by a template name (changes the access to the template) or a flags change (starts with + or -). See the TEMPLATE help entry for more information about templates.
If you are not a founder, you may only manipulate flags you have yourself, and may not edit users that have flags you don't have. For this purpose, +v grants +V, +o grants +O and +r grants +b.
If you are not a founder, you may only manipulate flags you have yourself, and may not edit users that have flags you don't have. For this purpose, +v grants +V, +h grants +H, +o grants +O and +r grants +b.
If the LIMITFLAGS option is set for the channel, this is restricted further, see help for SET LIMITFLAGS.
If you do not have +f you may still remove your own access with -*.
Syntax: FLAGS <#channel> [nickname|hostmask|group template]
Syntax: FLAGS <#channel> [nickname|hostmask|group flag_changes]
- Permissions:
- +v - Enables use of the voice/devoice commands.
- +V - Enables automatic voice.
- +o - Enables use of the op/deop commands.
- +O - Enables automatic op.
- +s - Enables use of the set command.
- +i - Enables use of the invite and getkey commands.
- +r - Enables use of the kick, kickban, ban and unban commands.
- +R - Enables use of the recover and clear commands.
- +f - Enables modification of channel access lists.
- +t - Enables use of the topic and topicappend commands.
- +A - Enables viewing of channel access lists.
- +S - Marks the user as a successor.
- +F - Grants full founder access.
- +b - Enables automatic kickban.
- +e - Exempts from +b and enables unbanning self.
The special permission +* adds all permissions except +b and +F. The special permission -* removes all permissions including +b and +F.
Examples:
/msg ChanServ FLAGS #lobby
/msg ChanServ FLAGS #lobby thelounge-bot!*@thelounge.hybridirc.com VOP
/msg ChanServ FLAGS #lobby thelounge-bot!*@thelounge.hybridirc.com -V+oO
/msg ChanServ FLAGS #lobby acea!*@staff.hybridirc.com -*
/msg ChanServ FLAGS #lobby kelalaka +oOtsi
/msg ChanServ FLAGS #lobby AnnaNina!*@*.troubleisp.net +b
/msg ChanServ FLAGS #lobby !SarBear +*
FORCEXOP
FORCEXOP resets all channel access levels to xOP compatible values. That is, after the operation, the founder(s) will have all permissions and autoop and everyone else on with flags will be on one of the xOP lists. This command is useful if the definitions for which flags each xOP level gives change and the founder wishes to use xOP commands only.
Only a founder can execute this command.
Syntax: FORCEXOP <#channel>
Example:
/msg ChanServ FORCEXOP #lounge
FTRANSFER
FTRANSFER forcefully transfers foundership of a channel.
Syntax: FTRANSFER <#channel> <founder>
Example:
/msg ChanServ FTRANSFER #steamdb damien
GETKEY
GETKEY returns the key (+k, password to be allowed in) of the specified channel: /join #channel key
Syntax: GETKEY <#channel>
Example:
/msg ChanServ GETKEY #info
HOLD
HOLD prevents a channel from expiring for inactivity. Held channels will still expire when there are no eligible successors.
Syntax: HOLD <#channel> ON|OFF
Example:
/msg ChanServ HOLD #Help ON
INFO
INFO displays channel information such as registration time, flags, and other details.
Syntax: INFO <#channel>
Example:
/msg ChanServ INFO #lobby
INVITE
INVITE requests services to invite you to the specified channel. This is useful if you use the +i channel mode.
Syntax: INVITE <#channel>
Example:
/msg ChanServ INVITE #lobby
KICK
The KICK command allows for the removal of a user from a channel. The user can immediately rejoin.
Your nick will be added to the kick reason.
Syntax: KICK <#channel> <nick> [reason]
Examples:
/msg ChanServ KICK #lobby lefty
/msg ChanServ KICK #lobby woofer Don't flood this channel.
KICKBAN
The KICKBAN command allows for the removal of a user from a channel while placing a ban on the user.
Any matching ban exceptions will be removed.
Syntax: KICKBAN <#channel> <nick> [reason]
Examples:
/msg ChanServ KICKBAN #lobby woofer
/msg ChanServ KICKBAN #lobby PaGaL You're NOT welcome here.
LIST
LIST shows channels that match a given criteria. Multiple criteria may be used in the same command.
- Current Criteria are:
- PATTERN - All channels that match a given pattern.
- MARK-REASON - All channels whose mark reason matches a given pattern.
- CLOSE-REASON - All channels which are closed whose close reason matches a given pattern.
- HOLD - All channels with the HOLD flag set.
- NOOP - All channels with the NOOP flag set.
- LIMITFLAGS - All channels with the LIMITFLAGS flag set.
- SECURE - All channels with the SECURE flag set.
- VERBOSE - All channels with the VERBOSE flag set.
- RESTRICTED - All channels with the RESTRICTED flag set.
- KEEPTOPIC - All channels with the KEEPTOPIC flag set.
- VERBOSE-OPS - All channels set to only be verbose to ops.
- TOPICLOCK - All channels with the TOPICLOCK flag set.
- GUARD - All channels with the GUARD flag set.
- PRIVATE - All channels with the PRIVATE flag set.
- CLOSED - All channels closed by network staff.
- MARKED - All channels marked by network staff.
- ACLSIZE - Channels with an access list larger than a given size.
- REGISTERED - Channels registered longer ago than a given age.
- LASTUSED - Channels last used longer ago than a given age.
Syntax: LIST <criteria>
Examples:
/msg ChanServ LIST pattern #*chat*
/msg ChanServ LIST hold
/msg ChanServ LIST closed pattern #x*
/msg ChanServ LIST aclsize 10
/msg ChanServ LIST registered 30d
/msg ChanServ LIST aclsize 20 registered 7d pattern #bar*
/msg ChanServ LIST mark-reason lamers?here
MARK
MARK allows operators to attach a note to a channel. For example, an operator could mark the channel of a spammer so that others know it has previously been warned.
MARK information will be displayed in INFO output.
Syntax: MARK <#channel> ON|OFF <reason>
Example:
/msg ChanServ MARK #chat ON Takeover: returned to bill
OP|DEOP|VOICE|DEVOICE
These commands perform status mode changes on a channel.
If you perform an operation on another user, they will be notified that you did it.
If the last parameter is omitted the action is performed on the person requesting the command.
Syntax: OP|DEOP <#channel> [nickname]
Syntax: VOICE|DEVOICE <#channel> [nickname]
Examples:
/msg ChanServ OP #lobby SarBear
/msg ChanServ DEVOICE #lobby Lestat
QUIET
The QUIET command allows you to mute a user or hostmask in a channel. Affected users will be notified that you did it.
Syntax: QUIET <#channel> <nickname|hostmask>
Examples:
/msg ChanServ QUIET #lobby AfterDeath
/msg ChanServ QUIET #lobby *!*@*.ipt.aol.com
RECOVER
RECOVER allows you to regain control of your channel in the event of a takeover.
More precisely, everyone will be deopped, limit and key will be cleared, all bans matching you are removed, a ban exception matching you is added (in case of bans Atheme can't see), the channel is set invite-only and moderated and you are invited.
If you are on channel, you will be opped and no ban exception will be added.
Syntax: RECOVER <#channel>
Example:
/msg ChanServ RECOVER #foo
REGISTER
REGISTER allows you to register a channel so that you have better control. Registration allows you to maintain a channel access list and other functions that are normally provided by IRC bots.
Syntax: REGISTER <#channel>
Example:
/msg ChanServ REGISTER #atheme
ROLE ADD
ROLE ADD will create a channel role with the given flags. Multiple flags should be seperated by a space.
Syntax: ROLE <#channel> ADD <role> [flags]
- Flags:
- +voice - Enables use of the voice/devoice commands.
- +autovoice - Enables automatic voice.
- +op - Enables use of the op/deop commands.
- +autoop - Enables automatic op.
- +set - Enables use of the set command.
- +invite - Enables use of the invite and getkey commands.
- +remove - Enables use of the kick, kickban, ban and unban commands.
- +remove - Enables use of the ban and unban commands.
- +remove - Enables use of the unban command.
- +recover - Enables use of the recover and clear commands.
- +acl-change - Enables modification of channel access lists.
- +topic - Enables use of the topic and topicappend commands.
- +acl-view - Enables viewing of channel access lists.
- +successor - Marks the user as a successor.
- +founder - Grants full founder access.
- +banned - Enables automatic kickban.
Example:
/msg ChanServ ROLE #atheme ADD helpers topic autovoice
ROLE DEL
ROLE DEL will delete a channel-specific role.
Syntax: ROLE <#channel> DEL <role>
Example:
/msg ChanServ ROLE #atheme DEL helpers
ROLE LIST
ROLE LIST lists all channel-specific and network-wide roles and the flags that each role has.
Syntax: ROLE <#channel> LIST
Example:
/msg ChanServ ROLE #HybridIRC LIST
ROLE SET
ROLE SET allows you to modify the flags of a role that already exists. All users in the given role will recieve the effects of the changes. Multiple flags should be seperated by a space and have the modifier (+ or -) before each flag.
Syntax: ROLE <#channel> SET <role> <flags>
Examples:
/msg ChanServ ROLE #atheme SET channel-ops +acl-change +set +recover
/msg ChanServ ROLE #atheme SET helpers +invite
/msg ChanServ ROLE #HybridIRC SET helpers -topic -invite
SET ANTIFLOOD
SET ANTIFLOOD configures ChanServ flood control settings. The action parameter can be QUIET, KICKBAN or AKILL.
Flood control can be turned off using the OFF setting, and turned on using default settings with the ON setting.
Syntax: SET <#channel> ANTIFLOOD <action>
Syntax: SET <#channel> ANTIFLOOD OFF
Examples:
/msg ChanServ SET #channel ANTIFLOOD QUIET
/msg ChanServ SET #silence ANTIFLOOD KICKBAN
/msg ChanServ SET #trolls ANTIFLOOD AKILL
/msg ChanServ SET #coders ANTIFLOOD OFF
/msg ChanServ SET #defocus ANTIFLOOD ON
SET BLOCKBADWORDS
SET BLOCKBADWORDS designates whether a channel's messages are checked against the badword list. All users will be affected by this. Use SET BLOCKBADWORDSOPS if you would like ops to be exempt from badword checking.
Syntax: SET <#channel> BLOCKBADWORDS ON|OFF
Example:
/msg ChanServ SET #lobby BLOCKBADWORDS ON
SET BLOCKBADWORDSOPS
SET BLOCKBADWORDSOPS designates whether or not ops will be exempt from badword checking on a channel where that is enabled as well. Default is OFF.
Syntax: SET <#channel> BLOCKBADWORDSOPS ON|OFF
Example:
/msg ChanServ SET #lobby BLOCKBADWORDSOPS ON
SET EMAIL
SET EMAIL allows you to change or set the email address associated with a channel. This is shown to all users in INFO.
Syntax: SET <#channel> EMAIL [email]
Using the command in this way results in an email address being associated with the channel.
Example:
/msg ChanServ SET #Help EMAIL support@hybridirc.com
SET ENTRYMSG
SET ENTRYMSG allows you to change or set a message sent to all users joining the channel.
Syntax: SET <#channel> ENTRYMSG [message]
Example:
/msg ChanServ SET #HybridIRC ENTRYMSG Welcome to #support. Please do not paste more than 5 lines.
SET FANTASY
SET FANTASY allows you to enable or disable ChanServ fantasy commands (!op, !deop, etc...) on your channel.
GUARD must be enabled as well for fantasy commands to work.
Syntax: SET <#channel> FANTASY ON|OFF
Example:
/msg ChanServ SET #lobby FANTASY ON
SET GAMESERV
SET GAMESERV allows gaming services to be used, sending to the channel, via /msg GameServ <command> <channel> <parameters>
.
- You can decide who may use GameServ:
- ALL - Allow all channel members.
- VOICE - Allow ops/voiced.
- OP - Allow ops.
- OFF - Allow noone.
For OP and VOICE, both channel status and ChanServ flags apply.
Syntax: SET <#channel> GAMESERV ALL|VOICE|OP|OFF
Example:
/msg ChanServ SET #lobby GAMESERV VOICE
SET GUARD
SET GUARD allows you to have ChanServ join your channel.
Syntax: SET <#channel> GUARD ON|OFF
Example:
/msg ChanServ SET #HybridIRC GUARD ON
SET KEEPTOPIC
SET KEEPTOPIC enables restoration of the old topic after the channel has become empty. In some cases, it may revert topic changes after netsplits or services outages, so it is not recommended to turn this on if your channel tends to never empty.
Syntax: SET <#channel> KEEPTOPIC ON|OFF
Example:
/msg ChanServ SET #HybridIRC KEEPTOPIC ON
SET LIMITFLAGS
SET LIMITFLAGS limits the power of the +f flag.
Users with +f that have neither +s nor +R may only set +b (akick), and users that do not have all of +s and +R may not set +s, +R and +f.
Syntax: SET <#channel> LIMITFLAGS ON|OFF
Example:
/msg ChanServ SET #HybridIRC LIMITFLAGS ON
SET MLOCK
MLOCK (or "mode lock") allows you to enforce a set of modes on a channel. This can prevent abuse in cases such as +kl. It can also make it harder to fight evil bots, be careful. Locked modes can be seen by anyone recreating the channel (this includes keys).
Syntax: SET <#channel> MLOCK [modes]
Note: Some may use modes your IRCd does not support.
Examples:
/msg ChanServ SET #lobby MLOCK +nt-lk
/msg ChanServ SET #lobby MLOCK +inst-kl
/msg ChanServ SET #Help MLOCK +ntk c
/msg ChanServ SET #Help MLOCK +ntcjf-kl 2:30 #overflow
/msg ChanServ SET #overflow MLOCK +mntF-kljf
/msg ChanServ SET #chat MLOCK +ntlL 40 #chat2
SET NOSYNC
SET NOSYNC allows channel staff to disable automatic syncing of channel status when it is changed.
Syntax: SET <#channel> NOSYNC ON|OFF
Example:
/msg ChanServ SET #lobby NOSYNC ON
SET PREFIX
PREFIX allows you to customize the channel fantasy trigger for your channel. This is particularly useful if you have channel bots that conflict with ChanServ's default fantasy prefix. Providing no prefix argument (or DEFAULT) resets the channel fantasy prefix to the network default prefix.
Syntax: SET <#channel> PREFIX [prefix]
Examples:
/msg ChanServ SET #lobby PREFIX
/msg ChanServ SET #lobby PREFIX '
/msg ChanServ SET #lobby PREFIX %
/msg ChanServ SET #lobby PREFIX default
SET PRIVATE
SET PRIVATE hides various information about the channel from other users.
Syntax: SET <#channel> PRIVATE ON|OFF
Example:
/msg ChanServ SET #lobby PRIVATE ON
SET PROPERTY
SET PROPERTY manipulates metadata associated with a channel.
To delete a metadata entry, specify the name and leave the value blank.
Syntax: SET <#channel> PROPERTY <name> [value]
Examples:
/msg ChanServ SET #lobby PROPERTY URL https://www.hybridirc.com/
/msg ChanServ SET #meat PROPERTY VEGETABLES
SET RESTRICTED
SET RESTRICTED designates a channel as restricted access. Users who are not on the access list of the channel, or who do not have the chan:joinstaffonly privilege will be kicked and banned from the channel upon join, removing any ban exceptions matching them first. If the channel is set +i, no ban will be set and invite exceptions will be removed.
Syntax: SET <#channel> RESTRICTED ON|OFF
Example:
/msg ChanServ SET #staff RESTRICTED ON
SET SECURE
SET SECURE prevents anyone that's not on the channel's access lists from gaining operator status on the channel. This is useful if you're paranoid.
Syntax: SET <#channel> SECURE ON|OFF
Example:
/msg ChanServ SET #lobby SECURE ON
SET TOPICLOCK
SET TOPICLOCK causes ChanServ to revert topic changes by users without the +t flag. Topic changes during netsplits or services outages will always be reverted.
TOPICLOCK requires KEEPTOPIC and will automatically enable it; disabling KEEPTOPIC will disable TOPICLOCK also.
Syntax: SET <#channel> TOPICLOCK ON|OFF
Example:
/msg ChanServ SET #lobby TOPICLOCK ON
SET URL
SET URL allows you to change or set the URL associated with a channel. This is shown to all users joining the channel.
Syntax: SET <#channel> URL [url]
Example:
/msg ChanServ SET #lobby URL https://webchat.hybridirc.com/
SET VERBOSE
SET VERBOSE ON sends a notice to the channel when someone makes changes to the access lists.
SET VERBOSE OPS sends a notice to the channel operators when someone makes changes to the access lists.
Fantasy commands are always executed as if SET VERBOSE ON is in effect.
Syntax: SET <#channel> VERBOSE ON|OPS|OFF
Example:
/msg ChanServ SET #lobby VERBOSE ON
STATUS
STATUS returns information about your current state. It will show information about your nickname, IRC operator, and SRA status.
If the a channel parameter is specified, your access to the given channel is returned.
Syntax: STATUS [#channel]
Examples:
/msg ChanServ STATUS
/msg ChanServ STATUS #lobby
SYNC
The SYNC command will force all channel statuses to flags, giving and taking away ops, voice and so on where necessary. You must have the channel flag +R to run this command.
Syntax: SYNC <#channel>
Example:
/msg ChanServ SYNC #lobby
TAXONOMY
The taxonomy command lists metadata information associated with registered channels.
Syntax: TAXONOMY <#channel>
Example:
/msg ChanServ TAXONOMY #lobby
TEMPLATE
The TEMPLATE command allows definition of sets of flags, simplifying the use of the FLAGS command.
Without arguments, network wide templates are shown. These include at least SOP/AOP/VOP.
Syntax: TEMPLATE
When given only the channel argument, a listing of templates for the channel will be displayed.
Syntax: TEMPLATE <#channel>
Otherwise, a template is modified. A modification may be specified by a template name (copies the template) or a flags change (starts with + or -, optionally preceded by an !). Templates cannot be the empty set (making a template empty deletes it).
If the ! form is used, all access entries which exactly match the template are changed accordingly. This is not supported if the template includes or included founder access (+F).
There is a limit on the length of all templates on a channel.
If you are not a founder, similar restrictions apply as in FLAGS.
Syntax: TEMPLATE <#channel> [template oldtemplate]
Syntax: TEMPLATE <#channel> [template flag_changes]
Syntax: TEMPLATE <#channel> [template !flag_changes]
Examples:
/msg ChanServ TEMPLATE #lobby
/msg ChanServ TEMPLATE #lobby user VOP
/msg ChanServ TEMPLATE #lobby user !+A
/msg ChanServ TEMPLATE #lobby co-founder +*-OH
/msg ChanServ TEMPLATE #lobby op -*+vVhoti
/msg ChanServ TEMPLATE #lobby co-founder +*-O
/msg ChanServ TEMPLATE #lobby op -*+vVoti
/msg ChanServ TEMPLATE #lobby obsoletetemplate -*
TOPIC
The TOPIC command allows for the changing of a topic on a channel.
Syntax: TOPIC <#channel> <topic>
Example:
/msg ChanServ TOPIC #lobby Welcome to #lobby!
TOPICAPPEND
The TOPICAPPEND command allows for the addition to a topic on a channel.
Syntax: TOPICAPPEND <#channel> <topic>
Example:
/msg ChanServ TOPICAPPEND #lobby Welcome to #lobby!
TOPICPREPEND
The TOPICPREPEND command allows for the addition to a topic on a channel.
Syntax: TOPICPREPEND <#channel> <topic>
Example:
/msg ChanServ TOPICPREPEND #lobby Welcome to #lobby!
UNBAN
The UNBAN command allows you to unban a user or hostmask from a channel. If no nickname or hostmask is specified, you are unbanned.
Syntax: UNBAN <#channel> [nickname|hostmask]
Examples:
/msg ChanServ UNBAN #chat kelalaka
/msg ChanServ UNBAN #chat *!*@*.ucdavis.edu
UNBAN
The UNBAN command allows you to remove all bans matching you from a channel.
Syntax: UNBAN <#channel>
Example:
/msg ChanServ UNBAN #chat
UNQUIET
The UNQUIET command allows you to unmute a user or hostmask in a channel. If no nickname or hostmask is specified, you are unquieted.
Affected users will be notified that you did it.
Syntax: UNQUIET <#channel> [nickname|hostmask]
Examples:
/msg ChanServ UNQUIET #chat Diablo-D3
/msg ChanServ UNQUIET #chat *!*@*.trilug.org
WHY
The WHY command shows the access entries an online user matches.
Syntax: WHY <#channel> [nickname]
Example:
/msg ChanServ WHY #HybridIRC MeGatRoN
xOP
The xOP commands allow you to maintain channel access lists. Channel access lists can contain registered accounts or hostmasks (nick!user@host).
The exact meanings of the access levels may differ per network, use /msg ChanServ TEMPLATE
to check. As a hint, VOP stands for VOice people, AOP stands for AutoOP, SOP stands for SuperOP. a hint, VOP stands for VOice people, AOP stands for AutoOP, SOP stands for SuperOP.
Not all channel access entries can be edited with these commands, see the FLAGS and FORCEXOP help entries for details. Note that use of FORCEXOP can destroy a lot of information. The TEMPLATE system can provide most of the ease of use of these commands without the restrictions.
The privileges required to execute these commands are the same as those required for the corresponding FLAGS commands.
Syntax: VOP|AOP|SOP <#channel> ADD|DEL|LIST <nickname|hostmask>
Examples:
/msg ChanServ VOP #lobby add nhk
/msg ChanServ VOP #lobby ADD acea!*@*.as13285.net
/msg ChanServ AOP #lobby DEL SarBear
/msg ChanServ SOP #lobby LIST
GameServ Game Services
GameServ provides games and tools for playing games to the network.
CALC
CALC lets you do some simple mathematics with services. You can also specify a number of calculations that can be done at once.
Syntax: CALC [times] <expression>
Examples:
/msg GameServ CALC 6*8
/msg GameServ CALC 5 1+2
EIGHTBALL
Asks the magic 8-ball a question.
Affected users will be notified that you did it.
Syntax: EIGHTBALL
Example:
/msg GameServ EIGHTBALL
LOTTERY
LOTTERY randomly chooses a user on the channel where it is run.
Syntax: LOTTERY
Example:
/msg GameServ LOTTERY
!LOTTERY (as a Fantasy command)
NAMEGEN
NAMEGEN provides you with a list of possible names you could use.
It can display the result to either yourself or a channel.
Syntax: NAMEGEN [number of names]
Example:
/msg GameServ NAMEGEN 5
ROLL
Roll lets you roll a series of virtual dice and display the result to either yourself or a channel.
Syntax: ROLL <#dice>d<#sides>
Example:
/msg GameServ ROLL 2d16
RPS
RPS will randomly reply "Rock", "Paper", or "Scissors".
It can display the result to either yourself or a channel.
Syntax: RPS
Example:
/msg GameServ RPS
GroupServ Group Management Services
GroupServ provides tools for managing groups of users and channels.
ACSNOLIMIT DROP FDROP FFLAGS FLAGS INFO INVITE JOIN LIST REGISTER REGNOLIMIT SET CHANNEL SET DESCRIPTION SET EMAIL GROUPNAME SET JOINFLAGS SET OPEN SET PUBLIC SET URL
ACSNOLIMIT
ACSNOLIMIT allows a group to have a unlimited number of group access list entries.
Syntax: ACSNOLIMIT <!group> ON|OFF
Example:
/msg GroupServ ACSNOLIMIT !awesome-people ON
DROP
DROP allows you to "unregister" a registered group.
Once you DROP a group all of the data associated with it (access lists, metadata, etc...) are removed and cannot be restored.
See help on FLAGS for transferring a group to another user.
Syntax: DROP <!group>
Example:
/msg GroupServ DROP !baz
FDROP
FDROP allows you to "unregister" a registered group.
Once you FDROP a group all of the data associated with it (access lists, metadata, etc...) are removed and cannot be restored.
See help on FLAGS for transferring a group to another user.
Syntax: DROP <!group>
Example:
/msg GroupServ DROP !baz
FFLAGS
The FFLAGS command allows an oper to force a flags change on a group. The syntax is the same as FLAGS, except that the target and flags changes must be given. Viewing any group's access list is done with FLAGS.
Syntax: FFLAGS <!group> <nickname> <flag_changes>
Examples:
/msg GroupServ FFLAGS !baz foo +F
/msg GroupServ FFLAGS !baz foo -*
/msg GroupServ FFLAGS !baz foo +fmc
FLAGS
The FLAGS command allows for the granting/removal of group privileges on a more specific, non-generalized level. It supports registered nicknames as targets.
When only the group argument is given, a listing of permissions granted to users will be displayed.
Syntax: FLAGS <!group>
You can modify a users' flags if you yourself have the +f flag. This has much the same syntax as chanserv/flags, using + to add flags to a user and - to remove flags from a user.
Syntax: FLAGS <!group> [nickname flag_changes]
- Permissions:
- +f - Enables modification of group access list.
- +F - Grants full founder access.
- +m - Read memos sent to the group.
- +c - Have channel access in channels where the group has sufficient privileges.
- +v - Take vhosts offered to the group through HostServ.
- +s - Ability to use GroupServ SET commands on the group.
- +b - Ban a user from the group. The user will not be able to join the group with the JOIN command and it will not show up in their NickServ INFO or anywhere else. NOTE that setting this flag will NOT automatically remove the users' privileges (if applicable).
The special permission +* adds all permissions except +F. The special permission -* removes all permissions including +F.
Examples:
/msg GroupServ FLAGS !baz
/msg GroupServ FLAGS !baz foo +F
/msg GroupServ FLAGS !baz foo -*
/msg GroupServ FLAGS !baz foo +fmc
INFO
INFO displays group information such as registration time, group URL, email address and founder.
Syntax: INFO <!group>
Example:
/msg GroupServ INFO !baz
INVITE
INVITE allows you to invite a user to join a "private"/non-open group or a group that is currently full.
Syntax: INVITE <!group> <user>
Example:
/msg GroupServ INVITE !foo jdhore
JOIN
JOIN allows you to join a group set as open for anyone to join. No privileges will be set on you when you join a group this way, you will only be listed as a group member.
Syntax: JOIN <!group>
Example:
/msg GroupServ JOIN !baz
LIST
LIST shows all groups matching a specified pattern.
Syntax: LIST <group pattern>
Examples:
/msg GroupServ LIST *
/msg GroupServ LIST !pants*
REGISTER
REGISTER allows you to register a group so that you can easily manage a number of users and channels.
Syntax: REGISTER <!group>
Example:
/msg GroupServ REGISTER !developers
REGNOLIMIT
REGNOLIMIT allows a group to collectively maintain an unlimited amount of channel registrations.
Syntax: REGNOLIMIT <!group> ON|OFF
Example:
/msg GroupServ REGNOLIMIT !awesome-people ON
SET CHANNEL
SET CHANNEL allows you to change or set the official IRC channel of a group. This is shown when a user requests info about the group.
Syntax: SET <!group> CHANNEL [#channel]
Example:
/msg GroupServ SET !atheme CHANNEL #atheme
SET DESCRIPTION
SET DESCRIPTION allows you to change or set the description of a group. This is shown when a user requests info about the group.
Syntax: SET <!group> DESCRIPTION [description]
Example:
/msg GroupServ SET !atheme DESCRIPTION Official Atheme Group
SET EMAIL
SET EMAIL allows you to change or set the email address associated with a group. This is shown to all users in INFO.
Syntax: SET <!group> EMAIL [email]
Using the command in this way results in an email address being associated with the group.
Example:
/msg GroupServ SET !bar EMAIL some@email.address
SET GROUPNAME
SET GROUPNAME allows you to change or set the name of your group. This is shown when a user requests info about the group.
Syntax: SET <!OldGroupName> GROUPNAME <!NewGroupName>
Example:
/msg GroupServ SET !OldGroup GROUPNAME !NewGroup
SET JOINFLAGS
SET JOINFLAGS allows a group to specify the flags assigned to a user when they JOIN the group (if the group is open).
Note that this must be valid, else + will be set on joining users. If no parameter is provided or the parameter is OFF, the join flags will be returned to network default.
See "/msg GroupServ HELP FLAGS
" for details of the different flags that are valid here.
Syntax: SET <!group> JOINFLAGS [OFF|flags]
Examples:
/msg GroupServ SET !awesome-people JOINFLAGS OFF
/msg GroupServ SET !foo JOINFLAGS +
/msg GroupServ SET !foo JOINFLAGS +v
/msg GroupServ SET !awesome-people JOINFLAGS OFF
/msg GroupServ SET !foo JOINFLAGS +cfv
SET OPEN
SET OPEN allows a group to be open to any user joining whenever they like. Users that JOIN the group will have no privileges by default.
Syntax: SET <!group> OPEN <ON|OFF>
Example:
/msg GroupServ SET !awesome-people OPEN ON
SET PUBLIC
SET PUBLIC shows group membership when users request NickServ INFO of members of the group.
Syntax: SET <!group> PUBLIC <ON|OFF>
Example:
/msg GroupServ SET !awesome-people PUBLIC ON
SET URL
SET URL allows you to change or set the URL associated with a group. This is shown to all users in INFO.
Syntax: SET <!group> URL [url]
Example:
/msg GroupServ SET !slashdot URL https://www.hybridirc.com/
Global Network Announcements
GLOBAL
GLOBAL allows an IRCop to store multiple lines in a buffer and send them at one time to every user on the network.
Syntax: GLOBAL <parameters>|SEND|CLEAR
Examples:
/msg Global GLOBAL this is line 1
/msg Global GLOBAL this is line 2
/msg Global GLOBAL SEND
/msg Global GLOBAL CLEAR
/msg Global GLOBAL LIST
HelpServ Help Services
HelpServ allows users to request help from network staff.
CANCEL
CANCEL allows you to cancel a currently pending request for help.
Syntax: CANCEL
Example:
/msg HelpServ CANCEL
CLOSE
Close the help request from the given nick. The user will be notified that their request was closed.
Syntax: CLOSE <nick>
Example:
/msg HelpServ CLOSE Grue
HELPME
HELPME allows you to easily request help from the network staff. This works more like an alert than a ticketing system.
Syntax: HELPME [topic]
Examples:
/msg HelpServ HELPME
/msg HelpServ HELPME I need help with registering a channel.
LIST
LIST lists all currently open help requests.
Syntax: LIST
Example:
/msg HelpServ LIST
REQUEST
REQUEST help from network staff. This works much like a bugtracker or helpdesk ticketing system. Please be patient while your request is considered by network staff.
Syntax: REQUEST <topic>
Example:
/msg HelpServ REQUEST I need help with a vHost.
SERVICES
SERVICES allows you to view a list of all services running on the network so you can choose one to message and get more help.
Syntax: SERVICES
Example:
/msg HelpServ SERVICES
HostServ Host Management Services
HostServ allows users to request a virtual hostname.
ACTIVATE DROP GROUP LISTVHOST OFF OFFER OFFERLIST ON REJECT REQUEST TAKE UNOFFER VHOST VHOSTNICK WAITING
ACTIVATE
Activate the requested vHost for the given nick. A memo informing the user will also be sent. If an asterisk * is used in place of a nick, all waiting vHosts will be activated.
Syntax: ACTIVATE <nick>
Examples:
/msg HostServ ACTIVATE Sigyn
/msg HostServ ACTIVATE *
DROP
Drops (unsets) the vHost assigned to the nick in use.
When you use this command, any user who performs a /whois
on your nick will see your real IP address.
Syntax: DROP
Example:
/msg HostServ DROP
GROUP
This command will set the current nick's vhost as the vhost for all the nicks in the group, including nicks that will be added in the future.
Syntax: GROUP
Example:
/msg HostServ GROUP
LISTVHOST
LISTVHOST allows operators to see virtual hosts (also known as spoofs or cloaks) matching a given pattern. If no pattern is specified, it lists all existing vhosts.
Syntax: LISTVHOST [<pattern>]
Examples:
/msg HostServ LISTVHOST *lulz.com*
/msg HostServ LISTVHOST
OFF
Deactivates the vhost currently assigned to the nick in use. When you use this command, any user who performs a /whois
on your nick will see your real IP address.
For permanent removal of your vhost, please see network staff.
Syntax: OFF
Example:
/msg HostServ OFF
OFFER
OFFER allows you to offer a list of vhosts to the users of your network that they can accept at will without needing an oper to set the vhost. The string $account in the offered vhost will be replaced by a users' account name when they TAKE it.
If the !group parameter is provided, only users with the +v flag in that group will be able to see it in OFFERLIST and TAKE it.
Syntax: OFFER [!group] <vhost>
Examples:
/msg HostServ OFFER may.explode.on.impact
/msg HostServ OFFER mynetwork.users.$account
/msg HostServ OFFER !atheme-users $account.users.atheme.net
OFFERLIST
OFFERLIST lists all vhosts currently available from the network staff.
Syntax: OFFERLIST
Example:
/msg HostServ OFFERLIST
ON
Activates the vhost currently assigned to the nick in use. When you use this command any user who performs a /whois
on you will see the vhost instead of your real IP address.
Syntax: ON
Example:
/msg HostServ ON
REJECT
Reject the requested vHost for the given nick. A memo informing the user will also be sent. If an asterisk * is used in place of a nick, all waiting vHosts will be rejected.
Syntax: REJECT <nick>
Examples:
/msg HostServ REJECT Sigyn
/msg HostServ REJECT *
REQUEST
REQUEST activation of the vhost. You must be identified to a registered nick to issue this command. Please be patient while your request is considered by network staff.
Syntax: REQUES <vhost>
Example:
/msg HostServ REQUEST may.explode.on.impact
TAKE
TAKE allows you to set a vhost that the network staff has offered and use it on your account. If the string $account is in the vhost, it will be replaced with your account name.
Syntax: TAKE <vhost>
Examples:
/msg HostServ TAKE $account.users.example.net
/msg HostServ TAKE example.net
UNOFFER
Remove a offered vhost from the OFFER list.
Syntax: UNOFFER <vhost>
Example:
/msg HostServ UNOFFER users.example.net
VHOST
VHOST allows operators to set a virtual host (also known as a spoof or cloak) on an account. This vhost will be set on the user immediately and each time they identify to their account. If no vhost is specified, it will clear all existing vhosts on the account.
Syntax: VHOST <nickname> [<vhost>]
Examples:
/msg HostServ VHOST Impulsif ghost.in.the.shell
/msg HostServ VHOST Sigyn
VHOSTNICK
VHOSTNICK allows operators to set a virtual host (also known as a spoof or cloak) on a nick. This vhost will be set on the user immediately and each time they identify when using said nick. If no vhost is specified, revert to the account's vhost.
Syntax: VHOSTNICK <nickname> [<vhost>]
Examples:
/msg HostServ VHOSTNICK Impulsif ghost.in.the.shell
/msg HostServ VHOSTNICK Sigyn
WAITING
WAITING lists all vhosts currently waiting for activation.
Syntax: WAITING
Example:
/msg HostServ WAITING
InfoServ Information Service
InfoServ allows users to view informational messages.
POST
POST allows you to post one-time messages to all users (that will be sent when you run the command) or messages that all users will see upon connect or messages only opers will see when they oper-up.
Underscores _ in the subject will be replaced by spaces.
IMPORTANCE:
Importance defines the type of message that will be sent.
- 0 - Only display to opers upon oper-up.
- 1 - Only display to users upon connect.
- 2 - Send a notice to all users now.
- 3 - Display message to all users upon connect and send a notice to all users now.
- 4 - Send a privmsg/query to all users now. It is important to note that this may annoy users and should only be used when absolutely necessary.
Syntax: POST <importance> <subject> <message>
Examples:
/msg InfoServ POST 1 Special_Announcement We updated the network policies, please read the new version.
/msg InfoServ POST 2 Restart We are restarting several servers, the downtime will be short.
LIST
LIST allows you to view all informational messages in the database. These messages will also be sent to all users on connect.
Syntax: LIST
Example:
/msg InfoServ LIST
OLIST
LIST allows you to view all oper informational messages in the database. These messages will also be sent to all opers upon oper-up. This command will not list user informational messages, use LIST for that.
Syntax: OLIST
Example:
/msg InfoServ OLIST
DEL
DEL is used to delete informational messages that you no longer want users to see on connect. This will not allow you to delete oper InfoServ messages.
Syntax: DEL <id>
Example:
/msg InfoServ DEL 1
ODEL
ODEL is used to delete informational messages that you no longer want opers to see upon oper-up. This will not allow you to delete user InfoServ messages.
Syntax: ODEL <id>
Example:
/msg InfoServ ODEL 1
MemoServ Memo Services
MemoServ allows users to send memos to registered users.
DELETE
DELETE allows you to delete memos from your inbox. You can delete all memos with the ALL parameter, all read memos with the OLD parameter, or specify a memo number.
You can obtain a memo number by using the LIST command. Once you delete a memo, the numbers of all subsequent memos will change.
You can also SEND, READ, LIST and FORWARD memos.
Syntax: DELETE ALL|OLD|<memo number>
Examples:
/msg MemoServ DELETE OLD
/msg MemoServ DELETE 1
FORWARD
FORWARD allows you to forward a memo to another account. Useful for a variety of reasons.
You can also SEND, DELETE, LIST or READ memos.
Syntax: FORWARD <user|nick> <memo number>
Example:
/msg MemoServ FORWARD kog 1
IGNORE
IGNORE allows you to ignore memos from another user. Possible reasons include inbox spamming, annoying users, bots that have figured out how to register etc.
You can add up to 40 users to your ignore list.
Syntax: IGNORE ADD|DEL|LIST|CLEAR <account>
Examples:
/msg MemoServ IGNORE ADD kog
/msg MemoServ IGNORE DEL kog
/msg MemoServ IGNORE LIST
/msg MemoServ IGNORE CLEAR
LIST
LIST shows you your memos in your inbox, including who sent them and when. To read a memo, use the READ command. You can also DELETE or FORWARD a memo.
Syntax: LIST
Example:
/msg MemoServ LIST
READ
READ allows you to read a memo that another user has sent you. You can either read a memo by number or read your new memos.
Syntax: READ <memo number>
Syntax: READ NEW
Example:
/msg MemoServ READ 1
SEND
SEND allows you to send a memo to a nickname that is offline at the moment. When they come online they will be told they have messages waiting for them and will have an opportunity to read your memo.
Your memo cannot be more than 300 characters.
Syntax: SEND <user|nick> text
Example:
/msg MemoServ SEND Kog pay your bills
SENDGROUP
SENDGROUP allows you to send a memo to all members of a group who have the +m flag.
Syntax: SENDGROUP <!group> <text>
Example:
/msg MemoServ SENDGROUP !opers beware of badguy
SENDOPS
SENDOPS allows you to send a memo to all ops on a channel. Only users allowed to view the access list can do this.
Syntax: SENDOPS <#channel> <text>
Example:
/msg MemoServ SENDOPS #chat beware of badguy
NickServ Nickname Services
NickServ allows users to 'register' a nickname, and stop others from using that nick. NickServ allows the owner of a nickname to disconnect a user from the network that is using their nickname.
If a registered nick is not used by the owner for 365 days, NickServ will drop the nickname, allowing it to be reregistered.
ACC ACCESS AJOIN BADMAIL CERT DROP FDROP FREEZE FREGISTER FUNGROUP FVERIFY GENERATEHASH GENERATEPASS GHOST GROUP HOLD IDENTIFY INFO LIST LISTCHANS LISTLOGINS LISTMAIL LISTOWNMAIL LISTVHOST LOGIN LOGOUT MARK REGAIN REGISTER REGNOLIMIT RELEASE RESETPASS RESTRICT RETURN SENDPASS SET ACCOUNTNAME SET EMAIL SET EMAILMEMOS SET ENFORCE SET ENFORCETIME SET HIDEMAIL SET LANGUAGE SET NEVERGROUP SET NEVEROP SET NOGREET SET NOMEMO SET NOOP SET PASSWORD SET PRIVATE SET PRIVMSG SET PROPERTY SET PUBKEY SET QUIETCHG SETPASS STATUS TAXONOMY UNGROUP VACATION VERIFY VHOST
ACC
ACC returns parsable information about a user's login status. Note that on many networks, /whois
shows similar information faster and more reliably. The answer is in the form <nick> ACC <digit>:
- 0 - account or user does not exist.
- 1 - account exists but user is not logged in.
- 2 - user is not logged in but recognized (see ACCESS).
- 3 - user is logged in.
If the account is omitted the user's nick is used. Account * means the account the user is logged in with.
Syntax: ACC
Syntax: ACC <nick>
Syntax: ACC <nick> <account>
Syntax: ACC <nick> *
Example:
/msg NickServ ACC shayne *
ACCESS
ACCESS maintains a list of user@host masks from where NickServ will recognize you, so it will not prompt you to change nick. Preventing expiry, getting channel access or editing nickname settings still requires identification, however.
Access list entries can use hostnames with optional wildcards, IP addresses and CIDR masks. There are restrictions on how much you can wildcard. If you omit the mask, NickServ will attempt to generate one matching your current connection.
Syntax: ACCESS LIST
Syntax: ACCESS ADD [mask]
Syntax: ACCESS DEL <mask>
Operators with user:auspex privilege can also view another user's access list.
Syntax: ACCESS LIST <nick>
Examples:
/msg NickServ ACCESS LIST
/msg NickServ ACCESS ADD jack@host.example.com
/msg NickServ ACCESS ADD user@10.0.0.8
/msg NickServ ACCESS ADD jilles@192.168.1.0/24
/msg NickServ ACCESS DEL *someone@*.area.old.example.net
AJOIN
AJOIN allows you to manage an automatic-join on identify channel list.
Syntax: AJOIN ADD|DEL|LIST|CLEAR [#channel]
Examples:
/msg NickServ AJOIN LIST
/msg NickServ AJOIN ADD #lobby
/msg NickServ AJOIN DEL #lobby
/msg NickServ AJOIN CLEAR
BADMAIL
BADMAIL allows you to maintain a list of email addresses that are not allowed to be used to register accounts.
These email addresses are saved to the Atheme database and are kept between services restarts.
In BADMAIL ADD, you are able to use glob matching to disallow email addresses that match a pattern.
Syntax: BADMAIL ADD <email> [reason]
Examples:
/msg NickServ BADMAIL ADD jdhore1@gmail.com bar reason
/msg NickServ BADMAIL ADD *@aol.com bar reason
/msg NickServ BADMAIL ADD *@*.tk foo reason
/msg NickServ BADMAIL ADD some-spambot-pattern-*@gmail.com
BADMAIL LIST allows you to list the currently banned email addresses.
Syntax: BADMAIL LIST
Example:
/msg NickServ BADMAIL LIST
CERT
CERT maintains a list of CertFP fingerprints that will allow NickServ to recognize you and authenticate you automatically.
You cannot add the same fingerprint to multiple accounts.
CERT is agnostic with regard to the fingerprint format, which depends on the IRCd. If in question, use the CERT ADD command without any arguments, which will add the current fingerprint to the list, or ask network staff.
Syntax: CERT LIST
Syntax: CERT ADD [fingerprint]
Syntax: CERT DEL <fingerprint>
Syntax: CERT CLEAR
Operators with user:auspex privilege can also view another user's fingerprint list.
Syntax: CERT LIST <nick>
Examples:
/msg NickServ CERT LIST
/msg NickServ CERT ADD
/msg NickServ CERT ADD f3a1aad46ca88e180c25c9c7021a4b3a
/msg NickServ CERT DEL f3a1aad46ca88e180c25c9c7021a4b3a
/msg NickServ CERT CLEAR
DROP
Using this command makes NickServ remove your account and stop watching your nick(s), If a nick is dropped, anyone else can register it. You will also lose all your channel access and memos.
When dropping and re-registering an account during a netsplit, users on the other side of the split may later be recognized as the new account.
Syntax: DROP <nickname> <password>
Example:
/msg NickServ DROP David klsm45mnX
FDROP
FDROP forcefully removes the given account, including all nicknames, channel access and memos attached to it.
When dropping and re-registering an account during a netsplit, users on the other side of the split may later be recognized as the new account.
Syntax: FDROP <nickname>
Example:
/msg NickServ FDROP David
FREEZE
FREEZE allows operators to "freeze" an abusive user's account. This logs out all sessions logged in to the account and prevents further logins. Thus, users cannot obtain the access associated with the account.
FREEZE information will be displayed in INFO output.
Syntax: FREEZE <nick> ON|OFF <reason>
Examples:
/msg NickServ FREEZE pfish ON Persistent spammer
/msg NickServ FREEZE alambert OFF
FREGISTER
FREGISTER allows a services operator with the user:fregister priv to register a nickname on behalf of another user.
Syntax: FREGISTER <account> <password> <email> [CRYPTPASS|HIDEMAIL|NOOP|NEVEROP]
Example:
/msg NickServ FREGISTER Mervyn ah3Xn1Xsj3 mervyn@mailaddress.com
FUNGROUP
FUNGROUP forcefully unregisters the given nickname from the account it is registered to.
If you are ungrouping an account name, you need to specify a new name for the account. This must be another nick registered to it. You cannot ungroup account names.
Syntax: FUNGROUP <nickname>
Syntax: FUNGROUP <account> <newname>
Examples:
/msg NickServ FUNGROUP SomeNick
/msg NickServ FUNGROUP SomeName SomeNick
FVERIFY
FVERIFY allows administrators to confirm a change associated with an account registration without having the verification email.
Syntax: FVERIFY <operation> <nickname>
Examples:
/msg NickServ FVERIFY REGISTER jenny
/msg NickServ FVERIFY EMAILCHG Aeriana
GENERATEHASH
GENERATEHASH generates a Atheme password hash. Useful to easily create a password for a services oper password.
Syntax: GENERATEHASH <password>
Example:
/msg NickServ GENERATEHASH ThIsPassw0rd
GENERATEPASS
GENERATEPASS generates a random password. It does not automatically insert it into any fields.
Syntax: GENERATEPASS [length]
Examples:
/msg NickServ GENERATEPASS
/msg NickServ GENERATEPASS 12
GHOST
GHOST disconnects an old user session, or somebody attempting to use your nickname without authorization.
If you are logged in to the nick's account, you need not specify a password, otherwise you have to.
Syntax: GHOST <nick> [password]
Example:
/msg NickServ GHOST shayne msny38z
GROUP
GROUP registers your current nickname to your account. This means that NickServ protects this nickname the same way as it protects your account name. Most services commands will accept the new nickname as an alias for your account name.
Please note that grouped nicks expire separately from accounts. To prevent this, you must use them. Otherwise, all properties of the account are shared among all nicks registered to it.
Syntax: GROUP
Examples:
/msg NickServ IDENTIFY OldNick SecretPassword
/msg NickServ GROUP
HOLD
HOLD prevents an account and all nicknames registered to it from expiring.
Syntax: HOLD <nick> ON|OFF
Example:
/msg NickServ HOLD jilles ON
IDENTIFY
IDENTIFY identifies you with services so that you can perform general maintenance and commands that require you to be logged in.
Syntax: IDENTIFY <password>
You can also identify for another nick than you are currently using.
Syntax: IDENTIFY <nick> <password>
Examples:
/msg NickServ IDENTIFY MyPaSs00
/msg NickServ IDENTIFY jilles MyPaSs00
INFO
INFO displays account information such as registration time, flags, and other details. Additionally it will display registration and last seen time of the nick you give.
You can query the nick a user is logged in as by specifying an equals sign followed by their nick. This = convention works with most commands.
Syntax: INFO <nickname>
Syntax: INFO =<online> <user>
Examples:
/msg NickServ INFO w00t Shows information about the registered nick w00t.
/msg NickServ INFO =w00tie[home] Shows information about the registered nick the user w00tie[home] is logged in as.
LIST
LIST shows registered users that match a given criteria. Multiple criteria may be used in the same command.
- Current Criteria are:
- PATTERN - All users that match a given pattern.
- EMAIL - All accounts registered with an email address that matches a given pattern.
- MARK-REASON - All accounts whose mark reason matches a given pattern.
- FROZEN-REASON - All frozen accounts whose freeze reason matches a given pattern.
- RESTRICTED-REASON - All restricted accounts whose restrict reason matches a given pattern..
- HOLD - All users with the HOLD flag set.
- NOOP - All users with the NOOP flag set.
- NEVEROP - All users with the NEVEROP flag set.
- WAITAUTH - All users with the WAITAUTH flag set.
- HIDEMAIL - All users with the HIDEMAIL flag set.
- NOMEMO - All users with the NOMEMO flag set.
- EMAILMEMOS - All users with the EMAILMEMOS flag set.
- QUIETCHG - All users with the QUIETCHG flag set.
- NOGREET - All users with the NOGREET flag set.
- PRIVATE - All users with the PRIVATE flag set.
- REGNOLIMIT - All users with the REGNOLIMIT flag set.
- FROZEN - All users frozen by network staff.
- MARKED - All users marked by network staff.
- RESTRICTED - All users restricted by network staff.
- VACATION - All users marked as being on vacation.
- REGISTERED - User accounts registered longer ago than a given age.
- LASTLOGIN - User accounts last used longer ago than a given age.
Syntax: LIST <criteria>
Examples:
/msg NickServ LIST pattern foo*
/msg NickServ LIST hold
/msg NickServ LIST frozen pattern x*
/msg NickServ LIST registered 30d
/msg NickServ LIST marked registered 7d pattern bar
/msg NickServ LIST email *@gmail.com
/msg NickServ LIST mark-reason *lamer*
LISTCHANS
LISTCHANS shows the channels that you have access to, including those that you own.
AKICKs and host-based access are not shown.
Syntax: LISTCHANS
Operators with chan:auspex privilege can also check another user's access.
Syntax: LISTCHANS <nick>
Example:
/msg NickServ LISTCHANS
LISTLOGINS
LISTLOGINS lists details of all clients currently authenticated as you including their nick!user@host mask and their real host.
Syntax: LISTLOGINS
Example:
/msg NickServ LISTLOGINS
LISTMAIL
LISTMAIL shows accounts registered to a given e-mail address. Wildcards are allowed.
Syntax: LISTMAIL <email>
Examples:
/msg NickServ LISTMAIL patrick@example.com
/msg NickServ LISTMAIL *@cam.ac.uk
LISTOWNMAIL
LISTOWNMAIL shows accounts registered to your account's e-mail address.
Syntax: LISTOWNMAIL
Example:
/msg NickServ LISTOWNMAIL
LISTVHOST
LISTVHOST shows accounts which have a vhost set on them. If a pattern is given, only accounts with vhosts matching the pattern are shown.
Syntax: LISTVHOST [pattern]
Examples:
/msg NickServ LISTVHOST
/msg NickServ LISTVHOST *staff*
LOGIN
LOGIN identifies you with services so that you can perform general maintenance and commands that require you to be logged in.
Syntax: LOGIN <account> <password>
Example:
/msg NickServ LOGIN smith sesame
LOGOUT
LOGOUT logs you out of the account that you are currently logged into.
Syntax: LOGOUT
Example:
/msg NickServ LOGOUT
MARK
MARK allows operators to attach a note to an account. For example, an operator could mark the account of a spammer so that others know the user has previously been warned.
MARK information will be displayed in INFO output.
Syntax: MARK <nickname> ON|OFF <reason>
Examples:
/msg NickServ MARK game_boy ON Persistent spammer
/msg NickServ MARK nenolod OFF
REGAIN
REGAIN regains access to your nickname from a user that is using your nick.
If you are logged in to the account associated with the nickname, you need not specify a password, otherwise you have to.
Syntax: REGAIN <nick> [password]
Example:
/msg NickServ REGAIN Dave2 goats
REGISTER
This will register your current nickname with NickServ. This will allow you to assert some form of identity on the network and to be added to access lists. Furthermore, NickServ will warn users using your nick without identifying and allow you to kill ghosts. The password is a case-sensitive password that you make up. Please write down or memorize your password! You will need it later to change settings.
You have to confirm the email address. To do this, follow the instructions in the message sent to the email address.
Syntax: REGISTER <password> <email address>
Example:
/msg NickServ REGISTER sunjty32 kitty@hotmail.com
REGNOLIMIT
REGNOLIMIT allows a user to maintain an unlimited amount of channel registrations.
Syntax: REGNOLIMIT <user> ON|OFF
Example:
/msg NickServ REGNOLIMIT kelalaka ON
RELEASE
RELEASE removes an enforcer for your nick or changes the nick of a user that is using your nick.
Enforcers are created when someone uses your nick without identifying and prevent all use of it.
If you are logged in to the nick, you need not specify a password, otherwise you have to.
Syntax: RELEASE <nick> [password]
Example:
/msg NickServ RELEASE Smith 1s8esa3me
RESETPASS
RESETPASS sets a random password for the specified account.
Syntax: RESETPASS <nickname>
Example:
/msg NickServ RESETPASS pfish
RESTRICT
RESTRICT allows operators to restrict what an account can and can not do. It will currently block a user from grouping nicks, registering a channel, requesting a vhost or taking an OFFERed vhost.
This is particularly useful if a user starts abusing these commands.
Syntax: RESTRICT <nickname> ON|OFF <reason>
Examples:
/msg NickServ RESTRICT game_boy ON Abusing vhost requests
/msg NickServ RESTRICT MeGatRoN OFF
RETURN
RETURN resets the specified account password, sends it to the email address specified and changes account's email address to this address. Any current sessions logged in to the account are logged out.
Syntax: RETURN <nickname> <e-mail>
Example:
/msg NickServ RETURN jdoe john@example.com
SENDPASS
SENDPASS emails the password for the specified nickname to the corresponding email address. SENDPASS emails a key to the email address corresponding to the specified nickname that can be used to set a new password using SETPASS.
Syntax: SENDPASS <nickname>
Syntax: SENDPASS <nickname> FORCE
If the nickname is marked, you can override this using the FORCE keyword.
Syntax: SENDPASS <nickname> CLEAR
If a key has been emailed but not yet used, you can clear it using the CLEAR keyword.
Example:
/msg NickServ SENDPASS JenniCricket
SET ACCOUNTNAME
SET ACCOUNTNAME allows you to change your account name to any nick registered to your account. Your account name is used in various places as a name for you.
Syntax: SET ACCOUNTNAME <nick>
Example:
/msg NickServ SET ACCOUNTNAME Kelly
SET EMAIL
SET EMAIL changes the e-mail address associated with an account. The e-mail address is used for password retrieval.
You may be required to confirm the new e-mail address. To confirm the address, follow the instructions in the message sent to the new address.
Syntax: SET EMAIL <new address>
Example:
/msg NickServ SET EMAIL dan@example.com
SET EMAILMEMOS
This will forward memos sent to your account to the email address listed on your registration.
Syntax: SET EMAILMEMOS [ON|OFF]
Example:
/msg NickServ SET EMAILMEMOS ON
SET ENFORCE
SET ENFORCE allows you to enable more protection for all nicknames registered to your account.
This will automatically change the nick of someone who attempts to use it without identifying in time, and temporarily block its use, which can be removed at your discretion. See help on RELEASE.
Syntax: SET ENFORCE ON|OFF
Examples:
/msg NickServ SET ENFORCE ON
/msg NickServ SET ENFORCE OFF
SET ENFORCETIME
SET ENFORCETIME sets how long (in seconds) after someone attempts to use one of your nicks they will automatically have their nick changed.
This can be set to DEFAULT to return to the network default or a number value between 1-180 (seconds).
Syntax: SET ENFORCETIME TIME|DEFAULT
Examples:
/msg NickServ SET ENFORCETIME DEFAULT
/msg NickServ SET ENFORCETIME 90
/msg NickServ SET ENFORCETIME 3
SET HIDEMAIL
SET HIDEMAIL prevents an account's e-mail address from being shown to other users.
Syntax: SET HIDEMAIL ON|OFF
Example:
/msg NickServ SET HIDEMAIL ON
SET LANGUAGE
SET LANGUAGE changes the language services uses to communicate with you.
Syntax: SET LANGUAGE <abbreviation>
Examples:
/msg NickServ SET LANGUAGE en
/msg NickServ SET LANGUAGE ru
SET NEVERGROUP
SET NEVERGROUP prevents others from adding you to group access lists.
Syntax: SET NEVERGROUP ON|OFF
Example:
/msg NickServ SET NEVERGROUP ON
SET NEVEROP
SET NEVEROP prevents others from adding you to channel access lists.
Syntax: SET NEVEROP ON|OFF
Example:
/msg NickServ SET NEVEROP ON
SET NOGREET
This setting allows you to opt-out of channel greeting notices.
Syntax: NOGREET ON|OFF
Example:
/msg NickServ SET NOGREET ON
SET NOMEMO
This prevents people from being able to send you a memo. If you do not want to receive memos, you can just turn them off for your nick.
Syntax: SET NOMEMO ON|OFF
Example:
/msg NickServ SET NOMEMO ON
SET NOOP
SET NOOP prevents services from automatically opping you in channels you have access in. You can choose to op/voice yourself by using the OP and VOICE commands.
Syntax: SET NOOP ON|OFF
Example:
/msg NickServ SET NOOP ON
SET PASSWORD
SET PASSWORD changes the password of an account.
Syntax: SET PASSWORD <new password>
Example:
/msg NickServ SET PASSWORD swordfish
SET PRIVATE
SET PRIVATE hides various information about your account from other users.
SET PRIVATE ON automatically enables HIDEMAIL too.
Syntax: SET PRIVATE ON|OFF
Example:
/msg NickServ SET PRIVATE ON
SET PRIVMSG
SET PRIVMSG causes Services to use private messages when talking to the user authenticated on this account.
Syntax: SET PRIVMSG ON|OFF
Example:
/msg NickServ SET PRIVMSG ON
SET PROPERTY
SET PROPERTY manipulates metadata associated with an account.
To delete a metadata entry, specify the name and leave the value blank.
Syntax: SET PROPERTY <name> [value]
Examples:
/msg NickServ SET PROPERTY URL https://www.hybridirc.com/
/msg NickServ SET PROPERTY SIGN Pisces
/msg NickServ SET PROPERTY ICQ
SET PUBKEY
SET PUBKEY allows you to change your public key used for SASL ECDSA-NIST256p-CHALLENGE authentication. If no pubkey is given, your public key will be removed from the services database.
Syntax: SET PUBKEY [<pubkey>]
SET QUIETCHG
SET QUIETCHG prevents services from automatically notifying you when ChanServ is used to affect your status in channels. When set to ON, Services will no longer send you messages of this nature.
Syntax: SET QUIETCHG ON|OFF
Example:
/msg NickServ SET QUIETCHG ON
SETPASS
SETPASS allows you to set a new password using a key emailed to you. The key is valid for one time only, and also becomes invalid if you identify with your old password.
To set a new password if you know the current password, use SET PASSWORD instead of SETPASS.
Syntax: SETPASS <nickname> <key> <password>
Example:
/msg NickServ SETPASS Ambrossia mykey 283Xs3Sd3Nb
STATUS
STATUS returns information about your current state. It will show information about your nickname, IRC operator, and SRA status.
Syntax: STATUS
Example:
/msg NickServ STATUS
TAXONOMY
The taxonomy command lists metadata information associated with registered users.
Example:
/msg NickServ TAXONOMY Gokturk
UNGROUP
UNGROUP unregisters the given nickname from your account. The nickname will be available for others to register. This will not affect your channel access or memos.
If you do not specify a nickname, your current nickname will be ungrouped. You cannot ungroup your account name.
Syntax: UNGROUP [nickname]
Example:
/msg NickServ UNGROUP SomeNick
VACATION
VACATION extends the expiration time for your account and nicknames (but not your channels) to three times the usual value. You can only do this if your account is registered long enough.
Vacation mode is disabled automatically the next time you identify to NickServ.
Syntax: VACATION
Example:
/msg NickServ VACATION
VERIFY
VERIFY confirms a change associated with your account registration.
Syntax: VERIFY <operation> <nickname> <key>
Examples:
/msg NickServ VERIFY REGISTER jenny 161803399
/msg NickServ VERIFY EMAILCHG Aeriana 271828183
VHOST
VHOST allows operators to set a virtual host (also known as a spoof or cloak) on an account. This vhost will be set on the user immediately and each time they identify.
Syntax: VHOST <nickname> ON <vhost>
Syntax: VHOST <nickname> OFF
If the nickname is marked, you can override this using the FORCE keyword.
Syntax: VHOST <nickname> ON <vhost> FORCE
Syntax: VHOST <nickname> OFF FORCE
Examples:
/msg NickServ VHOST elessar ON may.explode.on.impact
/msg NickServ VHOST elessar OFF
OperServ Operator Services
OperServ provides essential network management services, such as routing manipulation and access restriction.
Limited to services staff.
AKILL CLEARCHAN CLONES COMPARE GREPLOG IDENTIFY IGNORE INFO INJECT JUPE MODE MODINSPECT MODLIST MODLOAD MODUNLOAD NOOP OVERRIDE RAKILL RAW READONLY REHASH RESTART RMATCH RNC RWATCH SGLINE SHUTDOWN SOPER SPECS SQLINE UPDATE UPTIME
AKILL
AKILL allows you to maintain network-wide bans a la DALnet AKILL. Services will keep your AKILLs stored and allow for easy management.
Syntax: AKILL ADD <nick|hostmask> [!P|!T <minutes>] <reason>
If the !P token is specified the AKILL will never expire (permanent). If the !T token is specified expire time must follow, in minutes, hours "h", days "d" or weeks "w".
Examples:
/msg OperServ AKILL ADD Axon !T 5 Spamming.
/msg OperServ AKILL ADD Lestat !T 3d Flooding.
/msg OperServ AKILL ADD java@92866a.cable.virginm.net !P Cloning.
/msg OperServ AKILL ADD ann3@r5nibh.dab.02.net Mass Advertising.
The first example looks for the user with a nickname of "Axon" and adds a "5 minute" AKILL for "Spamming."
The second example is similar but adds the AKILL for "3 days" instead of "5 minutes".
The third example adds a "permanent" AKILL on "java@92836a.cable.virginm.net" for "Cloning."
Syntax: AKILL DEL <hostmask|number>
If number is specified it correlates with the number on AKILL LIST. You may specify multiple numbers by separating with commas. You may specify a range by using a colon.
Examples:
/msg OperServ AKILL DEL user@hostname.com
/msg OperServ AKILL DEL 5
/msg OperServ AKILL DEL 1,2,5,10
/msg OperServ AKILL DEL 1:5,7,9:11
Syntax: AKILL LIST [FULL]
If FULL is specified the AKILL reasons will be shown.
Examples:
/msg OperServ AKILL LIST
/msg OperServ AKILL LIST FULL
Syntax: AKILL LIST <hostmask>
Shows any AKILLs matching the given hostmask, with reasons. This command will not perform DNS lookups on a host, for best results repeat it with host and IP address.
Example:
/msg OperServ AKILL LIST test@192.168.1.1
Syntax: AKILL LIST <number>
Shows the given AKILL, with reason.
Syntax: AKILL SYNC
Sends all akills to all servers. This can be useful in case services will be down or do not see a user as matching a certain akill.
CLEARCHAN
CLEARCHAN allows operators to clear a channel in one of three ways: KICK, which kicks all users from the channel. KILL, which kills all users in the channel off the network, or AKILL, which sets a one week network ban against the hosts of all users in the channel.
This command should not be used lightly.
Syntax: CLEARCHAN KICK|KILL|AKILL <#channel> <reason>
Examples:
/msg OperServ CLEARCHAN KICK #warez warez is bad, mk?
/msg OperServ CLEARCHAN AKILL #warez you were warned!
CLONES
CLONES keeps track of the number of clients per IP address. Warnings are displayed in the snoop channel about IP addresses with multiple clients.
CLONES only works on clients whose IP address Atheme knows. If the IRCd does not support propagating IP addresses at all, CLONES is not useful; if IP addresses are not sent for spoofed clients, those clients are exempt from CLONES checking.
Syntax: CLONES KLINE ON|OFF
Enables/disables banning IP addresses with more than the allowed number clients from the network for one hour (these bans are not added to the AKILL list). This setting is saved in etc/services.db and defaults to off.
Syntax: CLONES LIST
Shows all IP addresses with more than 3 clients with the number of clients and whether the IP address is exempt.
Syntax: CLONES ADDEXEMPT <ip> <clones> [!P|!T <minutes>] <reason>
Adds an IP address to the clone exemption list. The IP address must match exactly with the form used by the IRCd (mind '::' shortening with IPv6). The IP address can also be a CIDR mask, for example 192.168.1.0/24. Single IPs take priority above CIDR. <clones> is the number of clones allowed; it must be at least 4. Warnings are sent if this number is met, and a network ban may be set if the number is exceeded. The reason is shown in LISTEXEMPT. The clone exemption list is stored in etc/services.db.
Syntax: CLONES DELEXEMPT <ip>
Removes an IP address from the clone exemption list.
Syntax: CLONES SETEXEMPT [DEFAULT | <ip>] <ALLOWED | WARN | KILL> <limit>
Sets either the default or a given exemption's ALLOWED, WARN, or KILL limit to the specified number of clones. WARN or KILL can be 0, disabling any warning messages or kills.
Syntax: CLONES SETEXEMPT <ip> <REASON | DURATION> <value>
Sets the reason or duration of a given exemption to the specified value. The DURATION value can be 0, making the exemption permanent.
Syntax: CLONES LISTEXEMPT
Shows the clone exemption list with reasons.
Examples:
/msg OperServ CLONES ADDEXEMPT 127.0.0.1 100 local
/msg OperServ CLONES DELEXEMPT 192.168.1.2
/msg OperServ CLONES SETEXEMPT 2a02:c206:2209:2434::20 warn 99
Syntax: CLONES DURATION
Allows modifying the duration that hosts who clone are banned for. Defaults to one hour. Is saved between restarts.
Example:
/msg OperServ CLONES DURATION 30m
COMPARE
COMPARE allows operators with chan:auspex privilege to view matching information on two users, or two channels.
It is useful in clone detection, amongst other situations.
Syntax: COMPARE <#channel|user> <#channel|user>
Examples:
/msg OperServ COMPARE #warez #dcc
/msg OperServ COMPARE w00t Brik
GREPLOG
GREPLOG searches through services logs and displays matching lines.
The first parameter is either a service name (to search all commands given to that service) or an asterisk (to search all changes to services data).
The second parameter is the pattern to search for. It may contain * and ? wildcards and should usually start and end in *.
The optional third parameter is the number of previous days to search in addition to today.
Note that this command will only work if sufficient information is written to log files.
Syntax: GREPLOG <service> <pattern> [days]
Syntax: GREPLOG * <pattern> [days]
Examples:
/msg OperServ GREPLOG ChanServ *#somechan* 7
/msg OperServ GREPLOG * *#somechan* 60
IDENTIFY
IDENTIFY authenticates for services operator privileges, if the operator or operator class has been defined as needing an additional password.
You need to log in to your services account first.
Syntax: IDENTIFY <password>
Example:
/msg OperServ IDENTIFY h2zX4f5fl4u3r0
IGNORE
Services has an ignore list which functions similarly to the way a user can ignore another user. If a user matches a mask in the ignore list and attempts to use services, they will not get a reply.
- ADD - Add a mask to the ignore list.
- DEL - Delete a mask from the ignore list.
- LIST - List all the entries in the ignore list.
- CLEAR - Clear all the entries in the ignore list.
Examples:
/msg OperServ IGNORE ADD pfish!*@* flooding services
/msg OperServ IGNORE DEL pfish!*@*
/msg OperServ IGNORE LIST
/msg OperServ IGNORE CLEAR
INFO
INFO shows some services configuration information that is not available to see elsewhere.
Syntax: INFO
Example:
/msg OperServ INFO
INJECT
INJECT fakes data from the uplink. This command is for debugging only and should not be used unless you know what you're doing.
Syntax: INJECT <parameters>
Examples:
/msg OperServ INJECT :uplink.network.com PING :shrike.network.com
/msg OperServ INJECT :foo PRIVMSG OperServ :HELP INJECT
JUPE
JUPE introduces a fake server with the given name, so that the real server cannot connect. Jupes only last as long as services is connected to the uplink and can also (on most ircds) be removed with a simple /squit
command.
Syntax: JUPE <server> <reason>
Example:
/msg OperServ JUPE alpha.hybridirc.com very unstable server
MODE
MODE allows for the editing of modes on a channel. Some networks will most likely find this command to be unethical.
Syntax: MODE <#channel> <mode> [parameters]
Examples:
/msg OperServ MODE #india -m
/msg OperServ MODE #india +o Romeo
MODINSPECT
MODINSPECT displays detailed information about a module.
The names can be gathered from the MODLIST command. They are not necessarily equal to the pathnames to load them with MODLOAD.
Syntax: MODINSPECT <name>
Example:
/msg OperServ MODINSPECT protocol/inspircd
MODLIST
MODLIST displays a listing of all loaded modules and their addresses.
Syntax: MODLIST
Example:
/msg OperServ MODLIST
MODLOAD
MODLOAD loads one or more modules.
If the path does not start with a slash, it is taken relative to PREFIX/modules or PREFIX/lib/atheme/modules (depending on how Atheme was compiled). Specifying a suffix like .so is optional.
If any of the modules need a rehash after being loaded, this is done automatically.
Syntax: MODLOAD <path...>
Example:
/msg OperServ MODLOAD ../contrib/fc_dice Help for ^BMODRELOAD^B:
MODRELOAD reloads a currently loaded module. If the command fails, the module in question will be unloaded until errors are corrected.
Syntax: MODRELOAD <name...>
Example:
/msg OperServ MODRELOAD chanserv/register
MODUNLOAD
MODUNLOAD unloads one or more modules. Not all modules can be unloaded.
The names can be gathered from the MODLIST command. They are not necessarily equal to the pathnames to load them with MODLOAD.
Syntax: MODUNLOAD <name...>
Example:
/msg OperServ MODUNLOAD chanserv/register
NOOP
NOOP allows you to deny IRCop access on a per-hostmask or per-server basis. If a matching user opers up, they will be killed.
Syntax: NOOP ADD HOSTMASK <nick!user@host> [reason]
Syntax: NOOP ADD SERVER <mask> [reason]
Examples:
/msg OperServ NOOP ADD HOSTMASK *!*@some.spoof Abusive operator
/msg OperServ NOOP ADD SERVER bad.server Abusive admin
Syntax: NOOP DEL HOSTMASK <nick!user@host>
Syntax: NOOP DEL SERVER <mask>
Examples:
/msg OperServ NOOP DEL HOSTMASK *!some@operator.host
/msg OperServ NOOP DEL SERVER bad.server
Syntax: NOOP LIST HOSTMASK
Syntax: NOOP LIST SERVER
OVERRIDE
OVERRIDE is used for running a command as another user.
Syntax: OVERRIDE <target> <service> <command> [params]
Example:
/msg OperServ OVERRIDE dotslasher ChanServ FLAGS #cows nenolod +*
RAKILL
RAKILL allows for regex-based akills, which are useful for removing clones or botnets. The akills are not added to OperServ's list and last a week.
Be careful, as regex is very easy to make mistakes with. Use RMATCH first. The regex syntax is exactly the same.
Syntax: RAKILL /<pattern>/[i][p] <reason>
Example:
/msg OperServ RAKILL /^m[oo|00]cow/i No moocows allowed.
RAW
RAW injects data into the uplink. This command is for debugging only and should not be used unless you know what you're doing.
Syntax: RAW <parameters>
Example:
/msg OperServ RAW :OperServ OPERWALL :My admin is a loser
READONLY
READONLY allows services operators to enable or disable readonly mode while services is running.
Syntax: READONLY ON|OFF
Example:
/msg OperServ READONLY ON
REHASH
REHASH updates the database and reloads the configuration file. You can perform a rehash from system console with a kill -HUP command.
Syntax: REHASH
Example:
/msg OperServ REHASH
RESTART
RESTART shuts down services and restarts them.
Syntax: RESTART
Example:
/msg OperServ RESTART
RMATCH
RMATCH shows all users whose nick!user@host gecos matches the given regular expression.
Instead of a slash, any character that is not a letter, digit, whitespace or backslash and does not occur in the pattern can be used. An i after the pattern means case insensitive matching.
By default, the pattern is a POSIX extended regular expression. If PCRE support has been compiled in, you can put a p after the pattern to use it.
By default, there is a limit on the number of matches. To override this limit, add the FORCE keyword. In any case the actual number of matches will be shown.
Syntax: RMATCH /<pattern>/[i][p] [FORCE]
Examples:
/msg OperServ RMATCH /^m(oo|00)cow/i FORCE
/msg OperServ RMATCH #^[a-z]+!~?[a-z]+@#
/msg OperServ RMATCH /^[^ ]* [^ ]*$/
/msg OperServ RMATCH /\d\d\d/p
RNC
RNC shows the most common realnames on the network.
Syntax: RNC [number]
Example:
/msg OperServ RNC 10
RWATCH
RWATCH maintains a list of regular expressions, which the nick!user@host gecos of all connecting clients are matched against. Matching clients can be displayed in the snoop channel and/or banned from the network. These network bans are set on *@host, last 24 hours and are not added to the AKILL list. The RWATCH list is stored in etc/rwatch.db and saved whenever it is modified.
See RMATCH for more information about regular expression syntax.
Syntax: RWATCH ADD /<pattern>/[i][p] <reason>
Adds a regular expression to the RWATCH list. The reason is shown in snoop notices and kline reasons.
Syntax: RWATCH DEL /<pattern>/[i][p]
Removes a regular expression from the RWATCH list.
Syntax: RWATCH LIST
- Shows the RWATCH list. The meaning of the letters is:
- i - case insensitive match
- p - PCRE pattern
- S - matching clients are shown in the snoop channel
- K - matching clients are banned from the network
Syntax: RWATCH SET /<pattern>/[i][p] <options>
- Changes the action for a regular expression. Possible values for <options> are:
- SNOOP - enables display in the snoop channel
- NOSNOOP - disables display in the snoop channel
- KLINE - enables network bans
- NOKLINE - disables network bans
Examples:
/msg OperServ RWATCH ADD /^m(oo|00)cow/i moocow figure
/msg OperServ RWATCH DEL /^m(oo|00)cow/i
SGLINE
SGLINE allows you to maintain network-wide bans by real name (gecos). It works similarly to AKILL.
Syntax: SGLINE ADD <gecos> [!P|!T <minutes>] <reason>
If the !P token is specified the SGLINE will never expire (permanent). If the !T token is specified expire time must follow, in minutes, hours "h", days "d" or weeks "w".
Examples:
/msg OperServ SGLINE ADD foo !T 5 bar reason
/msg OperServ SGLINE ADD foo !T 3d bar reason
/msg OperServ SGLINE ADD foo !P foo reason
/msg OperServ SGLINE ADD foo foo reason
The first example looks for the user with a gecos of "foo" and adds a "5 minute" SGLINE for "bar reason."
The second example is similar but adds the SGLINE for "3 days" instead of "5 minutes".
The third example adds a "permanent" SGLINE on "foo" for "foo reason."
The fourth example adds a SGLINE on "foo" for the duration specified in the configuration file for "foo reason."
Syntax: SGLINE DEL <gecos|number>
If number is specified it correlates with the number on SGLINE LIST. You may specify multiple numbers by separating with commas. You may specify a range by using a colon.
Examples:
/msg OperServ SGLINE DEL foo
/msg OperServ SGLINE DEL 5
/msg OperServ SGLINE DEL 1,2,5,10
/msg OperServ SGLINE DEL 1:5,7,9:11
Syntax: SGLINE LIST [FULL]
If FULL is specified the SGLINE reasons will be shown.
Examples:
/msg OperServ SGLINE LIST
/msg OperServ SGLINE LIST FULL
Syntax: SGLINE SYNC
Sends all sglines to all servers. This can be useful in case services will be down or do not see a user as matching a certain sgline.
SHUTDOWN
SHUTDOWN shuts down services. Services will not reconnect or restart.
Syntax: SHUTDOWN
Example:
/msg OperServ SHUTDOWN
SOPER
SOPER allows manipulation of services operator privileges.
SOPER LIST shows all accounts with services operator privileges, both from the configuration file and this command. It is similar to /stats o
OperServ.
SOPER LISTCLASS shows all defined oper classes. Use the SPECS command to view the privileges associated with an oper class.
SOPER ADD grants services operator privileges to an account. The granted privileges are described by an oper class.
SOPER DEL removes services operator privileges from an account.
SOPER SETPASS sets or clears a password for services operator privileges on an account. The password must be already encrypted. The target user needs to enter the password using IDENTIFY.
It is not possible to modify accounts with operator{} blocks in the configuration file.
- Syntax:
SOPER LIST|LISTCLASS
- Syntax:
SOPER ADD <account> <operclass>
- Syntax:
SOPER DEL <account>
- Syntax:
SOPER SETPASS <account> [password]
Examples:
/msg OperServ SOPER LIST
/msg OperServ SOPER ADD Berat sra
/msg OperServ SOPER DEL kelalaka
/msg OperServ SOPER SETPASS Gokturk $1$vHFzU0jC$ePfKvERVwaDRdnHOnZZ6h.
SPECS
SPECS shows the privileges you have in services.
Syntax: SPECS
It is also possible to see the privileges of other online users or of oper classes.
- Syntax:
SPECS USER <nick>
- Syntax:
SPECS OPERCLASS <classname>
Example:
/msg OperServ SPECS USER acea
SQLINE
SQLINE allows you to deny the use of certain nicknames or channels network-wide.
A nickname sqline may contain *, ?, # (any digit) and @ (any letter) wildcards. A channel sqline must be an exact match, starting with # or &.
Syntax: SQLINE ADD <mask> [!P|!T <minutes>] <reason>
If the !P token is specified the SQLINE will never expire (permanent). If the !T token is specified expire time must follow, in minutes, hours ("h"), days ("d") or weeks ("w").
Examples:
/msg OperServ SQLINE ADD spambot* !T 7d bar reason
/msg OperServ SQLINE ADD spam??? !P foo reason
The first example denies the use of nicknames starting with "spambot" for 7 days.
The second example adds a permanent SQLINE on "spam???" for "foo reason."
Syntax: SQLINE DEL <mask|number>
If number is specified it correlates with the number on SQLINE LIST. You may specify multiple numbers by separating with commas. You may specify a range by using a colon.
Examples:
/msg OperServ SQLINE DEL foo
/msg OperServ SQLINE DEL 5
/msg OperServ SQLINE DEL 1,2,5,10
/msg OperServ SQLINE DEL 1:5,7,9:11
Syntax: SQLINE LIST [FULL]
If FULL is specified the SQLINE reasons will be shown.
Examples:
/msg OperServ SQLINE LIST
/msg OperServ SQLINE LIST FULL
Syntax: SQLINE SYNC
Sends all sqlines to all servers. This is useful because sqlines must be present before the nickname or channel is tried to be fully effective.
UPDATE
UPDATE flushes the database to disk.
Syntax: UPDATE
Example:
/msg OperServ UPDATE
UPTIME
UPTIME shows services uptime and the number of registered nicks and channels.
Syntax: UPTIME
Example:
/msg OperServ UPTIME
General Information
- Atheme Website (https://atheme.github.io/)
- Development and usage documentation (https://atheme.dev/)
- Browse the help files online
- NEWS - Atheme IRC Services NEWS: Additions, Deletions, Changes, Fixes, etc.