Level 500 Commands

Level 500

Channel Manager

PART - Makes X leave your channel.

/msg x part <#channel>

SET - Changes special X modes for channel.

/msg x set <#channel> <variable> <value>

Variables and Values:

AUTOJOIN - When the flag is set ON, it makes X always join your channel. When the flag is OFF, it will make it part if it's on the channel, and not re-join after a netsplit.

/msg x set <#channel> autojoin <on|off>

MASSDEOPPRO - The maximum number of deops X will allow in a 15 sec period. Any user exceeding this will be kicked, suspended (if on the userlist) and a level 25 ban placed on them to prevent ops. The suspend and ban time is 5 minutes. The value can be set from 1, which is the most sensitive, to 7, which is least sensitive. A value of 0 turns off the option.

/msg x set <#channel> massdeoppro <0-7>

NOOP - This means that no one may be a channel operator except X. This does not mean you don't have control of X or the channel. If you are authenticated, you can issue commands like KICK, BAN, etc. through X, you just can't be opped yourself.

/msg x set <#channel> noop <on|off>

STRICTOP - This allows only Level 100+ users who are authenticated to be opped.

/msg x set <#channel> strictop <on|off>


Level 450 Commands

Levels 450 - 499

Trusted Channel Admin

SET - Changes special X modes for channel.

/msg x set <#channel> <variable> <value>

Variables and Values:

AUTOTOPIC - This flag makes X reset the topic to the channel URL and DESCRIPTION every 30 minutes. Note that if the channel is idle, the topic will not be reset during that time.

/msg x set <#channel> autotopic <on|off>

DESCRIPTION - Sets the default channel topic (maximum of 80 characters). This does NOT affect the actual channel topic, unless AUTOTOPIC is ON. The topic can be seen only by the CHANINFO command (Level 0), or by logging into the CService Web Interface. If no description text is specified, the current description is reset.
Alias: DESC

/msg x set <#channel> description [text]
/msg x set <#channel> desc [text]

FLOATLIM - Sets the floating-limit feature on or off. If turned on, X will reset the channel limit within a preset margin above the number of users in the channel, and within a preset period of time. This aids in preventing large floodnets from joining and flooding the channel. By default, this feature is off. When turned on, the STATUS command will show the settings on the "Flags set:" line as follows: "FLOATLIM (3:20)." This means that FLOATLIM is on, with a FLOATMARGIN of 3, and a FLOATPERIOD of 20 seconds. Refer to the SET FLOATGRACE, SET FLOATMARGIN, SET FLOATMAX and SET FLOATPERIOD commands for more information.

/msg x set <#channel> floatlim <on|off>

FLOATGRACE - Sets the floating-limit grace value to be used in the channel. This number can be between 0-19. This makes X avoid changing the limit if it will be smaller than the grace value. In other words, this is the value that corresponds to the number of extra users that join or part a channel before X changes the limit. As a result, X will not litter quiet channels with lots of mode changes. The default value is 1.

/msg x set <#channel> floatgrace <0-19>

FLOATMARGIN - Sets the floating-limit margin to be used in the channel. This number can be between 2-20. The limit that X resets will be: number of users in the channel + FLOATMARGIN. The default value is 3.

/msg x set <#channel> floatmargin <2-20>

FLOATMAX - Sets the maximum limit for the floating-limit setting. This can be any number desired, and will prevent X from changing the channel limit to a number higher than the chosen number. Thus, it is possible for a channel to limit how many users they want in a channel at any given time. The default value is 0, which turns the setting off.

/msg x set <#channel> floatmax <0 | max limit desired>

FLOATPERIOD - Sets the floating-limit period, in seconds, to be used before X resets the channel limit. This number must be between 20-200. The default value is 20 seconds.

/msg x set <#channel> floatperiod <20-200>

KEYWORDS - Sets keywords for your channel that will trigger on a SEARCH (Level 0) of channels. If no keywords are specified, the current keywords are reset. The maximum string of keywords is 80 characters long.

/msg x set <#channel> keywords [text]

MODE - This will save the current channel modes as default. Whenever X joins the channel, it will reset those modes if any are not set at the time and it is alone in the channel.

/msg x set <#channel> mode

URL - You can state your channel's homepage address(es) with this option (maximum of 75 characters). Spaces are permitted, allowing multiple URL parameters to be specified. This does NOT affect the channel topic, unless AUTOTOPIC is ON (Level 450). The DESCRIPTION and URL can be seen by using the CHANINFO command (Level 0), or by logging into the CService Web Interface then clicking the "Channel Information" link, and submitting the channel name. If no URL is specified, the current URL is reset.

/msg x set <#channel> url [url url2 ... urlN]

USERFLAGS - Determines whether or not OP or VOICE will automatically be set for AUTOMODE when a new user is added to the userlist. Default value is 0 (None).

NOTE: Once a user is on the userlist, the MODINFO AUTOMODE command (Level 400) can be issued to change the value for that individual alone.

Values:

  1. No AutoMode set for all new users added.
  2. Op AutoMode set for all new users added.
  3. Voice AutoMode set for all new users added.

/msg x set <#channel> userflags <0-2>

JOIN - Makes X join your channel.

/msg x join <#channel>


Level 400 Commands

Levels 400 - 449

Userlist Admin

ADDUSER - Adds a user to the channel's userlist. You cannot ADDUSER someone with equal or higher access than your own.

/msg x adduser <#channel> <username> <access>

CLEARMODE - Clears all channel modes. Can be used when your channel has been locked up (set +i or +k without your knowledge).

NOTE: This is not necessarily the best method to gain entry to your channel, because other people or bots may be opped in the channel that may reset the modes as you clear them. Refer to the STATUS command (Level 200) for related information.

/msg x clearmode <#channel>

MODINFO - Make changes to existing users in your channel's userlist.

/msg x modinfo <#channel> <variable> <username> <value>

Variables:

ACCESS - Changes the access level of a user. Access level can be set between 1 and one less than your own level (if you have an access level of 400, you may assign a level of up to 399 to other users).

/msg x modinfo <#channel> access <username> <new level>

AUTOMODE - Changes the automode of a user to one the specified modes: NONE, OP, or VOICE. OP or VOICE will make X op or voice an authenticated user when they enter the channel. NONE will make X do nothing when an authenticated user enters the channel.

/msg x modinfo <#channel> automode <username> <none|op|voice>

REMUSER - Removes a user from the channel database. You must have higher access than the user you want to remove. You can also remove yourself from any channel, as long as you are not the Channel Manager (500 access level in that channel). Managers wishing to remove themselves will need to purge their channel.

/msg x remuser <#channel> <username>


Level 200 Commands

Level 200

Userlist Op

KICK - Makes X kick all users matching the specified *!*user@*.host mask, but does not kick the person issuing the command if they match also. This should be a seldom used command. Use should be limited to extreme channel flooding or clones. You may want to set a ban on the mask, or +i (invite mode) on the channel before issuing the kick to prevent matching users from rejoining after being kicked.

/msg x kick <#channel> <nick | *!*user@*.host> [reason]

STATUS - Displays all special X settings, channel modes, the number of users and ops in the channel, currently authenticated users for the channel, and whether X is on the channel or not. Currently authenticated users are shown in a "username/nickname [level]" format. A user's nickname will only be shown if that user is currently on the channel, otherwise only their username and level are displayed.

The ability to see channel modes is extremely helpful in case the channel is +k (keyed mode), since you can find out what they key is. This commands works regardless of whether X is on the channel or not.

/msg x status <#channel>


Level 100 Commands

Levels 100 - 399

Channel Operator

DEOP - Deops one or more persons in your channel. If no nick is specified, and you are opped on the channel, X will deop you.

NOTE: be mindful of triggering the limit that may be in effect with MASSDEOPPRO (Level 500).

/msg x deop <#channel> [nick] [nick2] ... [nickN]

OP - Ops one or more persons in your channel. If no nick is specified, and you are not opped on the channel, X will op you.

/msg x op <#channel> [nick] [nick2] ... [nickN]

INVITE - Makes X invite you to your channel.

/msg x invite <#channel>

SUSPEND - Suspends a user's access to X on your channel's userlist for the specified period of time at the specified level, if given. If a level is not given, the default suspension level used will be the access level of the issuer. You can only SUSPEND someone with access lower than your own. The maximum duration is 372 days (8928 hours, 535680 minutes).

Time Values:

  • D = days
  • H = hours
  • M = minutes

/msg x suspend <#channel> <username> <duration> [level]

Duration Example: "5 d" = 5 days (enter without quotations)

UNSUSPEND - Unsuspends a user's access to X on your channel's userlist. You can only unsuspend someone with access lower than your own, provided that the suspension level is also less than or equal to your own access level.

/msg x unsuspend <#channel> <username>


Level 75 Commands

Levels 75 - 99

New Channel Operator

BAN - Adds a specific *!*user@*.host to the X banlist of your channel. You may place a ban on a nick if the person is online or ban their *!*user@*.host if the person is not online. Bans that cover a broader range than previously set bans will replace previous bans. Any user in the channel that matches the added ban will be kicked out if the ban level is 75+. The duration is in hours, with a maximum of 336 hours (2 weeks). The ban level can range from 1 to your own level. The ban reason can be a maximum of 128 characters long. If no duration or level is specified, the default duration will be 3 hours, and the level will be 75.

Ban Levels:

1-74 Prevents the user from having ops (+o) on the channel.
75+ Prevents the user from being in the channel at all.

/msg x ban <#channel> <nick|*!*user@*.host> [duration] [level] [reason]

UNBAN - Removes a *!*user@*.host from the X banlist of your channel and any matching bans from the channel banlist also. You can only remove bans from X's banlist that are equal to or lower than your own access. To search X's banlist, refer to the LBANLIST command (Level 0).

/msg x unban <#channel> <nick | *!*user@*.host>


Level 50 Commands

Levels 50 - 74

Trusted Channel Regular

KICK - Makes X kick someone from your channel; reason is optional. Your nick will be placed in the kick message.

/msg x kick <#channel> <nick> [reason]

TOPIC - Makes X change the topic in your channel (maximum of 145 characters) and includes your username, enclosed in parentheses, at the beginning of the topic.

NOTE: If a DESCRIPTION or URL has been set and AUTOTOPIC is ON, the channel topic will be overwritten in 30 minutes, unless the channel is idle.

/msg x topic <#channel> <topic>


Level 25 Commands

Levels 25 - 49

Channel Regular

DEVOICE - Devoices one or more users in your channel.

/msg x devoice <#channel> [nick] [nick2] ... [nickN]

VOICE - Voices one or more users in your channel.

/msg x voice <#channel> [nick] [nick2] ... [nickN]


Level 1 Commands

Level 1

Minimum Access

BANLIST - Shows the channel banlist. This command works whether you are on the channel or not.

/msg x banlist <#channel>

STATUS - This does the same thing as the Level 200 STATUS command, except it will not report channel modes (+nt etc.) to anyone with access below 200.

/msg x status #channel


Level 0 Commands

Level 0

Everyone

ACCESS - Can look up the access for a certain person or a string. The information indicates level, suspension status if suspended, and when the user was last seen.

To see all users:

/msg x access <#channel> *

If there are more than 15 entries, go to the CService Web Interface and login to see the entire list by clicking on the "Channel Information" link and submitting the channel name.

You can also use and mix these options instead of a username or string to get specific results.

Access options:

username - shows the access level of a single user.

/msg x access <#channel> <username>

-min <level> - shows only users above the given level.

/msg x access <#channel> -min <level>

-max <level> - shows only users below the given level.

/msg x access <#channel> -max <level>

-op - shows only users with the OP AUTOMODE flag.

/msg x access <#channel> -op

-voice - shows only users with the VOICE AUTOMODE flag.

/msg x access <#channel> -voice

-none - shows only users with no AUTOMODE flag (None).

/msg x access <#channel> -none

-modif - shows who last modified the access listing.

/msg x access <#channel> -modif

CHANINFO - Displays whether or not a channel is registered, to whom, and the currently set DESCRIPTION and URL, if any.
Alias: INFO

/msg x chaninfo <#channel>

HELP - Displays help information on a given command.

/msg x help [command]

INFO - Displays information about a username such as their nick and user@host if they are currently online, their language and invisible settings, last seen information, and whether they may have been suspended by a CService Administrator.

If used on yourself, it also displays the current email address associated with your username, the last hostmask (nick!userid@host format) used when the username was logged into, your max logins settings, and lists all channels which you have access on (only CService and you can see this information, not other users). If you wish to make this information hidden to the public, refer to the SET INVISIBLE command (Level 0).

/msg x INFO <username>

LBANLIST - Searches X's banlist for a certain string. Use * to see the whole list, or specify a *!*user@*.host to find a specific ban.

/msg x lbanlist <#channel> <* | *!*user@*.host>

LOGIN - This loads your access listing into X's memory and authenticates you on all channels which you have access on. You can login to your account more than once, using multiple clients/connections to the IRC server. The number of concurrent connections you can use depends on your MAXLOGINS setting (see SET MAXLOGINS - Level 0). Whenever a new concurrent connection is established, X will send you a notice to let you know who it was and advise you to use the SUSPENDME command if that person is not you, meaning your account may have been compromised (see SUSPENDME - Level 0).

/msg x@channels.undernet.org login <username> <password>

MOTD - Displays X's message of the day.

/msg x motd

NEWPASS - This command has been disabled on IRC, and can only be performed from the CService Web Interface. Once you login to your account on the website, you can change your password by using the "New Password" link. If you have forgotten your password, or cannot login due to an invalid password, then you can get your password reset and emailed to you by using the "Forgotten Password" link on the website. If you still have problems getting your password changed or reset, please join #CService and ask there.

NOTES:

  • Passwords are case-sensitive. For example: "CService" is not "cservice."
  • Passwords can be more than one word long, allowing you to have a sentence or phrase as your password to increase the difficulty of it being discovered. We encourage you to take advantage of this feature. The maximum length is 50 characters. For example, a password can be: "Undernet Channel Service"

The NEWPASS entry will also be removed from future versions of the CService help files, and is included in this version for reference purposes only.

REMUSER - At this level, and above, you can remove yourself from any channel, as long as you are not the Channel Manager (500 access level in that channel). Managers wishing to remove themselves will need to purge their channel.

/msg x remuser <#channel> <your username>

SEARCH - Makes X list channels where the given search parameters match set keywords on the channel, if any. The use of wildcards is not required.

/msg x search <search parameter>

SET - Changes special modes for your username.

/msg x set <variable> <value>

Variables and Values:

INVISIBLE - This is a personal setting that allows you to toggle the visibility of your username information, retrievable from the INFO command, to be visible or hidden. To learn more about the available information, refer to the INFO command (Level 0).

/msg x set invisible <on|off>

LANG - Changes the language for X's replies to you.

/msg x set lang <language code>

Languages available:

ar | Arabic
ca | Catalan
de | German
dk | Danish
en | English
es | Spanish
fr | French
hu | Hungarian
it | Italian
nl | Dutch
no | Norwegian
pt | Portuguese
ro | Romanian
tr | Turkish

NOTE: Languages denoted in italics are not available yet, but we plan to support them soon.

MAXLOGINS - This personal setting lets you determine the allowed number of concurrent logins (authenticated users) to your username (account). Thus, you could keep a client authenticated from home/work/school while also being able to use your account from elsewhere. Another possibility is to share the same account for yourself and your bot. Yet another example is that when you get disconnected, you can login immediately without waiting for your ghost to disconnect. By default, this is set to 1, and is not affected by simultaneously being authenticated on the website.

/msg x set maxlogins <1-3>

SHOWCOMMANDS - Shows all the commands you can use on a channel, according to your access level. If no channel is specified, then only the Level 0 commands are shown.

/msg x showcommands [#channel]

SHOWIGNORE - Shows X's current ignore list. X will automatically set a 1 hour ignore on anyone who floods it, whether accidentally or intentionally.

/msg x showignore

SUPPORT - An alternate method allowing you to confirm or deny support for a channel application which you are listed as a supporter on. Upon authenticating, X will notify you of any channel applications that you are listed as a supporter on and will also notify you of this SUPPORT command. Alternatively, you can choose to view the application on the web to see more information about it, post an objection, and confirm or deny your support from there. The command will not be effective if you are not listed on a channel as a supporter, or a channel does not have a pending application on the web.

/msg x support <#channel> <yes|no>

SUSPENDME - This command will globally suspend your account, essentially making you have a level of 0 whenever you try to perform commands. The command will only work if at least two users are simultaneously authenticated on an account. You must send an email to x@undernet.org and request that your username be unsuspended. Also, it would be a good idea to get your password reset from the CService website prior to sending the email, so that once the suspension is lifted no one will be able to authenticate with your account using the compromised password.

/msg x@channels.undernet.org suspendme <password>

VERIFY - Displays whether or not a person is logged in, and if so, indicates their username, and also indicates whether or not they are an Official CService Administrator or Representative, and/or an IRC Operator.

/msg x verify <nick>


Syntax Notes

Command Syntax

  • Commands are shown in BOLD BLUE UPPERCASE text.
  • Command variables and options are shown in Bold Red text.
  • Command examples are shown in a  monospace font with a light grey background.
  • Parameters enclosed in <>'s are mandatory.
  • Parameters enclosed in []'s are optional.
  • x|y means x or y.
  • <nick> refers to a person's IRC nickname that they are online with.
  • <username> refers to a person's username as it appears in the userlist; not to be confused with <nick>. For more information about usernames and how to determine a person's username, refer to the VERIFY and INFO commands (Level 0).
  • All commands shown with the field can also work by specifying a user's IRC nickname that they are online with by preceding their nickname with an equal (=) sign.

    For example, consider a person with the nickname ^[Test]^ and username Test. The ACCESS command can be performed on this user in either of these two methods:

    1. /msg x access <#channel> Test
    2. /msg x access <#channel> =^[Test]^

    The first method directly queries X as to whether or not the username "Test" is in the userlist. The second method makes X lookup ^[Test]^'s username, if they are authenticated, which refers to their username of "Test." This can be performed with any command that requires a <username>, but will only work if the user is authenticated, otherwise a "No Match" reply or equivalent will be returned.

Note for scripters:
IRC scripts should always use /msg x@channels.undernet.org for all commands to avoid breaking the script in the event of a temporary nick change for X or other circumstances.


Changes

Command List History

Disclaimer: The revisions and updates to X’s command list detailed herein are only those which would directly impact the users in form or function. General bug-fixes and updates to X’s code are not what this section is about. Anyone interested in such information may find it at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnuworld/gnuworld/mod.cservice/ as everything is open source. Some of the dates from early 2001 may not be accurate as to the actual day the change took place because I used to only give a list of updates that took place since the last official update of xcmds.txt. From the latter part of 2001 to the present, all dates should be the actual date that the update occurred.
March 10, 2002
  • The NEWPASS command was removed to help prevent abuse if a user accidentally wrote his CService password in public. From now on, the CService Web Interface will be the only way to change the password.

March 4, 2002
  • The display for the INFO command has been revised to display the new MAXLOGINS setting and all users currently authorized.
  • The display for the Level 200 STATUS command has been revised to show all nicknames logged into the current username.

February 24, 2002
  • Added username anti-hijacking measures, allowing more than one user to login to one username but the users will be notified, along with setting a limit of how many users may be logged in, and the ability to suspend the account and have it investigated. This has been implemented with new Level 0 commands: SET MAXLOGINS and SUSPENDME.
  • The LOGIN command was modified to function within the new SET MAXLOGINS and SUSPENDME command settings.

January 5, 2002
  • Two more Floating User Limit commands added: SET FLOATGRACE and SET FLOATMAX.
  • The display from the STATUS command has been revised to accommodate all the new FLOATLIM settings in one line and the old FloodPro reference has finally been removed.
  • Minor fix to the SUSPEND command: X was giving an error message if you used capital letters to specify the Duration; the command is now case-insensitive.

December 27, 2001
  • Added support for a channel Floating User Limit. The following Level 450 commands were added: SET FLOATLIM, SET FLOATMARGIN, and SET FLOATPERIOD.

December 21, 2001
  • The INFO command, when used on yourself, now displays your last hostmask and current email address on file with CService.
  • Added Arabic "ar" code to the SET LANG command.

August 25, 2001
  • SET FLOODPRO has been removed. New changes to IRCU have made this setting obsolete and nonfunctional. The STATUS command still displays the "FloodPro: N" setting, however, which be removed at a later date.
  • Updated description of STATUS command: user's nicknames will not show up unless that user is in the channel. This is currently buggy in X, but this is how it is planned to work and just needs a minor tweak from the coders.

August 12, 2001
  • Added the SUPPORT command

August 9, 2001
  • BANLIST is now a Level 1 command that lists channel bans whether the user is on or off the channel, making the command more useful.
  • Added an optional [Level] parameter to the SUSPEND command, which functions exactly the same way as the [Level] in the BAN and UNBAN commands.

July 20, 2001
  • Included the maximum SUSPEND duration, and also changed the syntax from [duration] to since it is a required parameter of the SUSPEND command.
  • Added a note about STATUS working regardless if X is on the channel or not.
  • SET MODE only works if X is alone in the channel.
  • Renamed MASK KICK (Level 200) to simply KICK since that is the actual command.

July 19, 2001
  • SET LANG was removed from the Level 500 commands, and moved to Level 0 and modified to set the individual users' preferred language.
  • Added to the description of the INFO command
  • Added the default ban time to the BAN description
  • Changed the description of the SET AUTOJOIN syntax to be consistent with the <on|off> format.

March 4, 2001
  • The new and improved X makes its first appearance on Undernet! X is now the sole Channel Service bot for Undernet; W is gone for good.

March 3, 2001
  • Ace completes the first xcmds.txt for the new X and we all anxiously await X's arrival on Undernet.


Credits

Undernet Channel Service

X Command List

Original xcmds.txt document updated on March 22, 2002 by Ace
WinHelp and HTML Help versions updated March 25, 2002 by Talyn

This file is maintained by Undernet CService Committee
E-mail cservice@undernet.org with any suggestions or comments

Undernet Channel Service
Official channel: #cservice