This wiki page contains a list of commands and their explanation.

Commands for everyone

These commands can be executed by everyone.

Commands as reply for everyone

Privileged commands

These commands require privileges. Note that some commands may be disabled in some rooms. You may talk to others to understand why.

Blacklists, watchlist, and whitelist

User-blacklist and user-whitelist

These lists are maintained per SmokeDetector instance. The SmokeDetector instances do not share these lists between themselves.


The user-blacklist is a list of users which have all of their posts reported by SmokeDetector. The user-blacklist is quite dynamic. Users are primarily added to the user-blacklist when someone gives tpu feedback to a post the user has authored. Users are automatically removed from the user-blacklist when fp feedback is given for a post they have authored. Users can also be explicitly added or removed with the following commands:

Detection blacklists and watchlist

The blacklists and watchlist detections are lists of regular expressions (regexes) that are used to test posts. The exceptions to this are the watched_numbers and blacklisted_numbers lists, which are lists of numbers that are tested against posts as text both verbatim and “normalized” (with everything but numbers removed).

The regexes for the blacklist-keyword and watchlist have \b prepended and appended to them prior to testing against post bodies, titles, and usernames. For both of those lists, the i and s flags are set (case insensitive and . matches anything). The other lists do not bookend the regexes with \b and only have the case insensitive flag, i, set.

Other than the -number lists, what you are providing is a regular expression. As such, make sure regex special characters are escaped (in particular, . characters should be escaped as \.) when not used as the special character. The regular expression variant that SmokeDetector uses is the regex package.

When adding to the blacklists, any exact match in the watchlists to what you are adding to the blacklist will be automatically removed from the watchlists.

For all !!/blacklist-* and !!/watch* commands, if you are a code admin on metasmoke, your change will apply immediately, once CI passes; otherwise, a pull request will be created for your changes so that it can be reviewed.

Privileged commands as reply

These commands require privileges and have to be posted as a reply to a message of SmokeDetector.

User-friendly syntax:

Complete list:

Silent mode and aliases

If you don’t want SmokeDetector to reply when executing a command add a - sign at the end, for example, fp-. This is a good practice to cut down on chatroom clutter. Note that SmokeDetector will always report any errors, even if the - is present. The hyphen can be placed after the command itself or after its parameter. The following commands support silent mode: replying to spam reports, managing black- and white-list, and managing chat notifications.

Also, some frequently used commands have one-letter aliases or convenient words that can be used instead:

Command Alias of
f fp-
notspam fp-
k tpu-
spam tpu-
rude tpu-
abuse tpu-
abusive tpu-
offensive tpu-
v tp-
vandalism tp-
n naa-

A note on message deletion

Messages by SmokeDetector can be deleted within 2 minutes after they were posted by using the del, remove, or gone commands. After 2 minutes are up, SmokeDetector cannot delete its own messages in response to those commands, so any deletion after that window must be done by a moderator.

Messages will also be deleted in Tavern on the Meta and SO Close Vote Reviewers, or Raiders of the Lost Downboat if the relevant post is deleted or marked as false positive before the 2-minute window is up.

Please note that the usage of deletion commands is discouraged in Charcoal HQ. Generally, messages in CHQ are kept as a record of all reported posts for multiple reasons:

The delete-force command can be used if a report really needs to be deleted in Charcoal HQ.

Shortcut commands

You can now use a shortcut to post a reply to one, two or three messages at the same time, in this shape:

sd cmd1
sd cmd1 cmd2
sd cmd1 cmd2 cmd3
sd cmd1 cmd2 cmd3 cmd4
sd cmd1 cmd2 cmd3 cmd4 cmd5

cmd1 will be invoked in the most recent message, cmd2 on the message before that and cmd3 on the message before that, and so on.

It’s also possible to skip a message. Replace a command with a - to skip a message. For example, sd - delete skips the most recent message and deletes the message before that one.

Smokey will reply to your shortcut command unless all commands have quiet mode (like tp-) or just don’t reply by default (like delete).

A few examples:

You can also put a digit in front of a command so that the command will apply as many times as the digit. A few examples: