(A) Requires elevated (admin) privileges. (S) In snappy mode, prompt is removed for this command. This is configurable behavior per-server.

Table of Contents

  1. Set Preference (!preference):
  2. Help (!help):
  3. Issue (!issue):
  4. Status (!status):
  5. ROT-13 (!rot13):
  6. Spoiler (!spoiler):
  7. Scramble (!scramble):
  8. (S) Zalgo (!zalgo):
  9. (S) Blockquote (!blockquote):
  10. (S) X-React (!xreact):
  11. Table it:
  12. Assemble (!assemble):
  13. Pledge (!pledge):
  14. Defect (!defect):
  15. Banners (!banners):
  16. Teleport (!teleport):
  17. Message ID (!message):
  18. Preview (!preview):
  19. Bookmark (!bookmark):
  20. Paste (!paste):
  21. Math (!math or !latex):
  22. Moderator Report (!modreport):
  23. Part (!part):
  24. Snooze (!snooze):
  25. UwU (!uwu):
  26. Pick (!pick):
  27. Roll (!roll):
  28. Shindan (!shindan):
  29. SCP (!scp):
  30. Retrowave (!retrowave):
  31. Twilestia (!twilestia):
  32. Danbooru (!dan):
  33. GitHub Report (!ghreport):
  34. GitHub Search (!ghsearch):
  35. Kick (!kick):
  36. Mobilespoil (!mobilespoil):
  37. OCR (!ocr):
  38. Reminders (!remindme):
  39. MD5 (!md5):
  40. Smallcaps (!smallcaps):
  41. Smoltext (!smoltext):
  42. Bigemoji (!bigemoji):
  43. Avatar (!pfp or !avatar):
  44. Role color (!rolecolor or !rolecolour):
  45. Notification of message reacts:
  46. Markdown of a message:
  47. Archive links:
  48. List users (!names):
  49. Next new moon (!nextnewmoon):
  50. Next full moon (!nextfullmoon):
  51. On this day (!onthisday):
  52. Inspire (!inspire):
  53. My color (!mycolor or !mycolour):
  54. Color (!color @user)
  55. XKCD (!xkcd):
  56. Delete a Fletcher post:
  57. Animal image commands (!fox, !dog, !pupper or !possum):
  58. Bubblewrap (!bubblewrap):
  59. Copy emoji (!copy_emoji or !esteal):
  60. Fling (!fling)
  61. Current time (!now or !time):
  62. Pin messages:
  63. Translate (!translate):
  64. Thingiverse (!thing):
  65. Image stylize (!stylish):
  66. Rank (!rank):
  67. Lesbaru (!lesbaru):
  68. Help (!help or !man):
  69. Privacy (!privacy):
  70. Preferences (!preference):
  71. LIFX (!lifx):
  72. Ace Attorney (!ace):
  73. Channel log (!chanlog):
  74. Memo (!memo):
  75. Clickbait (!clickbait):
  76. Glowfic site status (!glowup):
  77. Glowfic notifications (!glownotify):
  78. Wikipedia (!wiki):
  79. Channel topic (!topic):
  80. Add role (!roleadd or !addrole):
  81. Delete role (!roledel or !delrole):
  82. Mod ping (!modping):
  83. Last active channel (!lastactive_channel or !lastactivity_channel):
  84. Last active user (!lastactive_user or !lastactivity_user):
  85. Slow mode (!cooldown or !slowmode):
  86. Bridge channels (!bridge server_name:channel_name):
  87. Copy permissions (!copy_permissions_from):
  88. Open role (!openrole):
  89. Invite (!invite):
  90. Delete invites (!delete_all_invites):
  91. Lockout (!lockout):
  92. Voice opt-out (!voiceoptout):
  93. Channel invite request (!requestinvitechannel):
  94. Role assignment (!revoke or !assign):
  95. Open channel (!openchannel):
  96. Trello (!trello):
  97. Amulet (!amulet or !amulet_filter):
  98. Kaomoji (!kao sadness/joy/love/indifference):
#Set Preference (!preference):

Output full config


list specific info for 1 command

#Flag verbose

list arguments for commands

#Help (!help):

list all available commands


list specific info for 1 command

#Flag verbose

list arguments for commands

#Issue (!issue):
#1-args (#)

show info about an issue in the Fletcher issue tracker (http://fletcher.fun/todo)

#Status (!status):

print last commit message for current deployed version

#ROT-13 (!rot13):

delete message and replace with ROT-13 flip. Classic spoiler command, especially to preserve spoilers on copy. Prepopulates with :clock1330: reaction.

#๐Ÿ•œ (:clock1330:, first suggestion when you type 13)

DMs user with ROT-13 of target message. Does not support embeds.

#Spoiler (!spoiler):

delete message and replace with modified memfrob flip. Newer spoiler command, usable similar to Rot-13, but with improved number and Unicode obfuscation. Prepopulates with :seenoevil: reaction.

#๐Ÿ™ˆ (:seenoevil:)

DM user with modified memfrob flip of target message. Does not support embeds.

#Scramble (!scramble):

this command requires a picture uploaded by user beforehand, scrambles image reversibly. Does not support GIFs or large images. Prepopulates with :mag_right:.

#๐Ÿ”Ž (:mag_right:)

DM user with unscrambled image.

#(S) Zalgo (!zalgo):

print text with lots of diacritics added. Inspired by eemo.net.

#(S) Blockquote (!blockquote):

"blockquote" the last message sent by calling user in the channel. Does not include images. Ex:

[11:44] #general <Cain> And you can quote me on that
[11:45] #general <Cain> !blockquote
[11:46] #general <Fletcher>
| And you can quote me on that
| (S) Cain
#1-args (explicit body text)

similar to the last, but the quoted text is specified in the same message. If multi-line, note that the text on the first line becomes the title of the embed.

take message body from link ( you can get a message link with the :link: reaction or the :bookmark: reaction)

#1 or 2-args (history)

you can create an embed longer than 2000 characters by sending multiple messages before a blockquote for up to 6000 characters. Ex:

[11:44] #general <Cain> Point A: Alpha
[11:45] #general <Cain> Point B: Beta
[11:46] #general <Cain> !blockquote <<2 optionalTitle
[11:47] #general <Fletcher>
| optionalTitle
| Point A: Alpha
| Point B: Beta
| (S) Cain
#(S) X-React (!xreact):
#1 or 2-args (name, number)

Add a reaction to the last non-self post with the name specified. Works with animated and external emoji. User can then add that reaction, regardless of whether they have Nitro. If more than one react exists with the name specified, the numbers specified as the second argument is added.

#Table it:
#๐Ÿ“ (:ping_pong:, first suggestion for table)

DMs user after 24 hours to ask them to pick up a conversation again. Messages immediately with the content of the target message to save it for later.

#Assemble (!assemble):
#3-args (short name, users required, long name)

Creates a banner for triggering collective action when support reaches critical mass. The short name must be one word, no spaces. Usable via !assemble or !canvas. Ex

[11:44] #general <Cain> !canvas sierra 5 Sierra Roadtrip!
[11:45] #general <Fletcher> Banner created! '!pledge sierra' to commit to this pledge.
#Pledge (!pledge):
#1-args (short name)

pledge support for a banner when it hits critical mass. Ex:

[12:15] #general <Abel> !pledge sierra
[12:16] #general <Fletcher> You pledged your support for banner sierra (one of 4 supporters). It needs 1 more supporter to reach its goal.
[12:17] #general <Baker> !pledge sierra
[12:18] #general <Fletcher> Critical mass reached for banner sierra! Paging supporters: @Cain, @David, @Ellie, @Abel, @Baker. Now it's up to you to fulfill your goal :)
#Defect (!defect):
#1-args (short name)

the reverse of pledge. Once critical mass is reached, the command is disabled, though. This command might be useful in DMs.

#Banners (!banners):

lists currently active banners. Note that banners are global, not server-specific. Ex:

[11:00] #general <Cain> !banners
[11:01] #general <Fletcher> Banner List:
EA READING GROUP for reading if goal of 5 members is reached
1 supporter ยท goal is 5
MADE: 2018-12-06 01:12 (1 week ago)
DC Dinner 119 Dinner party in January? Tentatively hosted in Rockville
5 supporters ยท goal is 4
MADE: 2018-12-12 15:28 (yesterday)
MET: 2018-12-12 15:32 (yesterday)
#Teleport (!teleport):
#1 or 2-args (target, description)

messages the current channel, then the target channel, then edits both messages with direct jump links to each other channel at that point in history. This helps when scrolling back in history when a conversation moves or splits among channels. Target is either a channel name or a server name: channel name pair โ€“ for example, to teleport from server Aleph, channel general to server Gamma, channel particular, the command should be !teleport Gamma:particular sent in Aleph #general.

#Message ID (!message):
#1-args (ID)

converts a message ID to a full link. Useful if you "Copy ID" for a message and want to provide a link to that message in conversation. The message must be on the server this command is called on.

#Preview (!preview):

copies the content of a specified message (selected by ID or link) and reproduces it with attribution. If link expansion is enabled on a server, then this happens automatically for links. Note that copying a message with images, originally (posted in a channel marked as (18)~~, causes the images to be linked rather than embedded inline if the target is not marked ~~(18)).

#Bookmark (!bookmark):
#๐Ÿ”– (:bookmark:)

DMs the user a link to the current place in conversation, along with a message preview.

same as ๐Ÿ”– without message preview. Useful for getting a message link for copy on mobile.

#Paste (!paste):

sends a message to the channel with the last message DMed by Fletcher to the calling user. This is often used in conjunction with ๐Ÿ”— (:link:) to paste the last copied link.

#Math (!math or !latex):
#1-args (mathexpression)

render math in LaTeX format. mathexpression is wrapped in $$.

#Moderator Report (!modreport):
#0 or 1-args (message to mods)

message mod(s) on duty. See admin documentation for details on configuring who this message is sent to.

#๐Ÿ‘ ๐Ÿ—จ (:eye_in_speech_bubble:)

same as above but auto-removed to make semi-anonymous, even if Fletcher is not configured snappy.

#Part (!part):
#1-args (target channel)

causes user to be permanently removed from a channel.

#Snooze (!snooze):
#0,1,2-args (target, hours)

causes user to be removed for 24 hours or specified length of time for target channel.

#UwU (!uwu):

vanity command to uwu at the bot. Works via DM and reaction as well.

#Pick (!pick):
#1-args (choices)

pick one of the comma-separated choices

#2-args (# of choices)

pick ## of the comma-separated choices Ex:

[11:45] #general <Cain> !pick 2 of apple banana, cherry, durian
[11:46] #general <Fletcher> I'd say banana, cherry.
#Roll (!roll):
##d sides

roll some dice and show statistics with results.

#Shindan (!shindan):

display information about a Shindan quiz. prepopulates a ๐Ÿ“› reaction.

#๐Ÿ“› (:name_badge:)

run Shindan with your username.

#SCP (!scp):

display information about an SCP.

#Retrowave (!retrowave):
#line1 / line2 / line3

create a retroimage with three lines as specified. To center, surround with / /. Note that slashes should have spaces around them, or they may be ignored.

#Twilestia (!twilestia):

prints a random Celestiaร—Twilight Sparkle image

#Danbooru (!dan):
#1+-args (tag tag ...)

prints a random image from Danbooru with the given tag(s). If channel is a DM or a SFW channel, an implicit rating:safe is added to the search.

#GitHub Report (!ghreport):


!ghreport Title of issue
Body Text

Report an issue to the repository associated with this server.

#GitHub Search (!ghsearch):
#1-args (query)

search associated chat repository for issues with specified query.

#Kick (!kick):
#1-args (reason for kick)

Kicks user from server, and DMs them a reason. Does not delete any of the user's messages.

#Mobilespoil (!mobilespoil):

Spoilers images while on mobile. Preface message with image with !mobilespoil.

#๐Ÿ“ณ (:vibration_mode:)

Spoilers an image sent when used as a reaction.

#OCR (!ocr):

Pastes the text in an image using optical character recognition.

#๐Ÿ” (`:lock_with_ink_pen:)

DMs user the OCR of an image.

#Reminders (!remindme):

Sets a reminder for a specified time.


[12:08] #general <Cain> !remindme in 3 days 2 hours 5 minutes check messages
[12:08] #general <Fletcher> Setting a reminder at NOW() + '3 days 2 hours 5 minutes'::interval
| check messages
#MD5 (!md5):

Provides an MD5 (https://en.wikipedia.org/wiki/MD5) hash of the message content.

#Smallcaps (!smallcaps):

Provides a smallcaps version of the message content.

#Smoltext (!smoltext):

Provides a smoltext (superscript) version of the message content.

#Bigemoji (!bigemoji):

Sends a larger version of an emoji.

#Avatar (!pfp or !avatar):

Sends the profile picture of a mentioned user, or if no user is mentioned, sends the profile picture of the sender.

#Role color (!rolecolor or !rolecolour):

Recolors a role if the user has the permissions to do so, with the format !rolecolor role_name hexcode.

#Notification of message reacts:
#๐Ÿ“ก (:satellite:)

When used to react to a message, notifies the user whenever a new react is added to the message.

#Markdown of a message:
##๏ธโƒฃ (:hash:)

DMs user the markdown of a message.

#๐Ÿ“ (:file_folder:)

Archives links in a message.

#List users (!names):

Lists the display names of all users currently in a channnel (and on the other side of a bridge, if the channel is bridged).

#Next new moon (!nextnewmoon):

Displays the date of the next new moon.

#Next full moon (!nextfullmoon):

Displays the date of the next full moon.

#On this day (!onthisday):

Provides significant events that happened on the current date in history.

#Inspire (!inspire):

Sends an AI-generated inspirational image from https://inspirobot.me.

#My color (!mycolor or !mycolour):

Tells you your current role color.

#Color (!color @user)

Tells you a mentioned user's role color.

#XKCD (!xkcd):

Sends the daily XKCD comic.

#Delete a Fletcher post:
#โŒ (:x: or :deletethispost:)

Some Fletcher messages (e.g. linked message previews) can be deleted using this react.

#Animal image commands (!fox, !dog, !pupper or !possum):

Sends a random image of the animal in the command.

#Bubblewrap (!bubblewrap):

Sends digital "bubblewrap".

#Copy emoji (!copy_emoji or !esteal):

Lets you take an emoji from another fletcher-enabled server.

#Fling (!fling)

Sends (๏พ‰โ—•ใƒฎโ—•)๏พ‰*:๏ฝฅ๏พŸโœง plus whatever text the user puts after.

#Current time (!now or !time):

Tells you the current time. Defaults to America/New_York if the user hasn't set a timezone.

#Pin messages:
#๐Ÿ“ (:round_pushpin:)

Pins a message if the user has the right permissions.

#Translate (!translate):

Translates from one language to another.


[10:42] <Cain> !translate en fr hello
[10:42] <Fletcher> Translating...
[10:43] <Fletcher> Bonjour
#Thingiverse (!thing):

Sends a Thingiverse page (desired search term needs to be followed with query).

#Image stylize (!stylish):

Stylizes an image sent with the command with the style wave, mosaic, candy, or pencil.

#Rank (!rank):

Displays the user's or a mentioned user's rank and corresponding element and wikidata object.

#Lesbaru (!lesbaru):

Sends a lesbian subaru forester ad.

#Help (!help or !man):

Sends a command list and descriptions.

#Privacy (!privacy):

Provides information about Fletcher's privacy policy.

#Preferences (!preference):

Allows you to set a number of preferences.

#LIFX (!lifx):

Lets users change the colors of each other's LIFX bulbs.

#Ace Attorney (!ace):

Makes messages into an ace-attorney style courtroom scene given a message ID for starting point.

#Channel log (!chanlog):

Takes a log of the channel a user does it in if they have admin permissions.

#Memo (!memo):

Stores a memo under the name the user sets it as.


[10:27] <Cain> !memo work submit work on May 25th
[10:27] <Fletcher> submit work on May 25th
[12:15] <Cain> !memo work
[12:15] <Fletcher> submit work on May 25th
#Clickbait (!clickbait):

Sends an AI-generated clickbait title.

#Glowfic site status (!glowup):

Tells the user whether the Glowfic site is up.

#Glowfic notifications (!glownotify):

Lets the user receive notifications for updates to Glowfic threads.

#Wikipedia (!wiki):

Searches Wikipedia for whatever text the user includes with the command.

#Channel topic (!topic):

Tells the user the topic of the channel they're currently in.

#Add role (!roleadd or !addrole):

Adds a role to the server if the user has the correct permissions.

#Delete role (!roledel or !delrole):

Deletes a role from the server if the user has the correct permissions.

#Mod ping (!modping):

Pings a role as a mod.

#Last active channel (!lastactive_channel or !lastactivity_channel):

Displays the last active channel in a server.

#Last active user (!lastactive_user or !lastactivity_user):

Displays the last active user.

#Slow mode (!cooldown or !slowmode):

Sets a cooldown time for the channel if the user has the correct permissions.

#Bridge channels (!bridge server_name:channel_name):

Bridges channels between servers.

#Copy permissions (!copy_permissions_from):

Copies permissions from another channel.

#Open role (!openrole):

Assigns a role to every user who reacts.

#Invite (!invite):

Sends a channel invite to a specified user.

#Delete invites (!delete_all_invites):

Deletes all active invites for a server.

#Lockout (!lockout):

Lockout or reset a user's permissions.

#Voice opt-out (!voiceoptout):

Leaves all voice channels for a server.

#Channel invite request (!requestinvitechannel):

Makes the reacts to a channel invite message send an invitation request to the user, who can approve or disapprove them.

#Role assignment (!revoke or !assign):

Revokes or assigns a role for a mentioned user.

#Open channel (!openchannel):

Automatically adds anyone who reacts to the channel invite message.

#Trello (!trello):

Allows user to utilize some Trello functionalities, !login trello to access.

#Amulet (!amulet or !amulet_filter):

Checks if a poem is an amulet (https://text.bargains/amulet/).

#Kaomoji (!kao sadness/joy/love/indifference):

Sends a random kaomoji within the specified category along with the text the user includes after it.

About this wiki

commit 52bc45382b421b7da7e9c32ee5ab6209f367199e
Author: Novalinium <nova@noblejury.com>
Date:   2021-05-13T17:19:03-04:00

Command documentation update
Clone this wiki
https://git.sr.ht/~nova/fletcher (read-only)
git@git.sr.ht:~nova/fletcher (read/write)