Forward LogoForwardMsg

Create a Discord Bot

Create and connect a Discord bot, let ForwardMsg configure it, and choose where it will send or read messages.

To copy messages from Discord, you can use your own account. You do not need to invite a bot to the original server. You do not need to own that server. You do not need to be an administrator. Your account only needs access to the channels you want to copy. Start with Connect a Discord Account if that is what you need.

A Discord bot can deliver copied text and supported mediaβ€”such as images, videos, and filesβ€”to your Discord server. Discord embeds can also be forwarded from Discord sources. Choose the message types in Forward Options; the destination server's upload limit still applies. A bot can also read original messages if you choose to use it instead of your account.

  • Using your account to read and a bot to deliver? Invite the bot only to the server receiving the copies.
  • Using the bot to read too? Invite it to the original server as well, and give it access to the channels you want to copy.

You do not need to write code. You do not need to host the bot. ForwardMsg runs it for you.

Create the bot in Discord

  1. Open the Discord Developer Portal.
  2. Select New Application.
  3. Enter a name you will recognize, such as Community Forwarder.
  4. Select Create.
  5. Open Bot in the application's left-hand menu.

Discord calls the bot's settings an application. The Bot page is where you manage its name, picture, and login token.

Copy the bot token

A bot token is a password for the bot. It is different from your personal Discord account token.

  1. On the Bot page, find Token.
  2. Select Reset Token to generate a token you can copy.
  3. Complete Discord's confirmation.
  4. Copy the token and keep it private.

Shortcut: let ForwardMsg configure the bot

You can skip the manual settings below: paste the token into Add Discord Bot, select Add, then finish the Continue β†’ invitation β†’ Done steps. ForwardMsg automatically configures the bot's supported intents and default server-install settings. You can invite it straight from that dialog. Follow Connect it for sending messages, or Connect it for reading messages if you want the bot to read too. Refresh the Developer Portal afterward to see the settings. The bot still needs access to the receiving channels.

Resetting or revoking the token disconnects the old connection

If you reset a token already saved in ForwardMsg, the old connection can no longer log in. Use Add Discord Bot again with the new token. Select the new connection under Source if it reads messages, and replace the old bot in every affected Routing destination if it sends copies. Save your changes and restart the affected automations. Editing the old connection's name does not update its token.

The next two sections show where to review or change the settings yourself, before inviting the bot.

Allow it to read message text

Discord calls these switches intents. For ForwardMsg, turn on both intents below. This is the recommended setup whether your bot only sends copies, reads messages, or does both. Intents are separate from the permissions that let it see or post in a channel.

  1. Open Bot in the Developer Portal.
  2. Find Privileged Gateway Intents.
  3. Turn on Server Members Intent and Message Content Intent.
  4. Save the changes if Discord shows a save button.
IntentWhat it doesWhat to choose
Message Content IntentLets the bot receive message text and content.Turn it on for the ForwardMsg setup, whether the bot reads messages, sends copies, or does both.
Server Members IntentLets the bot receive information about server members.Turn it on for the ForwardMsg setup, whether the bot reads messages, sends copies, or does both.

Choose the permissions it needs

These are the default permissions requested when you invite the bot. Configure or review them before using its invitation link:

  1. Open Installation in the Developer Portal.
  2. Under Installation Contexts, enable Guild Install. Guild is Discord's word for a server.
  3. Under Default Install Settings, find the Guild Install settings.
  4. Include the bot scope, which lets you add the bot to a server. ForwardMsg forwarding does not use slash commands; you do not need to set up commands.
  5. Review the permissions below. ForwardMsg's standard invitation requests this full set.
  6. Save if the portal asks you to do so.

Permissions included in the standard invite

Keep the default permissions selected so the bot is ready for the forwarding features you choose. Some permissions below are only needed for optional features; you can leave them selected without turning those features on.

PermissionWhat it lets the bot do
View Channels / View ChannelSee the channels it will read or post in.
Send MessagesPost copied text in the receiving channel.
Read Message HistoryRetrieve earlier messages, including messages used as reply context.
Attach FilesUpload images, videos, and other files.
Embed LinksSend embed cards and link previews.
Manage MessagesDelete other users' messages; included in the standard message-management permissions.
Pin MessagesPin and unpin messages when those mirror actions are enabled.

Optional behavior permissions

These permissions are also included in the standard invitation. They are only needed if you use the related feature:

PermissionWhat it lets the bot do
Manage WebhooksCreate and manage channel webhooks when Enable webhooks uses original author names and avatars.
Send Messages in ThreadsDeliver copies inside a thread it can access.
Add ReactionsAdd reactions when reaction mirroring is enabled.
Mention EveryoneSend mentions such as @everyone and @here when your message format uses them.
Use External EmojisUse custom emojis from other servers.
Use External StickersUse stickers from other servers.
Send Voice MessagesSend Discord voice messages.
Bypass SlowmodePost without the channel's slowmode wait.

You do not need to grant Administrator to the bot. After installation, review its actual server and channel permissions. Discord's permission reference explains these controls.

If the bot is already in the server, changing defaults in the portal does not update its existing server access. In Discord, open Server Settings β†’ Roles, select the bot's role, and review Permissions. For one channel, open Edit Channel β†’ Permissions and check the bot's role or its individual entry. Category and channel rules can deny access even when its server role allows it.

Install the bot in a server

For delivery, add the bot to the server where you want the copies to arrive. If your account reads the original messages, the bot does not need to join the original server. Add it there only if you want the bot itself to read those channels.

During Add Discord Bot in ForwardMsg, use Add to Destination Server to open the invitation. Choose the receiving serverβ€”or the original server if you are setting up the bot to read. Authorize it in Discord, return to ForwardMsg, and select Done. If it is already in the correct server, you can select Done without inviting it again.

You can also invite it from the Developer Portal:

  1. Open Installation in the Developer Portal.
  2. Under Install Link, choose Discord Provided Link.
  3. Copy the link and open it in your browser while signed in to Discord.
  4. Choose Add to server and select the intended server.
  5. Select Authorize and complete Discord's confirmation.
  6. Confirm the bot appears in that server's member list.

You can invite it if you own the server, are an administrator, or have Manage Server permission. Otherwise, ask a server administrator to invite it for you. You do not need this permission in the original server when your own account copies messages.

Discord's installation guide shows the portal controls if their layout changes.

Connect it for reading messages

Where to find it
Open your automation β†’ Automation Settings β†’ Source β†’ Discord Bot β†’ Add Discord Bot
  1. Open an automation that uses Discord Bot to read messages, then select Add Discord Bot in Source.
  2. Paste the bot token and select Add.
  3. Keep or change its name in ForwardMsg, then select Continue.
  4. Use Add to Destination Server to invite it to the server whose messages it will read, if it has not joined yet. Authorize it in Discord.
  5. Return to ForwardMsg and select Done.
  6. Confirm the bot is selected under Source.
  7. Select Update Settings.
  8. Select Start and wait for Running.
  9. Add the servers and channels it should read.

Source is where original messages come from. Choose only the channels you want to monitor.

Connect it for sending messages

Where to find it
Automation editor β†’ click the source chat you monitor in the left-hand list to open its settings β†’ Routing β†’ Add Destination β†’ Discord Bot

If the bot is already saved, select it without pasting its token again and continue to choosing the receiving channel.

  1. Click the source chat/channel in the editor's left-hand list to open its settings.
  2. Open Routing.
  3. Select Add Destination.
  4. Choose Add Discord Bot if it has not been saved yet.
  5. Paste its token and select Add.
  6. Keep or change its name in ForwardMsg, then select Continue.
  7. Use Add to Destination Server to invite it to the receiving server if needed. Authorize it in Discord.
  8. Return to ForwardMsg and select Done.
  9. Choose that bot and the channel receiving copies.
  10. Complete the destination dialog.
  11. Select Save Changes.

Destination is where copies arrive. One bot can deliver to several channels if it has access to each.

Reuse the same bot across your forwarding routes. Select the saved bot in other Routing destinations or automations; you do not need to create a new bot for every chat or route. Invite it to each receiving server and give it access to the relevant channels.

Send a new text message through your automation to check the result. If one channel fails, check that bot's permissions in that exact channel.

Check ForwardMsg's automatic configuration

After you save the token through Add Discord Bot, ForwardMsg configures the bot's supported intents, Guild Install, and default install settings so it can be used to read and deliver messages.

  1. Return to the Developer Portal and reload the page.
  2. Open Bot β†’ Privileged Gateway Intents to review Message Content and Server Members.
  3. Open Installation to review Guild Install and its default permissions.
  4. Invite the bot if you have not done so yet, then select the receiving channel in ForwardMsg.

You can use this shortcut without changing each portal field manually. If a setting has not updated, use the manual steps above.

Portal defaults and server access are separate

Automatic configuration prepares the bot's application settings. It does not invite the bot to a server, assign a verification role, or override a channel's restrictions. The bot still needs access in the actual server where it will read or send messages.

The bot connects but cannot send messages

Being connected means ForwardMsg can log in as the bot. It does not mean every receiving channel has allowed the bot to post.

  • Check the server and channel. The bot must be in the receiving server and have View Channel and Send Messages in that exact channel. Threads also need Send Messages in Threads.
  • Check verification or gatekeeper bots. Some servers hide channels until a member has a role such as Verified or Member. A newly invited bot may not receive that role automatically. Ask the administrator to assign the appropriate role to your bot or explicitly allow it in the receiving channel. For example, if only Verified members can post in #news, your bot needs that access too.
  • Check the content type. Allow Attach Files for uploads and Embed Links for embeds. With Enable webhooks, also allow Manage Webhooks.
  • Check the token. If you reset or revoked it, add the bot again with the new token and replace the old saved connection wherever it is used.

After fixing access, select Save Changes in Routing, restart the automation if needed, and send a new message from a source chat to confirm it reaches the destination. You can use private test chats.

See Delivery and Permissions for more checks.

Author names, replies, and pins

A normal bot message uses the bot's own name and profile picture. For example, a copied message from Maya appears as a post by Community Forwarder, your bot. Message Format can still include Maya's name in the message text.

If you want the Discord post itself to display Maya's name and avatar, use webhook delivery. Each copied message can use its original author's identity, instead of the same bot profile for every post.

You can let your connected bot handle this automatically:

  1. Give it Manage Webhooks permission in the receiving channel.
  2. In ForwardMsg, click the source chat in the left-hand list to open its settings, or click Global Settings to apply the option wherever it is inherited.
  3. Open Advanced β†’ Send using Author name and avatar photo.
  4. Turn on Enable webhooks.
  5. Select Save Changes, then send a new message through your automation to see its name and picture in Discord.

The bot now creates/manages webhooks for delivery. You do not need to create one manually for each receiving channel when using this option.

Delivery choiceName and picture on the Discord postNative replies and pin/unpin mirroring
Discord bot, Enable webhooks offThe bot's own profileAvailable with the relevant permissions and mirror settings.
Webhook, Enable webhooks onThe original author's name and avatarNot available: Discord webhooks cannot create native replies or pin/unpin messages.

Keep Enable webhooks off when you need those reply or pin actions. See Mirror Actions and Advanced Settings.

Keep the token private

Treat the bot token like a password

Never send it in chat, email, a ticket, screenshots, or shared code. If exposed, reset it in Discord and add the bot again with the new token in ForwardMsg. Replace the old connection wherever it is used, save, and restart the affected automations.

Was this page helpful?