Skip to content
Michael Angstadt edited this page Nov 24, 2024 · 19 revisions

This page lists all of OakBot's commands and listeners.

Type /help COMMAND to see this help documentation in chat.

Commands

/8ball

Simulates a magic 8-ball.

Examples:

  • /8ball Is Java the best?

/abbr

Retrieves abbreviation definitions from abbreviations.com.

Examples:

  • /abbr asap - Displays the 10 most popular definitions for "asap".

/about

Displays information about this bot.

/afk

Allows users to mark themselves as "away". If the user is mentioned in chat, Oak will post a message saying that the user is away. As soon as the user posts a message, Oak will welcome them back and remove their "away" status. "Away" status spans all chat rooms the user has joined.

Examples:

  • /afk - Marks the user as "away".
  • /afk Feeding the dog. - Marks the user as "away" and provides an away message that Oak will post if the user is mentioned in chat.

Aliases: brb

/aoc

Displays scores from Advent of Code leaderboards, and announces when members complete puzzles. Only enabled during the month of December.

Examples:

  • /aoc - Displays the default leaderboard that is assigned to the current room.
  • /aoc 12345 - Displays the leaderboard with ID 12345.

Aliases: advent

/bird

Displays an image of a bird. Images from shibe.online.

Aliases: birb

/cat

Displays a cat GIF. :3 Images from thecatapi.com.

Aliases: meow

/coffee

Displays a coffee-related image. Images from coffee.alexflipnote.dev.

Aliases: KAFFEEZEIT

/convert

Performs a unit conversion.

Examples:

  • /convert 5 km in miles - Displays how many miles are in 5 kilometers.

/define

Displays word definitions from the dictionary. Definitions are retrieved from Merriam-Webster's dictionary API (dictionaryapi.com).

Examples:

  • /define steganography - Displays the definition for "steganography".

/delete

Deletes a message the has bot posted. Only messages posted within the last 2 minutes can be deleted. Messages can also be deleted by replying to the message you want to delete with this command's name or one of its aliases as the message content.

Examples:

  • /delete 123456 - Deletes the message with ID 123456.
  • /delete https://chat.stackexchange.com/transcript/message/123456#123456 - Message permalinks can also be passed into this command, making it easier to delete a message quickly.

Aliases: del, rm

/ed

Displays items from the book "Effective Debugging, 66 Specific Ways to Debug Software and Systems" by Diomidis Spinellis.

Examples:

  • /ed !list - Lists all items.
  • /ed !random - Displays a random item.
  • /ed 5 - Displays item #5.
  • /ed automate - Displays all items that contain the keyword "automate".

/ej

Displays items from the book "Effective Java, Third Edition" by Joshua Bloch.

Examples:

  • /ej !list - Lists all items.
  • /ej !random - Displays a random item.
  • /ej 5 - Displays item #5.
  • /ej string - Displays all items that contain the keyword "string".

Aliases: bloch

/explain

Explains a common idiom using phrases.com.

Examples:

  • /explain eat my shorts - Displays an explanation of the given phrase.

/facepalm

Displays a facepalm GIF. Images from tenor.com.

/fatcat

Displays a fat cat.

Examples:

  • /fatcat - Shows a random fat cat.
  • /fatcat list - Lists all fat cats.
  • /fatcat add URL - Adds a fat cat.
  • /fatcat delete URL - Deletes a fat cat.

/fish

Allows users to fish 🐟. The fish are from the game "Hades".

Examples:

  • /fish - Throws in or pulls up the fishing line. Users must wait until their line quivers before pulling up their line in order to get a fish.
  • /fish inv - Displays the user's inventory of caught fish.
  • /fish status - Displays the status of the user's fishing line.
  • /fish release bass - Releases a fish back into the wild.
  • /fish again - Pulls up the line and then throws it back again.

/grammar

Checks a sentence for grammar using grammar.com

/groot

Toggles a filter that makes Oak speak in Groot.

/help

Displays the list of available commands, as well as detailed information about specific commands.

Examples:

  • /help - Displays the list of available commands
  • /help jaba - Displays the help documentation for a command called "jaba".

/http

Displays information about HTTP status codes and methods. Descriptions come from the official RFC specifications.

Examples:

  • /http 200 - Displays the description for the HTTP 200 status code.
  • /http GET - Displays the description for the HTTP GET method.
  • /http 200 2 - Displays paragraph 2 from the description of HTTP 200.

/imagine

Creates images using OpenAI's DALL·E and Stability.ai. Users can make 1 requests per day. Syntax: [model] [input image URL] [prompt]. Supported models: [dall-e-2, dall-e-3, si-core, sd3, sd3-turbo]

Examples:

  • /imagine a cute Java programmer - Generates an image using DALL·E 3.
  • /imagine https://example.com/image.png - Generates a variation of the given image using DALL·E 2. Image must be a PNG, JPEG, or GIF.
  • /imagine https://example.com/sheep.png A sheep wearing sunglasses - Modifies an image using Stable Diffusion 3.0.
  • /imagine si-core A funny cat - Include the model ID at the beginning of the message to define which model to use.

/javadoc

Displays class documentation from the Javadocs. If more than one class or method matches the query, then a list of choices is displayed. Queries are case-insensitive.

Examples:

  • /javadoc String - Searches for all classes named "String".
  • /javadoc java.lang.String#substring - Searches for all methods in the "java.lang.String" class called "substring".
  • /javadoc java.lang.String#substring(int) - Searches for a method in the "java.lang.String" class called "substring" that has a single "int" parameter.
  • /javadoc java.lang.String#substring(int) JonSkeet - Same as above, but directs the response to a specific user.
  • /javadoc java.lang.String#substring(int) 2 - Displays the second paragraph of the javadoc description.

Aliases: javadocs

/juicebox

Posts a modified version of a user's profile picture showing them drinking from a juice box. Images from juiceboxify.me.

Examples:

  • /juicebox - Juiceboxifies the picture of the user who sent the command.
  • /juicebox Michael - Finds a user named "Michael" in the current chat room and juiceboxifies their picture.

/learn

Creates a new command.

Examples:

  • /learn happy :) - Creates a command called "happy" which outputs ":)" when invoked.
  • /learn complement {0} is awesome! - Creates a command called "complement" which has a parameter.

/mood

Set's the bot's "mood" for ChatGPT interactions. One word adjectives only. Moods are defined per-room.

Examples:

  • /mood grumpy - Makes the bot grumpy.

/phish

Allows users to phish 📧.

Examples:

  • /phish - Starts a phishing campaign or checks your inbox if you have a new message.
  • /phish inbox - Displays the user's old emails.
  • /phish status - Displays the status of the user's phishing campaign.
  • /phish delete Gmail password - Deletes one of your emails.
  • /phish again - Checks your inbox for new messages, and starts another phishing campaign.

/quota

Displays the invoking user's usage quota for rate-limited functions.

/react

Displays a random GIF. Images from giphy.com.

Examples:

  • /react happy - Displays a "happy" GIF.

/remind

Reminds you about something. Syntax: <REMINDER> in <NUM> [hour|minute]

Examples:

  • /remind do the laundry in 2 hours - Sends the user a reminder in 2 hours.

/rhyme

Finds words that rhyme with the given word. Results are from rhymes.com.

Examples:

  • /rhyme code - Displays words that rhyme with "code".

/roll

Rolls a variable-sided die or makes a choice.

Examples:

  • /roll - Rolls a six-sided die.
  • /roll 2d20 - Rolls two twenty-sided dice.
  • /roll vi emacs - Randomly chooses one of the specified keywords ("vi" or "emacs").

/rollover

Toggles a filter that makes all the letters in the messages Oak posts look like they are upside down.

/shiba

Displays an image of a shiba inu dog. Images from shibe.online.

Aliases: woof

/shrug

Displays a "shrug" emoticon.

/shutdown

Terminates the bot (admins only).

/summon

Makes the bot join another room. Only room owners can make the bot join a room.

Examples:

  • /summon 139 - Makes the bot join the room with ID 139.

Aliases: join

/tag

Displays the description of a StackOverflow tag.

Examples:

  • /tag mvc - Displays the description of the "mvc" tag.

/timeout

Stops the bot from responding to incoming messages (admins only). Will still respond to messages from admin users.

Examples:

  • /timeout 10 - Timeout for 10 minutes.
  • /timeout cancel - Ends the timeout early.

Aliases: shutup

/unlearn

Deletes a learned command.

Examples:

  • /unlearn happy - Deletes the command called "happy".

Aliases: forget

/unsummon

Makes the bot leave a room. Rooms which are designated as "home" rooms cannot be left.

Examples:

  • /unsummon - Makes the bot leave the current room.
  • /unsummon 139 - Makes the bot leave the room with ID 139.

Aliases: leave

/urban

Retrieves definitions from urbandictionary.com.

Examples:

  • /urban brah - Displays the top definition for "brah".
  • /urban brah 2 - Displays the second most popular definition for "brah".

/video

Creates videos using Stable Diffusion Video (admins only). Due to the time it takes to generate a video, this command may take several minutes to execute.

Examples:

  • /video a cute Java programmer walking on the beach - Generates an image using Stable Diffusion 3.0, and then animates it.
  • /video https://example.com/photo.jpg - Creates a video from the given image.

/wadu

Toggles a filter that makes Oak speak in Wadu Hek.

/wiki

Displays a one-box for a Wikipedia page.

Examples:

  • /wiki James Gosling - Displays a one-box for the "James Gosling" Wikipedia page.

Listeners

chatgpt

Allows the user to have a conversation with ChatGPT. Mentioning the bot will invoke a response from ChatGPT. The last 10 messages in the chat room are sent to the ChatGPT servers for context. Under certain conditions, the bot will also periodically post a message from ChatGPT on its own.

dadjoke

Responds to sentences that start with "I am [blank]". Responds once every 30 minutes per room at most.

explainxkcd

Posts an explanation of an XKCD comic whenever one is posted to the room by a system bot. Content from explainxkcd.com.

mention

Sends a reply message when someone mentions the bot's name.

morn

Replies to "good morning" messages. Responds to the following greetings: good morning, morning, morn

wave

Responds with the opposite "wave" emoticon when a user waves: o/ or \o. Will only wave once every 5 minutes at most.

welcome

Welcomes new users to the chat room. If a welcome message is defined for this room, users with a reputation less than 1000 will receive a welcome message the first time they post a message.

Tasks

fotd

Posts a fact every day. Facts are from refdesk.com. Fact is posted at 12:00 server time to all non-quiet rooms.

healthmonitor

Makes the bot "cough" when the server has pending security updates. The bot will start coughing when there are 10 or more pending updates. It will cough more frequently the more updates there are.

qotd

Posts a quote every day. Quotes are from slashdot.org. Quote is posted at 0:00 server time to all non-quiet rooms.