Cannot Send Messages to This User on Discord: Why a Bot's DM Fails
Cannot send messages to this user means Discord refused a direct message. The three causes, how a member fixes it, and what a ticket bot does instead.
Dani, Founder, AI Ticket Bot
6 min read
Bots show this in different words. Some say "Cannot send messages to this user due to having no mutual guilds", and developers know it as error 50007. On a server with tickets it usually surfaces as a simpler complaint: "I never got the message when my ticket closed."
What does the error mean?
Discord decided the receiver does not accept direct messages from this sender. Nothing was delivered and nothing is waiting.
| Cause | Why Discord refuses | Who can change it |
|---|---|---|
| No shared server | A bot can only message someone it shares a server with | The member, by joining again |
| Direct messages turned off | The member does not accept messages from that server's members | The member |
| The sender is blocked | The member blocked the bot or the person | The member |
"Guild" is Discord's own word for a server, so "no mutual guilds" is the first row: the member left, or was removed, and the bot has no server in common with them any more.
The second row is by far the most common. Discord lets every member decide, server by server, whether people and bots from that server may message them. Many switch it off to stop spam, and it stops the ticket bot as well.
How does a member fix it?
Allow direct messages from that server, and unblock the bot if you blocked it. It takes a few seconds.
Open the server's menu
On desktop, click the server name at the top left. On a phone, tap the server name
Open Privacy Settings
It is in that menu
Turn on Direct Messages
The option that allows messages from this server's members
Check your block list
User Settings, then the blocked list. Remove the bot if it is there
Ask for the message again
The bot does not send a missed message a second time by itself
There is also an account-wide default in User Settings under privacy, which decides what new servers start with. Changing it does not change servers you already joined, so the per-server switch is the one that matters.
If you would rather keep direct messages off, that is a fair choice. You do not lose your ticket. The next section covers how to get what the message would have contained.
Why can an admin not fix it?
Because it is the member's own privacy choice, and no role or permission is above it. Giving the bot Administrator changes nothing. Moving its role higher changes nothing.
That makes this different from almost every other bot problem. A bot that cannot create a ticket is missing a permission an admin can grant. A bot that cannot message a member has every permission it needs and is being told no by that member.
What an admin controls is how much depends on a direct message arriving. Ticket bot permissions covers the problems an admin can fix.
What does a ticket bot do when the DM fails?
It depends on the message. Here is each direct message AI Ticket Bot sends a member, and what happens when Discord refuses it.
When the direct message fails, on AI Ticket Bot
- Ticket closed, with the transcript link
- Not sent again. The transcript is saved, and /mytickets shows it
- Reminder that a ticket is waiting on you
- The bot posts in the ticket and mentions you there
- "Can we close your ticket?"
- The same question is already in the ticket with Yes and No buttons
- A staff ping to bring you back
- The staff member is told the message did not reach you
- A ticket was opened for you
- The welcome message in the ticket mentions you
- You were added to a ticket
- The ticket itself announces it and mentions you
In most rows the direct message is a copy of something that also happens inside the server. The close message is the exception, because the channel is gone when a ticket closes. Two things replace it.
/mytickets lists the tickets you opened and has a Read transcript button on each closed one. It works in the server and in a direct message that you start with the bot.
The star rating is the one thing with no second route. It is offered in the close message only, so a member who does not get that message cannot rate the ticket.
The bot does one thing before it sends: for a member who has left the server it skips the close message entirely. Leaving is treated as not wanting to hear from that server again. Ticket bot DMs covers every message and who receives it.
How do you run a server where DMs often fail?
Assume a share of your members will never receive one, and put nothing important only in a direct message.
- Say the answer in the ticket before you close it, not in a private message afterwards
- Mention
/myticketson the panel or in the welcome message, so members know where transcripts live - Add one line telling members to allow direct messages if they want the transcript link
- Keep a log channel, so staff have every transcript whether or not the member got theirs
- Use thread tickets if staff need the closed conversation to stay in Discord
Staff should also not read a silent member as a rude one. A member who never answered a reminder may never have seen it. On AI Ticket Bot the ticket shows which happened: a small note says whether the member was reminded by direct message or, when that failed, in the ticket itself.
For members who prefer direct messages to channels altogether, tickets and modmail work differently. Ticket bot or modmail compares them. Modmail depends on direct messages working, which is exactly what this error is about.
What nobody can do about it
The honest list, for AI Ticket Bot.
Good fit
- Transcripts are saved whether or not the message arrives
- Members can read their own transcripts with
/mytickets - A failed reminder becomes a mention in the ticket
- Staff who ping a member are told when it did not get through
Not the right call
- A failed close message is not recorded anywhere staff can see
- No message is ever sent a second time
- The bot cannot tell a block from direct messages being off
- The rating can only be given from the close message
- No setting lets a server override a member's privacy choice
The first limit is the one to know. When a member says they got nothing, the bot has no record to check, and the likely cause is the privacy switch above. Any Discord ticket bot is in the same position, because the rule is Discord's.
Sources and further reading
Keep reading
Frequently asked questions
It means Discord refused a direct message before it was delivered. There are three causes: the two accounts share no server, the person receiving it has turned off direct messages from server members, or they have blocked the sender. Discord gives the same refusal for all three, so the sender cannot tell which one it is.
If you are the one who should receive the message: open the server's menu, go to Privacy Settings and allow direct messages from that server's members, and unblock the bot if you blocked it. If you are the sender, you cannot fix it from your side. Reach the person in a server channel and ask them to change the setting.
Guild is Discord's own word for a server. No mutual guilds means the sender and the receiver are not in any server together. Discord only lets a bot message someone it shares a server with, so a member who left the server usually cannot be messaged by that server's bot.
Because your direct messages are closed to it. Most often the server's privacy setting for direct messages is off, which many people switch off to avoid spam. Your ticket was still closed and saved. On AI Ticket Bot you can read the transcript without the message by running /mytickets.
No. It is not a missing permission on the bot and no role setting changes it. The choice belongs to each member. What an admin can do is tell members which setting to turn on, and make sure nothing important is sent only by direct message.
On AI Ticket Bot, no. Each direct message is sent once. For a reminder that a ticket is waiting, the bot posts in the ticket and mentions the member when the direct message fails. For the message sent when a ticket closes there is no second attempt, and the transcript stays available through /mytickets.
Keep reading.
All articlesDiscord Ticket Templates: Copy and Paste Text for Every Step
Discord ticket templates to copy and paste: panel text, categories, a welcome message, form questions, staff saved replies, a close request and a closing DM.
6 min read
Discord Ticket Threads vs Channels: Which Ticket Mode to Pick
Ticket channels or private threads? What really differs: the 500 channel limit, who can see a ticket, claims, transfers and close, and which fits your server.
7 min read
Discord Ban Appeal Server: How to Take Appeals From Banned Members
A banned member cannot open a ticket in the server that banned them. How to take Discord ban appeals with an appeal server or a website chat, step by step.
7 min read
See it on your own server.
Add the bot free, teach it a few of your most common answers, and watch it clear the repeat tickets on its own.
Free plan, no card. Premium is free for 14 days once your tickets are live.