Table of Contents
General Guidelines
In general, you can /msg the bot any of the commands below, and it will answer you with a /msg back. Additionally, depending on configuration, the bot may answer many of these commands in certain channels as well.
These are just the commands that anyone can use. If the bot recognizes you as one of its masters, there are additional commands available to you. See master-commands.txt in the git repo.
Basic Features
!about [no arguments]
Provides basic information about the bot, including the development name, version number, author, current operator, and the URL of the git repository.
!ping [no arguments]
Provides a basic answer that serves to verify two-way communication between you and the bot. Sibling bots also send this command to each other as part of looking out for one another.
!rng Choice A | Choice B | Choice C ...
!rng Choice_One Choice_Two Choice_Three ...
!race [no arguments]
!role [no arguments]
Chooses at random between the given options (or from among the standard NetHack races or roles).
!seen nick
Reports when a given nick was last seen making a comment in any of the channels the bot frequents. The bot considers 'private' (/msg) to be a channel in its own right and so will report if the user was last seen there, but the content of the /msg will not be disclosed.
!time [no arguments]
!date [no arguments]
Reports the current date and time, using whichever timezone you have set in your preference. If this is different from UTC, the bot also reports the UTC hour and minute, in parentheses.
!rot13 any text
Cresbezf gur EBG13 nytbevguz be lbhe grkg naq ergheaf vg gb lbh.
!backscroll #channel number-of-lines
!backscroll #channel number-of-lines HTML
!backscroll #channel number-of-lines /msg
If configured to do so, the bot fill in users who have missed recent channel content due to connection problems. This has to be enabled by the bot operator on a per-channel basis (after obtaining permission from channel ops), and the maximum number of lines of backscroll that can be retrieved is limited by whatever the bot operator set up, also on a per-channel basis. Delivery via HTML is only available if the bot operator has set up a publishing directory: the bot will write an HTML file there and send you a link to it. This allows fancy formatting (including nick coloring), but you have to open a web browser to view it. Delivery via /msg sends the content directly to you in IRC, but without fancy formatting. There may be different limits on the number of lines that can be supplied at once via each method. (The limit is typically lower for /msg than for HTML, but this depends on configuration as set up by the bot operator.)
!help command
Print more detailed help information about the command. Not all commands have detailed help info, but some do.
Messages Between IRC Users
!tell nick blah blah blah
!message number
Use the !tell command to leave a message for another user. The next time the bot sees that user make a comment, the bot will tell the user about any messages that have been left. If the user only has one or two messages, the bot will just tell them the messages outright. If there are a larger number of messages, the bot will give the user a list of message ID numbers. These message ID numbers can be fed to the !message command to read each message. (This is often best done in private /msg, to avoid spamming the channel, especially if there are a lot of messages.)
Your Preferences
!show [no arguments]
Shows a list of preferences that can be set.
!show prefname
Shows your current value for the preference.
!set prefname value
Sets a different value for the preference for you.
backscrolldelivery
Controls how the !backscroll command sends you information. The bot's software recognizes HTML and /msg as possible values, but whether either or both of these methods are actually available depends on how the bot operator has configured things. Availability of the backscroll feature my vary from one channel to another.
hangmanspacing
Number of spaces to put between letter blanks in hangman puzzles. The default is 0 (no spaces).
diet
Setting this to vegetarian or kosher will cause the !food service to be somewhat pickier about what it serves on your behalf. (The preference of the person calling for the food is used.)
memo
This preference has no actual effect, but you can use it as a convenient place to store a small piece of information, which the bot can then recall for you later (via !show memo).
timezone
Timezones must be specified in the format DateTime::Timezone uses. For example, the Eastern timezone should be specified as America/New_York. A list of all the timezones can be found here. Note that the bot actually checks to see that whatever you specify is on the list of valid timezones and will not save your preference otherwise, for security reasons.
backscrolldelivery
If enabled by the bot operator, you can specify HTML or /msg. In the case of HTML, !backscroll requests will be answered with a URL. This allows nice presentation (e.g., nick coloring), but you have to open a web browser to look at it. In the case of /msg, the information will be sent directly to you on IRC but will not have the fancy presentation. There may be different limits on the number of lines that can be presented each way. Individual !backscroll requests can also specify a specific delivery method, which overrides your usual preference.
The above list may be incomplete, if the bot operator has set up additional preferences. Use the !show trigger without any arguments to see the complete list of preferences the bot supports.
Personal Assistance: Keeping Track of Things
!alarm set date time message
!alarm set Friday at 11am Call mom and say Happy Birthday.
!alarm set 2015 Jan 20 Renew domains before they expire.
Note that this feature is currently only really useful if your IRC client stays connected pretty much all the time. In the future, I want to make the bot check to see if you're online, /msg you right away if so, and otherwise leave you a message (like !tell but automatic). However, this has not yet been implemented, so the bot just tries to /msg you. If you are offline, you will miss the alarm.
!alarms [no arguments]
Lists how many alarms you currently have set. If there are only one or two, it also tells you when they are set to go off. If there are more, it gives you alarm ID numbers, which you can feed to the !alarm command.
!alarm alarm-ID-number
Tells you when a particular alarm is set to go off.
!todo
This feature has not yet been implemented.
!vocab
I intend to also make the bot an interface to my spaced repetition system for studying vocabulary, but this has not yet been implemented.
Junethack Clan Support
!deaths url
!deaths reparse
!deaths partial
!deaths fetch (this is the default)
!deaths clan=clanabbrev
All versions send back the URLs for the deaths needed and deaths obtained pages.
With reparse, stored local copies of the data are reprocessed. (This is useful when doing multiple clans.)
With partial, one clan's data (the specified clan, or our clan by default) are retrieved from the junethack site.
With fetch, or if no argument is given, all clan data are retrieved from the junethack site, which takes a couple of minutes. The bot will wait until this finishes before sending back the URL, so you will know when it's done.
If you specify a clan (using the same abbreviation used on the deaths needed page), everything will be presented from that clan's perspective.
!trophies [no arguments]
Retrieves junethack data on all our clan members and returns the URL for a unified list of all the trophies, indicating whether anyone in the clan has yet obtained them. (Hovering over a trophy will tell which trophy it is and who has obtained it so far, if anyone in the clan has, or how to get it, otherwise.)
!member list
!member add nick tournamentaccount
!member subtract nick
This functionality hasn't yet been ported over from version 005.
!anthem [no arguments]
Gives the URL for a proposed clan anthem.
!gt whoever
Cheers on the person you specify, if they are a member of the clan, or otherwise cheers on the clan.
Proxied Commands
Rodney:
Rodney, the NAO bot that frequents #nethack, can answer the following things:
!hsn !lastgame !rc !dumplog !gamesby !scores !bugs !asc !ascension !lg !grepsrc !whereis !streak !save
Our bot knows how to ask Rodney (by /msg) and proxy back his answer. For detailed help on what any of these commands do and how to use them, see Rodney's help file
Frivolous Pursuits
!food [no arguments]
!pizza [no arguments]
!sandwiches [no arguments]
!dessert [no arguments]
!tea type nick
!juice nick
!coffee [no arguments]
!milk [no arguments]
Serves up the requested food or beverage. Types of tea that can be specified include black, green, white, oolang, and herbal. (You don't get to specify all the details. A certain amount of randomness is part of the fun.) All arguments to these commands are optional.
!trout [no arguments]
!trout nick
!trout me
!trout yourself
Slaps someone with a fish. Or something like that.
!vladsbane [No arguments]
Suggests something you might use to kill Vlad the Impaler in your current NetHack game.
!hangman [no arguments]
Shows the current hangman puzzle (or start a new one if necessary). Note that if you use private /msg to play you will get a separate puzzle just for you. If you play in a channel, you share the puzzle with everyone in the channel.
!hangman letter
Guess a letter.
!hangman word or phrase
Finish the puzzle.
!hangman guesses
Show what guesses you have made and how many you have left.
!hangman letters
Show remaining unguessed letters.
!scramble
This game has not yet been implemented.