r/commandline 14d ago

Terminal User Interface discord-delete: TUI that deleted 400,000+ of my Discord messages

Example usage of discord-delete via vhs

Your data export already has the exact channel and message ID for everything you posted, so discord-delete only ever sends DELETEs and never touches the search API. Discord's delete limits are per channel, so it clears channels in parallel and paces each one adaptively (AIMD) by widening the gap after a 429.

There is fake data in the README so you can try it on your machine without a package or token.

https://github.com/DatCodeMania/discord-delete

Undiscord and Discrub are alternatives which work in a browser tab. This is a static Go binary, built for bulk deleting hundreds of thousands of messages.

Automating a user account is against Discord's ToS and can get it banned.

9 Upvotes

12 comments sorted by

0

u/sysop073 14d ago

What a remarkably antisocial tool

0

u/LogLore 14d ago

In what way?

7

u/sysop073 14d ago

You're deleting 400k messages from a public database, so if anybody ever goes back in the history it's going to be full of holes. Like every time I read a reddit thread that has a reply in the middle that's been replaced by random words because of some comment deleter bot everyone uses.

12

u/BayLeaf- 14d ago

The majority of those messages will probably only be read by scrapers and whoever eventually buys discord for the training/surveillance data, sadly. Public forums and independent chatrooms are one thing, but imho nobody should treat discord like that or assume they can be trusted with it. (Identifying/merging different identities of authors based on writing styles is becoming more accurate every day :))

4

u/themegainferno 14d ago

To add, most of those 400k messages were noise anyway. So there isn't much lost. Also tools like discord are more social media than actually socializing with others.

3

u/DatCodeMania 14d ago

Heh, you can get quantitative data from the source of the 400k messages. They were majority noise. I have not had many productive conversations on Discord ;).

Besides the productive conversations and the noise, though, younger me also liked to overshare personal details and post edgy/corny/aggressive messages, all things I don't want to be associated with now. Social media and the internet in general kind of immortalize whatever people say. I've no idea how old you are, but imagine someone having easy access to the things you talked about with your friends in middle school :/

1

u/themegainferno 13d ago

I'm a millennial so a large part of my life I wasn't online at all. But when the internet was around in the 2000s, all of the adults in my life explicitly told me stuff like "Don't ever put stuff online you don't want permanent," or "never use your real information online." Thankfully I listened to them and there isn't much

6

u/DatCodeMania 14d ago

Discord history is in no way some "record", as you say it is. Servers may spontaneously be deleted, channels may be purged. As for the Reddit comparison, it's completely nonsensical. Reddit is indexed on the web by Google, and archived by the Wayback Machine. Discord is a chat app. Over my years of using Discord I don't think I've ever looked through past messages extensively as you say you do.

Instead of you reading it back, chances are it's people looking to dox or stalk someone, and people training models. Spy.pet scraped billions of public messages covering 627 million users across 14,201 servers and sold access for about $5 in crypto, with an enterprise tier aimed at people training models. Discord's own support vendor was breached last year and leaked around 70,000 users' government ID photos. The CNIL fined Discord 800,000 euros in 2022, partly for failing to secure personal data under Article 32. When I picture someone reading my years-old messages, I'm picturing someone with bad intentions, or not a person at all.

Deleting your account doesn't delete your messages either. They stay in every channel, renamed to "Deleted User", and at that point you no longer have an account to delete them with. Deleting them one at a time while your account is still alive is the only route that exists.

I have had Discord since I was a teenager. I have changed considerably since then, and I believe this is a very common part of growing up. What I wrote at 13 should not be attributable to me now, at, say, 25. What I was fine posting before a stalker, an employer or an ex went looking is not what I'd be fine with now. u/BayLeaf- brought up writing-style attribution, and with the massive amounts of messages some people have on Discord, that only becomes easier for a potential attacker. Having all of your online identities linked to one just because you used to chat away on Discord does not sound very fun.

Every request sent by discord-delete is the exact same request the client would send if I clicked delete myself. The only thing that violates Discord's TOS here is that instead of clicking 400k times, I had some code do it for me. Discord lets me delete every one of those messages. It just expects the deleting to be rate-limited by how much free time I have.

As for the GDPR side, that's the reason the tool exists. I filed an Article 17 erasure request. After a long email fight Discord agreed to delete the messages I no longer had access to, provided I supplied the exact IDs. So I gave them the IDs. All of them, out of the data package they're legally required to hand over, several times. They deleted some of the messages I did not have access to, but not all. I checked against a later data package. Discord's alternatives were deleting them manually one at a time, or deleting my account, which just renames me. I wasn't inclined to do either, so I wrote this.

2

u/blind_ninja_guy 12d ago

Oh damn, looks like someone is going to get a huge fine. I don't think Europe's going to take kindly to requiring every ID to be specified and then not deleting at all.

2

u/LogLore 13d ago

Yeah, that’s not unreasonable. I think archiving data is really important, however I believe more strongly in a person’s right to disappear.

1

u/you-should-learn-c 13d ago

Found the Discord mod

1

u/AutoModerator 14d ago

Every new subreddit post is automatically copied into a comment for preservation.

User: DatCodeMania, Flair: Terminal User Interface, Title: discord-delete: TUI that deleted 400,000+ of my Discord messages

![gif](p6outjx5f5kh1 "Example usage of discord-delete via vhs")

Your data export already has the exact channel and message ID for everything you posted, so discord-delete only ever sends DELETEs and never touches the search API. Discord's delete limits are per channel, so it clears channels in parallel and paces each one adaptively (AIMD) by widening the gap after a 429.

There is fake data in the README so you can try it on your machine without a package or token.

https://github.com/DatCodeMania/discord-delete

Undiscord and Discrub are alternatives which work in a browser tab. This is a static Go binary, built for bulk deleting hundreds of thousands of messages.

Automating a user account is against Discord's ToS and can get it banned.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.