Members set their own DM mode — open, ask, or closed — and route requests through a server channel. Mutual permissions, audit logs, and a clean revoke flow.
On Discord, unsolicited DMs are a friction point. OpenDM gives members control over who can reach them and how.
OpenDM is small on purpose. A handful of slash commands, a button panel, and a clean audit trail.
/dm_set_mode mode:(open|ask|closed) changes how others can reach you. Switch anytime./dm_ask with a target user, a request type (DM or friend), and an optional reason. Goes to the configured request channel./dm_info shows your current mode and your active permissions. /dm_status checks if you have mutual permission with someone./dm_revoke removes a permission relationship. No notification, no stigma./dm_audit_user to see DM permission history for a member. Optional audit channel posts events as they happen.All the slash commands at a glance.
OpenDM is a single-file Python bot. Clone the repo, set your Discord token, and run.