msgmover

Make moving messages between channels/servers easy and integrated, using webhooks. msgcopy: Copy messages from one channel to another. Move whole conversations, or merge channels easily with re-uploaded attachments, bot messages, and usernames/profiles replicated in full. Includes timestamp spacers. msgrelay: Relay messages from one channel to another channel/server. Supports usernames/profile pics, replies, attachments (files/images/video), and embeds (bot command replies). Supports edited/deleted messages. Supports forwarding to multiple webhooks/channels. Updated for Red 3.5

  • relays
  • move
  • messages
  • forwarding
  • link
  • channels
  • server
  • pictures

Install

To get started, first set up your own Red Discord Bot. Then, run these commands:

[p]repo add coffee-cogs https://github.com/coffeebank/coffee-cogs
[p]cog install coffee-cogs msgmover

This cog does not store any End User Data.


The Discord Bot for Moving Messages Between Channels and Servers

Add to your Discord >

Join the Support Discord >

What is msgmover?

Make moving messages between channels/servers easy and integrated, using webhooks.

  • msgcopy: Copy messages from one channel to another. Move whole conversations, or merge channels easily with re-uploaded attachments, bot messages, and usernames/profiles replicated in full. Includes timestamp spacers.

  • msgrelay: Relay messages from one channel to another channel/server. Forward messages between different servers to bridge communities and share content. Supports:

    • Usernames/profile pics, replies, attachments (files/images/video), and embeds (bot command replies)

    • Edited/deleted messages

    • Forwarding to multiple webhooks/channels

How does it work?

Each user's profile picture, nickname/username, and message is copied and pasted into the new channel/server.

Currently supported:

  • Embeds
  • Attachments (Files/images/videos)
  • Replies
  • Message edits
  • Message deletes

Not supported yet:

  • Reactions

Why?

Despite Discord Webhooks growing in features, all relay-like bots seem to have disappeared into the void.

My hope for Msgmover was to:

  • Migrate messages, for merging dead channels and moving conversations to other channels
    • No more mods copy-pasting half the chat into another channel
  • Replicate all messages (including bot replies/embeds) as sent in chats
    • Pretty-print all the messages, including bot replies/embeds, which may be taboo for some, but required as an essential part of this feature
  • Forward all messages (including bot replies/embeds) to multiple channels
    • Discord has finally introduced announcement channels, but they still don't work for bot messages yet (ie. an RSS feed from a bot + a chat room shared between multiple servers)

This bot was partly inspired by an old 'Relays' cog from the Red DiscordBot community. However, this code has no affiliation with, no codebase relations to, and integrates in a completely different way from, any previous relay code I know of.

Freedom of moved messages

Some may have concerns with losing the right to edit/delete your messages if your message has been moved using this bot.

What Msgmover cannot guarantee is that server owners/admins use this bot responsibly:

  • If anyone wanted to move a conversation, the common solution is already to (a) copy-paste half the chat and paste it elsewhere, or (b) screenshot the chat -- Msgmover only makes the chat look nicer.
  • The concept of asking for server owners/admins to optionally delete messages is also standard (ie. when there is a server raid), and can be extended by asking them to delete moved messages.
  • Server owners/admins who do not respect user freedoms already use moderation bots that log edited/deleted messages, stored in Discord forever without your ability to know about it or delete it.

What Msgmover can guarantee is that when messages are moved:

  • All messages are replicated with user profiles for content credits, using server nicknames by default (instead of leaking the username#1234), or optionally masked under the webhook name altogether in Msgrelays
  • Edited/deleted message support was built such that the bot does not need to log message/webhook IDs after a message is "done"
  • Only webhook links and their configs, as set by server owners, are stored per guild/server. Msgmover does not log anything else -- no message IDs, no user IDs, nothing.

Of course, the discussion on moved messages is irrelevant in the first place if you are using Msgmover in a small server where everyone has admin/message delete permissions (ie. with friends).

This was the initial motive for this bot: when everyone consents and you are cleaning up channels, but copy-pasting won't move bot messages or images, and screenshots would take too long.

Bot Commands

Type [p]help Msgmover to see everything msgmover can do.

Move messages around, cross-channels, cross-server!

Msgmover comes with two key features, both of which use webhooks to move messages from one place to another with a close-to-native feel:

[p]msgcopy - Copies a set # of messages from one channel to another (single-use)

  • Requires users with Manage Messages permissions

[p]msgrelay - Forward new messages to other channels/servers (continuous)

  • Requires server admins with Administrator permissions

FAQ

The bot is returning an error in sending messages

2022-10-10
Bad Request (error code: 50035): Invalid Form Body
In username: Username cannot be "឵                     ឵"

An error for an empty username for the timestamp has been fixed in two updates, released 10 October 2022. Please run [p]cog update msgmover to update.

Legacy relays are no longer supported

2921-06-30

Msgrelay has been upgraded to support more than one per channel, and guild-based (instead of bot owners only).

Legacy relays are no longer supported. You can export your legacy relays using [p]msgrelay v1 and migrate manually.

v2 Alpha relays will be migrated automatically, when possible. Please confirm your setup and migrate.

2025-03-09

Legacy relays are no longer supported. All user commands have been removed.

v2 Alpha relays will be migrated automatically, when possible. All user commands have been removed.

If you are experiencing errors, please delete the Red cog data folder for msgmover, and re-create your relays.