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. The DM tool servers should've had years ago.
On Discord, an unsolicited DM is a tax — sometimes a small one, sometimes a big one. OpenDM gives members the dial they should've always had: who can DM me, and how I want to be asked.
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 drama, 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.