Command Reference
These are the commands available to users in channels the bot is in.
/bridge
Create a bridge between the current channel and the target channel, which will copy messages sent to one channel in the other. Editing or deleting the original message will also edit or delete its bridged versions, and adding reactions to a message will make the bot add that same reaction to its bridged versions. Both you and the bot need to have Manage Webhooks permission in channels that will be receiving messages.
By default bridges are two-way, so that messages sent from one channel are copied to the other and vice-versa. However, you can use the direction parameter to make them only one-way (i.e. only from the current to the target channel or only from the target to the current channel).
You don’t need to create bridges between every channel/thread pair involved, as message bridging goes down outbound bridge chains—that is, if there is an outbound bridge from #A to #B and an outbound bridge from #B to #C, messages sent to #A will be mirrored in both #B and #C. This does not, however, actually create a bridge from #A to #C. If, for example, the bridge from #A to #B is destroyed, messages from #A will no longer be sent to #C.
Note
The bot deals with multiple possible bridge configurations gracefully: having an #A -> #B -> #C sequence and an #A -> #C bridge will not duplicate messages sent from #A in #C, nor will a #A -> #B -> #C -> #A cycle, and the latter will, in practice, be equivalent to all three channels having two-way bridges between each other.
Syntax: /bridge target [direction]
targetThe channel or thread to bridge the current channel or thread to. It can be a mention (
<#channel_or_thread_id>), a link to it (https://discord.com/channels/server_id/channel_or_thread_id), or just its numerical ID.
directionOptionally, a single direction (
outboundorinbound) for the bridge to be created. Not including this parameter will make it be two-way.Both of these do the same thing: if you run the command with parameter
outboundfrom the current channel that is the same as running it with parameterinboundfrom the target channel.
/bridge_thread
By default, if a thread is created in a channel that is bridged to others, the bridges won’t have a matching bridged thread created in them. If you run this command from within a new thread, the bot will attempt to create matching threads in channels bridged to its parent. Once created, they will be automatically bridged to the thread this command was called from.
It will only do so across outbound bridges: if the new thread’s parent has an inbound bridge from channel #A but not an outbound bridge to it, a matching bridged thread will not be created there.
Note
If the new thread’s parent channel is itself bridged to threads, the new thread will not be mirrored across those particular bridges.
Syntax: /bridge_thread
/auto_bridge_threads
If you run this command from within a channel that has at least one outbound bridge coming from it, new threads created in that channel will thenceforth be automatically bridged as if you were running /bridge_thread from all of them. You will need to run this command from each channel you want this to happen to, though; if #A has a two-way bridge to #B and you run this command from #A, threads created in #A will spawn new ones in #B but not vice-versa.
Running this command a second time will disable auto-thread-bridging.
Syntax: /auto_bridge_threads
/demolish
Demolish all bridges (inbound and outbound) between the current or thread and the target channel or thread.
Important
Demolishing a bridge will also break the connections between already-bridged messages, so that new edits, reactions, or deletions will no longer be bridged. This will remain the case even if the bridges are reconstituted later.
Syntax: /demolish target
targetThe channel or thread to demolish bridges to and from. It can be a mention (
<#channel_or_thread_id>), a link to it (https://discord.com/channels/server_id/channel_or_thread_id), or just its numerical ID.
/demolish_all
Demolish all bridges to and from the current channel or thread.
Syntax: /demolish_all [channel_and_threads]
channel_and_threadsOptional. If set to
Trueand the command is run from a channel, bridges to and from all of the channel’s threads will also be demolished; if run from a thread, bridges to and from the thread’s parent and all of the thread’s parent’s other threads will also be demolished.
/whitelist
By default, only messages from users and from the [Tupperbox](https://tupperbox.app/) bot are bridged. If you run this command, you can add one or more bots to the current thread or channel’s whitelist, allowing their messages to also be bridged.
Running this command again removes the bot from the whitelist.
Note
The bot(s) must be in the channel for this to work. Furthermore, this only works for outbound messages; in order to allow a bot through a two-sided bridge you need to run this command from both sides.
Sequential bridges will work, though: if #A -> #B -> #C and a bot is whitelisted in #A, its messages there will be bridged to #B and #C. However, if that bot sends a message in #B and it is not whitelisted there, the message will not be bridged to #C.
Syntax: /whitelist bot [bot_2 [bot_3 ...]]
botA space-separated list of bot mentions (@bot) or bot user IDs to add to or remove from the whitelist. Note that the toggle is individual, so if you run
/whitelist @bot1 @bot2 @bot3and @bot1 was already whitelisted, this will remove @bot1 from the whitelist and add @bot2 and @bot3 to it.
/map_emoji
Create an internal map between an emoji in the emoji server and emoji from other servers, such that whenever the bot bridges one of the external emoji from the list it doesn’t already have access to it will use internal_emoji instead.
Note
Whenever the bot encounters an emoji it doesn’t have access to, it automatically tries to match that emoji to another emoji it does have access to using the MD5 hash of the emoji’s image and, if it can’t, it tries to copy that emoji into its emoji server and use that copy instead. The main purpose of this command is matching emoji that are similar but not identical.
Important
This command can only be run from the bot’s special emoji server and only if you have Create Expressions and Manage Expressions permissions in it.
Syntax: /map_emoji internal_emoji external_emoji [external_emoji_2 ...]
internal_emojiThe emoji in the emoji server that you want to map other emoji to.
external_emojiA space separated list of emoji from other servers you want to match to the internal one.
/hash_server_emoji
Load every emoji in a server (or in all servers the bot is in) into the bot’s “hash map”, which keeps track of the MD5 hashes of the images of all emoji it’s encountered so far.
Note
This happens automatically whenever a bot joins a new server, and the only purpose of running this command is to add new emoji it hasn’t seen before from a server it was already in.
Important
This command can only be run from the bot’s special emoji server and only if you have Create Expressions and Manage Expressions permissions in it.
Syntax: /hash_server_emoji [server_id]
server_idThe numerical ID of a server whose emoji you want to load. Optional, if not included will hash every emoji from every server the bot is in.
/help
Display a list of all commands available to the user if command is not included, or a detailed explanation of an individual command if it is.
Syntax: /help [command]
commandOptional, the name of the command to get help about.
List Reactions
You can right-click a message the bot has access to and go to Apps > List Reactions for the bot to show you a list of all reactions on that message as well as who added each of them, including all reactions across bridges. This will work even for messages that aren’t bridged, though.
Note
Only reactions that the bot can “see” from the current channel—i.e., reactions to the message itself and reactions to bridged versions of the message across inbound bridges—will be listed.