The Great Glorious and Wonderful


cheat sheet for bot commands


.g query
Search Google
.gc query
Count the number of Google results
.gcs "quoted query" [multiple-word query] word
Count the number of Google results for multiple things at once
.img query
Search Google Images
.news query
Search Google News
.tr [ :from-lang [ :to-lang ] ] phrase
Translate a phrase between languages
.mangle phrase
Translate a phrase between languages so many times it loses its meaning, then back to English


.tw tweet-id | tweet-url
Show a tweet
.tw twitter-handle
Show the latest tweet from a Twitter user
.follows who whom
See if the Twitter user who follows whom


.title [ url ]
Get the title of a Web page
.head url
Get basic HTTP header information for a URL
.head url field
Inspect a particular field of the HTTP response headers for a URL
.val [ url ]
Validate the source of a web page


There are two commands for searching Unicode: .chars and .u. They have the same syntax. .chars shows many characters without information; .u shows the codepoint, name, and category, but only up to three at once. You can give them some Unicode characters, or search, for example:

Find a particular Unicode character by codepoint
Find a range of Unicode characters by codepoint
euro sign
lat let
combining (etc.)
Search for Unicode characters by name

Text processing

.decode source
Decode HTML entities into normal text
.bytes [ :oct | :dec | :hex ] text
Show the bytes of a (UTF-8) string as octal, decimal, or hexadecimal
Admin-only, to prevent spam. Helps you relax.


Check the current bot time (use for stopwatch purposes)
Check the current time from the National Physical Laboratory’s NTP clock
.in time [ reminder ]
Set a reminder. Syntax for time is like “1h”, “1d12h”, etc. Supported units are ‘s’, ‘m’, ‘h’, ‘d’, ‘w’, ‘mo’, and ‘y’.
.at date/time [ reminder ]
.on date/time [ reminder ]
Set a reminder. Syntax for date/time is like “2013-06-10”, “15:00” (24-hour clock only), “2013-04-20T16:20”, etc.
See what the bot thinks your current timezone is
.tz timezone
Set your current timezone. (Used for .at/.on/.t.) timezone is from the IANA timezone database


.c expression
Calculate the value of an expression with Google Calculator
.wa query
Query Wolfram Alpha
.py expression
Evaluate some Python 2 code and return the result. Runs as a sandboxed web service with Google App Engine


.seen who
Ask when the bot last saw someone. May not always be fully accurate for privacy reasons
.to who message
.tell who message
.ask who message
Pass a message to who when the bot next sees them


Ping the bot; useful if you think your connection might have broken
yoleaux: prefix?
Ask what the bot’s current command prefix is. (Replace ‘.’ with this in all the other commands)
Thank the bot for his hard work by giving him a snack
.choose option; option; option
.pick option, option, option
Pick between multiple choices for you if you can’t decide. You can use semicolons or commas with either
There is no ping command


You can add your own commands to a Yoleaux bot by writing a web-service according to the Oblique interface.

.add-command name url
Add a command to the bot. After you do this, people will be able to do .name args to call your command
.command-help name help
Set the help for a command. People can then find out about your command by doing .help name
.del-command name
Delete a command. Useful for commands which don’t work any more, or which you don’t want to maintain

Common services available include: (the “(url)” links allow you to get the URLs to use with .add-command)

.geo place-name
Look up the coordinates for a place name, and get a Google Maps link. By Björn Höhrmann. (url)
.nokiageo place-name
An alternative to .geo, using the Nokia place names database. By Christopher Schmidt. (url)
.rot13 text
Apply the ROT13 transformation to a piece of text. By Kevin Reid. (url)
.suggest phrase
Get Google autocompletion suggestions for a phrase. By Björn Höhrmann. (url)
Calculate the current phase of the moon. By Sean B. Palmer. (url)
Search an ngram database. By Björn Höhrmann. (url)


These commands are all admin-only, except for .privacy.

.prefix new-prefix
Change the bot’s command prefix
.join channel
.visit channel
Get the bot to join a channel. .visit means don’t rejoin the channel next time the bot restarts
.part channel
.leave channel
Get the bot to leave a channel. .leave means that the bot should still rejoin the channel next time it starts, if it was set that way
.nick nick
Change the bot’s nick
Tell the bot to leave all channels and disconnect from IRC
Reloads all commands. Changes in the command codebase will not be picked up until this command is run
Internal: see a list of all the processes the bot is currently running, with their PIDs
.private [ channel ]
Toggle channel or the current channel being ‘private’. (Things people say won’t be recorded for .seen)
.private-prefix [ :paranoid ] [ channel ] prefix
Set the ‘private prefix’ for channel or the current channel. Once this is set, when people say things that start with prefix, the bot won’t record them for people enquire about that person with .seen. With ‘paranoid’ set, the bot will in fact completely ignore those things for the purposes of .seen, not even recording the time.
Everybody can use this command. Find out the current privacy settings for the .seen database for the current channel, reporting the private-prefix if set and whether paranoid mode is on.