Bulk Deleting Discord Messages and GDPR Compliance #429
Replies: 147 comments 774 replies
-
|
I wasn't able to achieve this. I tried to contact support and told them I want to delete these messages on this specific channel. Also gave them the specific ids for server and channel. But they said they don't bulk-delete messages because my messages serve important context to the conversation. Even though that channel is constantly getting messages and nobody reads older messages in that specific channel. |
Beta Was this translation helpful? Give feedback.
-
|
I just wanna pop in and say some things from my experience the first email had a great response and they basically said give the channel ID’s and message ID’s and they’ll take care of it for us problem is there was about 50k messages we sent a second email and we got a different individual this person we felt like we were talking to a robot who 100% was copying and pasting the same email to everyone from the looks of the tread we got the same email twice there was 2 people trying to get messages deleted in our group. The email caused outrage I am not even joking they said the equivalent of your personal data is not important to us we care more about other individuals then you because it might cause confusion for them we know it’s your personal data but we don’t care we understand it’s your right to request it to be removed but we don’t care about that either again others are more important than you thank you very much that’s basically what they told us. Personal note’s You can get your messages deleted as per your rights even if it means you have to bully them into doing it they literally got find €800,000 as of recently by a French company for breaking GDPR they were withholding data for people who haven’t used Discord for years and not informing individuals that they were still in calls after they have turned off Discord i’m pretty sure there’s other things too but that’s the bullet points (In our situation we got everything dealt with privately with the server owner) Discord will cave the law is on your side especially if your a European Citizen you just gotta keep pushing it. Also it is completely unreasonable how much you have to do in order to get them deleted in the first place it should just be an email with the server ID and then it be the end of it especially for non-tech savvy people. PS: thanks to abbydiode for their help. |
Beta Was this translation helpful? Give feedback.
-
|
I’m currently experimenting whit template’s with my friends and sending them to Discord. If we find a working one i’ll make sure to let everyone know and make a video on it that way everyone can have there rights respected. I’m going to post my third draft of the template I would really appreciate if there’s any comments you can make to make it better or share a working one you have so I can improve on it. Everyone is welcome to use this one I don’t know if it works yet were currently finding out. This is the one going to be sent to discord we will find out soon. |
Beta Was this translation helpful? Give feedback.
-
|
Surprised you didn't get an error for too many |
Beta Was this translation helpful? Give feedback.
-
|
Okay so tiny update I sent it to the wrong department and some guy who’s job it was just to explain the TOS was just there like 😬 because I had basically sent him a hitpiece the message links lead to a private server which I had transferred to my friend where I completely shit talked discord and called them weirdos for some of their policies I can give more information on that but not here I don’t think that would be appreciated. Anyways I haven’t followed up with it kind of forgot about it and I don’t really feel like doing it today only reason I’m back here is because I got a email on my protonmail account. I’m just popping in to say if you got the same email I put it into virus-total It gave me 7 red flags so don’t click the link It was posted here and I presume it was deleted but I still got an email for it so some of y’all probably did too I’m just here to say don’t click on that shit that’s all. i’ll probably do a follow-up after New Year’s and happy late Christmas to everyone. |
Beta Was this translation helpful? Give feedback.
-
|
I have just submitted my own request using a similar template as mentioned above to the Discord support requests page, with a little more pleading and reasoning... I do hope something is done. Will update when I get a response. |
Beta Was this translation helpful? Give feedback.
-
|
Hey I will update when I receive an answer (maybe in a few month) |
Beta Was this translation helpful? Give feedback.
-
|
Heya, I know some individuals here have had success in getting Discord to bulk delete their messages. |
Beta Was this translation helpful? Give feedback.
-
|
Alright so new discovery I just made Discord delete your email off there servers within 14 days when you delete your account meaning you can’t legally prove that whatever messages that were sent from a deleted account are yours meaning GDPR law does not apply to deleted accounts because all messages are anonymized it’s very unfortunate for me in my case because 14-year-old me said some stupid stuff so I hope you learn a lesson form my mistake do not delete your account until those messages are gone only deactivate. |
Beta Was this translation helpful? Give feedback.
-
|
Trying a different approach i’ll keep you all updated on how it goes. |
Beta Was this translation helpful? Give feedback.
-
|
Ok I’ve been in a long email exchange with Discord for a while after my last update discord flat out denied my rights and I’ll be on a phone call with Irish government officials after the bank holiday I’m not sure how much I’m legally allowed to disclose but I will let you know if I’m successful. |
Beta Was this translation helpful? Give feedback.
-
|
everywhere i tried its always can anyone help me? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Great news everyone an old acquaintance of mine successfully got his messages deleted by Discord!!! he created a bot to scrape all the message links and put them into a text file sent them off to discord and they deleted everything without a hitch only caveat is messages in threads weren’t touched but altogether it was a success. |
Beta Was this translation helpful? Give feedback.
-
|
Hello there can you please share , I have like 100 cdn links on Discord
that I need them to be deleted, also my account is already deleted.
…On Fri, Feb 13, 2026, 1:42 AM Szymon Slupski ***@***.***> wrote:
I belive they have changed a bit, they agreed to my deletion request
without lodging a complaint withing 1.5days and deleted it all within 24
hours, later when i find the time i can post the entire conversation i had
with discord reps; might be due to how i worded my emails.
—
Reply to this email directly, view it on GitHub
<#429 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/B4DFCD7CRTUP3LTCFLG4UKD4LT3D5AVCNFSM6AAAAAARXHO2MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTKNZYHAZTIMY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Give me like 2 hrs I'm currently fixing my gentoo install
…On Sun, Feb 15, 2026 at 21:14 hollusion ***@***.***> wrote:
I belive they have changed a bit, they agreed to my deletion request
without lodging a complaint withing 1.5days and deleted it all within 24
hours, later when i find the time i can post the entire conversation i had
with discord reps; might be due to how i worded my emails.
any updates?
—
Reply to this email directly, view it on GitHub
<#429 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BOS54GDQYULLWF2YHQE6V4L4MDHQRAVCNFSM6AAAAAARXHO2MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTKOBRGQ3DINA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
they actually do it, keep in mind it's only before the data pkgs date later
messages also have to be deleted
…On Tue, Feb 17, 2026 at 04:41 progman524 ***@***.***> wrote:
fuck man same 😭
did they delete ur messages btw? i got the same exact email as yours 7
hours ago but i'm worried they don't actually delete all of my messages
—
Reply to this email directly, view it on GitHub
<#429 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BOS54GC4GZM4GT3LXJFVG334MKEVRAVCNFSM6AAAAAARXHO2MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTKOBTGAYTENY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Sorry I haven't talked in the thread in awhile I just had a random thought I wanted to share maybe start a conversation around I wonder if deactivating your account counts as can't access because if that was the case surely you could just deactivate your account get everything deleted and then reactivate. |
Beta Was this translation helpful? Give feedback.
-
|
They just replied to me saying they don't bulk delete messages right now and that I should provide them with specific message ids that contain identifiable information. I said they have clearly done this before with channels people don't have access to and to check again, and that I will contact the privacy authority if this is no longer the case. They're out of their minds thinking we'll go through 30.000 10 year old messages to find identifiable ones when most of them are identifiable in context. |
Beta Was this translation helpful? Give feedback.
-
|
Hi guys, just wanted to hop in and say that this has worked for me as of February 2026. With what i wrote bellow and following the guide at: https://discordomicon.github.io/removal/overview/. It took discord 6 days to respond to my request. I downloaded package, selected specific DM message ids. Saved in CSV. |
Beta Was this translation helpful? Give feedback.
-
|
I have thousands of messages in DMs that I want to delete and I'm located in the EU. I see that Discord has now changed bulk deletion requests to exclude "spaces you still have access to", which would mean no deletion in any DMs as other people have found out by messaging support. Any insight would be greatly appreciated |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Discord has complied with my GDPR request and successfully deleted ALL ~200k messages from the servers I have included in my message. This is the message i sent to discord support: To which I got the generic response: I sent them a csv containing every message I wished to delete. I used Claude to make a python script which runs inside the discord data package (inside the Messages directory) to generate it: import json
import os
import csv
from collections import defaultdict
# Load index
print("Loading index.json...")
with open("index.json", encoding="utf-8") as f:
index = json.load(f)
total_channels = len(index)
print(f"Found {total_channels} channels in index.json")
channel_messages = defaultdict(list)
skipped = 0
for i, (channel_id, channel_name) in enumerate(index.items(), 1):
folder = f"c{channel_id}"
messages_path = os.path.join(folder, "messages.json")
if not os.path.exists(messages_path):
print(f" [{i}/{total_channels}] WARNING: no messages.json for {channel_id} ({channel_name}), skipping.")
skipped += 1
continue
with open(messages_path, encoding="utf-8") as f:
messages = json.load(f)
for msg in messages:
channel_messages[channel_id].append(str(msg["ID"]))
print(f" [{i}/{total_channels}] {channel_name} — {len(messages)} messages")
print(f"\nFinished reading. Skipped {skipped} missing folders.")
# Write flat CSV
print("\nWriting deletion_flat.csv...")
with open("deletion_flat.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["channel_id", "message_id"])
for channel_id, msg_ids in channel_messages.items():
for msg_id in msg_ids:
writer.writerow([channel_id, msg_id])
print(" Done.")
# Write grouped inline format
print("Writing deletion_grouped.txt...")
with open("deletion_grouped.txt", "w", encoding="utf-8") as f:
for channel_id, msg_ids in channel_messages.items():
channel_name = index.get(channel_id, "Unknown")
f.write(f"# {channel_name}\n")
f.write(f"{channel_id}: {', '.join(msg_ids)}\n\n")
print(" Done.")
# Stats
total_messages = sum(len(v) for v in channel_messages.values())
total_written_channels = len(channel_messages)
dm_count = sum(1 for name in index.values() if name.lower().startswith("direct message"))
server_count = total_written_channels - dm_count
stats_line = f"{total_messages} messages in {total_written_channels} channels ({dm_count} DMs, {server_count} server channels)"
print("\nWriting stats.txt...")
with open("stats.txt", "w", encoding="utf-8") as f:
f.write(stats_line + "\n")
print(" Done.")
print(f"\n=== Summary ===")
print(stats_line)
if skipped:
print(f"Skipped {skipped} channels with missing data.")
print("Output files: deletion_flat.csv, deletion_grouped.txt, stats.txt")Yielding me a 14MB CSV of channel IDs and message IDs which I included in the attachment. It also generated a more compact grouped txt file but I ended up only going with the flat CSV as I saw previously in this discussion thread that it worked. Take note that this way of deletion also wipes any join messages -- those "X just dropped in. Hope you brought pizza" things -- so you should AVOID joining servers in order to leave that trail cold. I used a throwaway account and asked some others to verify it for me, and from what i saw everything was perfect Unfortunately they have not complied with deleting ANY DM messages, even ones I no longer had access to. That left me with ~120000 DM messages which were still not deleted. I recognize this exact reply from previous discussions here so I did not bother pursuing it further, but also was not willing to wait the 30 days for the GDPR deletion window to end only to also need to reach out to my country's Data Protection Authority. I ended up using https://github.com/SuicidaI-Idol/undiscord with a few modifications (again by Claude) to fix some issues when wiping the archive diff --git a/originalScript.js b/fixedScript.js
index 2d2bc85..a0044f5 100644
--- a/originalScript.js
+++ b/fixedScript.js
@@ -1514,10 +1514,14 @@ var undiscordUiCss = (`
/** Re-check immediately after deletion to detect completion without waiting searchDelay */
async quickCheckIfDone() {
const oldOffset = this.state.offset;
+ // Save history-scan cursor so a quick-check probe does not advance it permanently.
+ const oldHistoryBeforeId = this.state._historyBeforeId;
try {
// ✅ Important: always re-check from the beginning
this.state.offset = 0;
+ // Reset history cursor so the probe scans from the top of the channel.
+ this.state._historyBeforeId = null;
await this.search();
await this.filterResponse();
@@ -1548,8 +1552,11 @@ var undiscordUiCss = (`
log.warn('Quick check failed, continuing normally...', e);
return false;
} finally {
- // Restore offset to avoid side effects on the normal loop
+ // Restore offset and history cursor to avoid side effects on the normal loop.
this.state.offset = oldOffset;
+ // Only restore the cursor if not done ΓÇö if we confirmed done, leave it null so
+ // the next job starts cleanly (resetState will clear it anyway).
+ if (this.state.running) this.state._historyBeforeId = oldHistoryBeforeId;
}
}
@@ -1602,7 +1609,9 @@ var undiscordUiCss = (`
log.error(`Job failed for channel ${ch || '<none>'}. Continuing with next channel...`, err);
this.state.endReason = this.state.endReason === 'STOPPED' ? 'STOPPED' : 'ERROR';
}
- if (!this.state.running) break;
+ // Only abort the entire batch if the user explicitly stopped it.
+ // A natural end-of-channel (endReason === 'DONE') should continue to the next job.
+ if (this.state.endReason === 'STOPPED') break;
const effective = Math.max(0, this.state.grandTotal - (this.state._skippedUniqueCount || 0));
log.info(
`Job summary (${i + 1}/${queue.length}):`,
@@ -1626,6 +1635,11 @@ var undiscordUiCss = (`
this.state._batchGrandTotal = batchSnapshot.grandTotal;
this.options.askForConfirmation = false;
this.state.running = true; // continue running
+ // Always wait a few seconds between jobs to avoid rate-limiting, even if the channel was empty.
+ if (i < queue.length - 1) {
+ log.verb('Waiting 5s before next channel...');
+ await wait(5000);
+ }
}
const batchTotal = Math.max(I encountered no issues, which I guess is because of my account's age and reputation. |
Beta Was this translation helpful? Give feedback.
-
|
but deleting it yourself is only possible if you're still in the server,
right?
…On Mon, 4 May 2026, 12:42 am Naner, ***@***.***> wrote:
It's not a requirement, but it's likely that along with your messages you
also want to remove the fact you ever joined the server. That's pretty hard
assuming anyone ever mentioned your name, but it may be what you want if
you want it to seem like you were never there at a first glance.
However, i found out right now that you CAN actually delete those join
messages yourself — though I'm certain you couldn't in the past — so I
guess this isn't really an issue either way.
—
Reply to this email directly, view it on GitHub
<#429 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BRQXTM35RIT5YN237MGXQPT4Y5ZI5AVCNFSM6AAAAAARXHO2MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNZZG4YDONY>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
if you've been banned from the server it's not possible
…On Mon, 4 May 2026, 12:55 am Naner, ***@***.***> wrote:
Yes, but you can join the server, wipe your join message, then leave.
But again, requesting GDPR deletion already does this, assuming discord
complies of course.
—
Reply to this email directly, view it on GitHub
<#429 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BRQXTM346H67C4H7ITZ7YH34Y52XZAVCNFSM6AAAAAARXHO2MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNZZG4YTMMY>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
My friend's account got banned in 2023, I checked back on it today and realised all their messages are gone. I checked a few other DMs with deleted users and their messages and some of them have had their messaged purged while others have not. There doesn't seem to be any consistency, like it's not based on when the account was deleted or anything. Has anyone else seen something similar? |
Beta Was this translation helpful? Give feedback.
-
They marked the ticket as solved Discord is disgusting. |
Beta Was this translation helpful? Give feedback.
-
|
Hello. I have tried sending a GDPR request to Discord asking them to delete my messages and I have received a template from Julia Aonu denying my request and they instantly closed my ticket it and marked it as solved: What can I do in this case? I have a lot of messages from several servers and DMs, ranging to hundreds of thousands, and I don't have access to many of them anymore. |
Beta Was this translation helpful? Give feedback.



















Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Note
This thread has been getting a lot of attention lately, and because of personal circumstances I have not been able to keep up with all the new activity. One day I hope to get around to updating this thread with more recent information. For now, please find advice from other helpful users below. There's a good chance your question has already been answered before, or someone else has already had a similar situation to yours.
Important: Update as of October 2nd, 2025
I noticed that this topic now has an appropriate discussion category within this repository. Since this thread has so many replies, it is no longer feasible to be able to go through them all. Where possible, please refrain from posting any new replies, as it is likely that it will get missed. By starting a new discussion in the GDPR category it will be easier for others to find your specific question, or information.
Also, read this excellent reply by @SublimePeace to get an idea of the current state of affairs. They have summed up the current situation in a very clear manner: #429 (comment)
For a while now I have been talking with Discord's privacy team about bulk-deletion of messages. Initially they were very persistent in their stance to not allow users to bulk-delete their messages. However, I pointed out to them that this is by any and all means not compliant with GDPR policies, especially since deleting your account (which is the solution they kept offering) does not get rid of any of your messages either.
Therefore I decided to go the extra mile by contacting my national data protection authority. Not long after filing my complaint to the DPA, Discord's support got back to me after a long period of Discord ignoring my emails by allowing me to provide a list of IDs of DM and guild channels that I wanted my messages wiped from. They have since processed my request, and all the messages I provided in all channels were successfully and instantly wiped.
Unfortunately at the time of writing, Discord still does not allow users to bulk-delete messages themselves. But it seems that they are accepting such requests via support tickets.
I have obtained the channel IDs from my data package and provided them with a comma-separated list for the channels I wanted to have wiped.
If anyone reading this decides to make a similar request, please let us know about the outcome. Together we can help make Discord a better place that actually respects the data protection rights of its users.
Data Deletion Request Template
Warning
I am not a lawyer, therefore, this is not legal advice.
Caution
Please read my notice regarding the usage of Discorch, and similar tools to browse your data package.
Beta Was this translation helpful? Give feedback.
All reactions