MacServPro commands
This is a quick list of MacServPro commmands. Eventually, I might get around to writing more detailed docs. All commands can be used either by doing a '/msg MacServPro <command>', or '!<command>' or 'MacServPro, <command>' on a channel. Unless otherwise noted, you need to have 'user' access to MSP to use a command.
MSP is now organized into modules, so that new features can be added and updated without rebuilding and restarting the entire program. This list is organized based on the modules in which the commands are located:
Main program (chowderhut)
The main program contains commands necessary to work with the access list, and load/unload modules. It also contains a few debugging-type commands.
- IDENTIFY
Syntax: IDENTIFY [<nick>] <passwd>
Allows a user to identify to the nick their access is stored under, if they're not using a valid mask. If no nick is specified, the user's current nick is used. Anyone can use this command, though it won't be of much use if they don't have access.
- ACCESS
Syntax: ACCESS [<nick>]
Checks what access privileges a user has, based both on masks and nicks they've identified to. If no nick is specified, the nick sending the command is used. Anyone can use this command; eventually it may not be possible to check other users' access levels unless you have access yourself.
- DO
Syntax: DO <command>
Sends a raw command directly to the server. This one is limited to my usage, since it's not something that should have to be used outside of testing. Unlike MacServ, there's no ircII client to interpret commands before they're sent to the server, so it's not as useful.
- PRETEND
Syntax: PRETEND <message>
This command is limited to my usage, since it's pretty much useful only for testing. It runs a line through MSP's parsers just as if it had been received from the server.
- TIMER
Syntax: TIMER <command>
Another command used for debugging that's restricted to me, this inserts something into the timer queue to be executed later. Eventually there might be another implementation of this that's useful to other people.
- LOAD
Syntax: LOAD <module>
This command can be used to loada a code module that adds functionality to MacServPro during runtime. This is a very cool ability, but most modules will probably be loaded automatically anyway. I may be the only person who can put this to good use, but it's available to all with user access.
- UNLOAD
Syntax: UNLOAD <module>
This command unloads a module that's already been loaded. See above for more info.
- MODULES
Syntax: MODULES
This command lists all currently loaded modules, giving a short description of each. (This doesn't currently work.)
- IGNORE
Syntax: IGNORE <nick>
This command causes MSP to temporarily ignore a user who's been abusing commands like !seen or !calc - meaning that all commands from him/her/it will not be processed (except for the UNIGNORE command). The ignore entry will follow nick changes.
- UNIGNORE
Syntax: UNIGNOR <nick>
Removes a specifed user from the ignore list, exactly as one might expect. Anyone with access can use this command, even if they're on the ignore list - this is in case some nipplehead ignores himself.
seen.so
This module provides an interface to the seen database that tracks all users who join channels MacServPro is on.
- SEEN
Syntax: SEEN <nick>[:<channel>]
Syntax: SEEN <nick!user@host mask>
Reports on whether a nick has been seen by the bot lately. Can be restricted to a specific channel if necessary. If a nick!user@host mask is specified instead of a nick, then the last ten nicks seen from that hostmask will be listed. Anyone can use this command.
services.so
This module provides support for DALnet's services, including auto-identify on services watch reconnect.
- OPSELF
Syntax: OPSELF
When this command is used, MSP will identify and request ops from services. It shouldn't typically be necessary to use this command, as the bot will op itself as necessary whenever it's deopped or services reconnects, but it's available if it becomes necessary. If MSP has already identified a certain number of times in the last 30 seconds, the request will be ignored (and a message sent to #macserv) to avoid flooding services.
flood.so
This module enforces flood protection of various different sorts on all channels.
- CANCELUNBAN
Syntax: CANCELUNBAN
Often MSP will set temporary bans for first-offense flooders. This command will keep it from unbanning the ban, making it a permanen ban.
- FLOODIGNORE/FLOODOKAY/FLOODOK
Syntax: FLOODIGNORE <user>:[<channel>] [<time>]
Syntax: FLOODOKAY <user>:[<channel>] [<time>]
Syntax: FLOODOK <user>:[<channel>] [<time>]
This command temporarily allows a user to flood on the specified channel. This lets people copy-and-paste large amounts of information without worrying about being kicked. If no channel is specified, a reasonable guess is made. The time should be specified in seconds; if it's omitted, 120 seconds will be used. 'floodignore', 'floodokay', and 'floodok' are all synonymous and function absolutely identically.
kicks.so
This module contains commands that #macintosh ops can find useful for channel management, especially if they don't have scripts to ban/kick users.
- KICK
Syntax: KICK <nick> <message>
As you might surmise, this command kicks a user from #macintosh with the specified message.
- BAN
Syntax: BAN <nick> <banformat>
Bans a user on #macintosh, using the specified ban format. The syntax for the ban format is the same as HipScript's /bannick command, and more information about it can be found in the HipScript docs. The user being banned does not need to be on the channel.
- BANKICK (BK)
Syntax: BANKICK <nick> <banformat> <message>
Syntax: BK <nick> <banformat> <message>
Bans a user on #macintosh, using the specified ban format, then kicks them using the specified message. As above, the ban format syntax is the same as HipScript's /bannick command. Obviously, the user needs to be on the channel in order to be kicked, but if he's not, MSP will ban him anyway.
- SMITE
Syntax: SMITE <nick> [<message>]
This is also a shortcut for bankicking a user from #macintosh. It does not require a ban format, and the message is optional. If no message is specified, a default one will be used.
- TSMITE
Syntax: TSMITE [<time>] <nick> [<message>]
This command functions essentially just like the SMITE command, but automatically unbans the user after a specified time (in minutes). If no time is given, a defauilt (30 minutes) is used.
- OSKICK
Syntax: OSKICK <nick>
This command bankicks a Mac-bashing user using MacServ's traditional 'Thou shalt not battle over operating systems...' kick message.
- BANLASTPARTER (BLP)
Syntax: BANLASTPARTER [<format>]
Syntax: BLP [<format>]
MacServPro keeps track of the last person who parts the channel so that you can use this command to ban the last parter. You can specify your own ban format if you like, but if you don't, a default one (*WW) is used. This only bans people who left by parting the channel, as opposed to quitting or being kicked. If there's any interest, I may make a command that bans the last person who leaves by any means.
misccommands.so
Miscellaneous commands are stored here: things that didn't fit anywhere else and didn't really deserve their own module.
- SAY
Syntax: SAY <message>
Causes MacServPro to say something on #macintosh. Have fun with this one.
- ME
Syntax: ME <message>
Causes MacServPro to say something on #macintosh using a CTCP action (/me).
- OPME
Syntax: OPME
If a user has op access, will op them; if a user has voice access, will +v them. Doesn't send out a text file to people with no access like MacServ did.
- DIE
Syntax: DIE
For use whenever the bot is having a problem, the DIE command will terminate it immediately. Right now, the bot isn't set to respawn automatically, so exercise caution when using this command.
- OV
Syntax: OV <message>
A simple command that'll send an OV to #macintosh. It's useful for people using a client that doesn't easily support /ov. Anyone can use this command, though it's not especially useful to people who aren't ops or +vs.
- NICK
Syntax: NICK <newnick>
This command will change MSP's nick to a new nick. Take note that MacServ will auto-version by default if it doesn't see a user with nick MacServPro on the channel.
- SERVER
Syntax: SERVER <server> [<port>]
This command will cause MSP to change servers. If no port is specified, the default port (6667) will be used.
- C2F
Syntax: C2F <temperature>
Converts a temperature in degrees Celsius to degrees Fahrenheit. Anyone can use this command.
- F2C
Syntax: F2C <temperature>
Converts a temperature in degrees Fahrenheit to degrees Celsius. Anyone can use this command.
socials.so
This module contains commands that are useless but fun for interacting with users on #macintosh.
- SOCIALS
Syntax: SNS <target>
Syntax: ZERBERT <target>
Syntax: TUBER <target>
Syntax: BOUNCE
Syntax: SQUIRM <target>
Syntax: INNOCENT
Syntax: TWIDDLE <target>
Syntax: CRAMP <target>
Syntax: YODEL <target>
Syntax: LICK <target>
Syntax: PANT <target>
Syntax: PROPOSE <target>
Syntax: YAE <target>
Syntax: FLUTTER <target>
Syntax: SNORT <target>
Syntax: QUIVER
Syntax: CACKLE
These commands are just here for fun; they'll make MSP send certain CTCP actions to #macintosh that should make things interesting...
akick.so
MacServPro has support for AKICKs to aid in management of channel AKICKs by providing a place any op can store them, and allowing some descriptive info to be entered. Because the list grew long enough that it wasn't possible to list them by notice, they've been moved to a restricted-access web interface.
- AKICK LIST
Syntax: AKICK LIST [<mask>]
Lists AKICKs in MSP's database, including information about who set the AKICK, when, why, and when it expires. Only ten AKICKs can be displayed at once, to prevent flooding the bot off; the mask argument allows the search to be narrowed. To see the full list, use the web interface
- AKICK ADD
Syntax: AKICK ADD <mask> <reason>
Adds an AKICK to the database. Anyone matching the specified mask will be automatically banned and kicked using the reason specified as the kick message. By default, AKICKs will expire after 20 days; this can be cahnged with teh AKICK EXPIRE command.
- AKICK DELETE (DEL)
Syntax: AKICK DELETE <mask>
Syntax: AKICK DEL <mask>
Deletes any AKICKs set for the specified mask.
- AKICK EXPIRE
Syntax: AKICK EXPIRE <mask> (<reason> | never)
Sets an expiration time for the specified AKICK. After the expiration date is reached, the AKICK will no longer be considered to be active: matching users will not be kicked, and it'll be cleaned out from the database eventually. The expire time should be specified in days from the current day, or "never".
error.so
- ERROR
Syntax: ERROR <number>
Queries MSP's database of Mac error codes to find a description of the specified error. Thanks to Hippie, who gathered the error codes and wrote most of the code. Anyone can use this command.
calc.so
- CALC
Syntax: CALC <expression>
Evaluates a mathematical expression and returns the result. Thanks to Hippie, who wrote the code for this. Anyone can use this command.
country.so
- COUNTRY
Syntax: COUNTRY <code>|<name>
Accesses the database of two-character top-level-domain (TLD) abbreviations for countries. Either a two-letter code or a country name can be entered. Anyone can use this command.
spoke.so
- SPOKE
Syntax: SPOKE <nick>[:<channel>]
Gives the time interval since the specified user was last observed speaking. This only works for users in currently in channels MSP is in. If no channel is specified, a reasonable guess is made; if the user is not found in the specified channel, data will be provided for any channel he/she/it is on. Anyone can use this command.
- MASSSPOKE
Syntax: MASSSPOKE [<channel>] <hours>
Lists all users who haven't spoken on the given channel in a certain time, specified in hours; decimals are ok. If no channel is specified, a reasonable guess is made. Users indicated with a star before their nick are ones that have never been seen speak by the bot. Only ops can use this command.
Last modified:
Comments: lnz6t7on@ambulatoryclam.net