Can Admins see all Deleted PMs?

I am admin for our community and I have a user complaining about harassment from another user. They said they received negative messages and PMs, but could no longer find the messages… They copy-pasted a quote they said they found in an email notification.

At first, I thought this person (the complainant) was confusing email notifications about public threads with private messages, but the interactions between the two users in public didn’t match the forwarded quote, and hadn’t been edited.

Moreover, the quotes didn’t appear in the “accused” user’s deleted posts, nor in their private messages (sent, archived, inbox).

So, I’m confused. Is it possible for users to send Private Messages, then delete them in a way that Admins can no longer see them?

I know there is no block function for the complainant to use, but before we have a word with the “accused” guy, I wanted to see the actual messages… I’ve asked the complainant to forward me the emails, but some clarification would be great.


Not that I’m aware of. Admins can see everything on the site, even deleted content. Users cannot self-delete topics, only posts. PMs, while different from a public topic, are still inherently topics that users cannot self-delete. Check staff logs? Perhaps another staff member deleted them?


I would use the Data Explorer plugin. I don’t have time to work up a query right now, but it would involve the user(s), archetype and possibly date.

Thanks for the quick replies, guys – very helpful.

I’m 99.9% sure no messages were deleted by other Admins. I will check with moderators but I don’t think they have this capability, right?

Just so I understand, this would show if the messages were deleted and by whom, correct?

Nope. It’s never possible for users to delete topics. Ever.


Wow, this is such a mystery.

My gut is to trust the complainant, but he hasn’t forwarded me the email notifications these quotes supposedly came from.

I am so very confused, but not because of you guys :slight_smile: you’ve all been super helpful, as usual. Much appreciated.


On my localhost I had SpamGuy2 message TestUser3. (it wasn’t pretty)

There was no option for SpamGuy2 to delete the first post / the topic
TestUser3 could have Flagged offensive posts, but for whatever reason didn’t
SpamGuy2 edited one of his posts and deleted another
TestUser3 could view edit revision history via the pencil

AdminGuy1 got the user id values (14, 58) from the Admin -> Users URLs and hard coded them into this query

WITH user_one_topics AS (SELECT topic_users.topic_id
    FROM topic_users 
    WHERE topic_users.user_id = 14) 
, user_two_topics AS (SELECT topic_users.topic_id 
    FROM topic_users 
    WHERE topic_users.user_id = 58) 
SELECT AS topic_id
FROM topics, user_one_topics, user_two_topics
WHERE user_two_topics.topic_id = user_one_topics.topic_id 
AND = user_two_topics.topic_id 
AND topics.archetype LIKE 'private_message'

By clicking on the link in the query result he could see the message

* note, this is before the “automatically deleted in 24 hours unless flagged” has elapsed.

what outbound mail service do you use? with mandrill I can look up and see the notifications for the last 3 months from my discourse.

incidentally, there was a renaming at some point from “private messages” to “personal messages” to make clear that these are not actually private and secure messages and members shouldn’t treat them as such. Admins can see them all.

1 Like

It has since been more than 24 hours. As Admin I see “VIEW 1 HIDDEN REPLY”

Clicking on that expands the post with the edit revision history icon available