You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 14, 2026. It is now read-only.
THIS REPOSITORY HAS BEEN OFFICIALLY ARCHIVED AND IS NO LONGER IN ACTIVE DEVELOPMENT ON GITHUB.
All code in this repository is preserved for historical reference only. No further updates, issues, or pull requests will be accepted or maintained here.
The ultimate cross-server message relay for Red-DiscordBot.
Connect Discord channels across unlimited servers into named networks. All commands work as both slash commands and prefix commands (hybrid). Messages, edits, deletes, reactions, replies, stickers, pins, typing indicators, and files are all relayed in real-time.
What's New in v3.4.0
Hybrid Commands — every command works as both /wh and [p]wh
Context Menu Actions — right-click messages/users for Report, Bookmark, Delete, Profile
Granular Mention Policy — control @user, @role, @everyone, @here per-network AND per-server, with per-user exemptions
Terms of Service Gate — require users to accept legal ToS before messaging, with built-in prosecution-ready legal template
Mod Edit/Delete Across Network — staff can edit or delete a message from every server at once
Report System — users can report messages (prefix command or right-click), staff review/action/resolve, with DM warnings and auto-ban/mute
See [p]wh help for the full interactive reference (4 pages).
Phase 4 Features
Command
Description
mirror add/remove/list
One-way receive-only channels
poll create/close/list
Network-wide polls with voting
afk <name> [reason]
Set AFK status
ignore add/remove/list
Personal ignore list (DM relay)
autoreply add/add-regex/remove/list
Staff auto-responses
bookmark save/list/clear
Save messages for later
colour <name> <hex>
Personal embed colour
quiet/quiet-off
Quiet hours (DM mute)
analytics <name>
Activity dashboard
health <name>
Channel permission audit
bridge add/remove/list
Network-to-network bridging
GhostWipe
Auto-deletes a departing member's messages server-wide, with a full HTML audit-log viewer.
Fires only on on_member_remove — covering voluntary leaves, kicks, and bans alike (Discord delivers all three through that single event). GhostWipe then classifies why the member left via the audit log, purges every message they ever sent across text channels, voice-channel chats, and threads (including archived ones), and produces a complete audit trail: a summary embed plus a self-contained, dark/light-themed HTML report with sidebar channel switching, search, and attachment previews.
Feature Highlights
Category
Features
Deletion
Server-wide purge across text channels, voice chats, active + archived threads
Triggers
Independently toggle leave / kick / ban as purge triggers
Exemptions
Whitelist specific users, ignore specific roles or channels
Safety
Dry-run/simulation mode, grace-period delay that auto-cancels on rejoin, rate-limited scanning
Reporting
Self-contained HTML viewer (channel switching, search, attachment previews), per-channel breakdown embed, content redaction for privacy, configurable retention
Review
history and viewreport to revisit and re-send past purge events, lifetime stats
Manual
purge command to backfill a departure GhostWipe missed
Command Reference ([p]ghostwipe, aliases gw/wipe)
Command
Description
enable / disable
Toggle GhostWipe for this server
logchannel [#channel]
Set/clear where purge reports are posted
trigger <leave|kick|ban> <bool>
Toggle which departure types trigger a purge
whitelist add/remove/list
Users who are never purged
ignorerole add/remove/list
Roles that exempt a member from being purged
ignorechannel add/remove/list
Channels/threads never scanned
scanlimit <messages|none>
Per-channel scan depth (or unlimited)
threads / archivedthreads
Toggle scanning active/archived threads
dryrun <bool>
Simulate and report without deleting
delay <seconds>
Grace period before purging (cancelled if the member rejoins)
report content/attach <bool>
Redact report content / attach the HTML file
retention <days>
Auto-delete saved reports after N days (0 = forever)
settings
Full configuration summary
history [page]
Recent purge events
viewreport <event_id>
Re-send a past report
stats
Lifetime purge counters
purge <user> [confirm]
Manually trigger a purge
Affiliates
Ping-on-Join, a persistent affiliate-server board, and a separate DM-affiliates list — all in one cog.
POJ (Ping on Join) mentions new human members in configured channels, then auto-deletes the ping after a few seconds — enough to trigger a push notification without leaving clutter behind. Affiliates is a staff-configured channel holding a persistent, auto-updating plain-text board listing partner servers (name + invite), 10 per message and numbered 1..x, managed entirely through Discord UI — no raw IDs to remember, no manual message editing. DM Affiliates mirrors the same add/remove/list management on a completely separate list that isn't posted anywhere; instead every new member gets it as a DM the moment they join.
Modal-based add (Server Name + Server Invite), select-menu + confirmation removal, always-contiguous 1..x numbering, 10 entries per plain-text message (a new message per additional 10, up to 100 total)
Persistence
Each board page is stored by message ID and automatically recreated if deleted — survives every bot restart
DM Affiliates
Identical add/remove/list management on a fully separate list, sent as a DM on join, independently toggleable
Access
Management commands are admin-only; list previews are open to any member
Command Reference
Command
Description
[p]poj enable / disable
Toggle Ping on Join
[p]poj channel add/remove/list
Channels that ping new members
[p]poj delay <seconds>
Delete-delay for the ping
[p]poj message <template>
Ping message template (must include {member})
[p]aff channel #channel
Set the affiliate board channel
[p]aff add
Add an affiliate (button → modal)
[p]aff remove
Remove an affiliate (select → confirm)
[p]aff list
Preview the current board
[p]aff refresh
Force-recreate the persistent message
[p]aff dm add/remove/list
Same management, separate DM-only list
[p]aff dm enable/disable
Toggle DMing new members the list
ImageVault
Auto-deletes posted images and re-hosts them in a private vault channel so they can be retrieved on request.
Watches configured channels for image attachments, silently reposts each image (plus the message's text and full attribution) into a staff-only vault channel, then deletes the original — keeping channels clean without anything actually being lost. Because images are re-hosted on Discord rather than linked directly, there's no link-expiry problem: retrieval always fetches a fresh copy straight from the vault message. Spoilered images stay spoilered when they're sent back.
Feature Highlights
Category
Features
Archiving
Re-uploads images into a private vault channel before deleting the original; preserves spoiler tags round-trip
Scope
Watch specific channels (or everything), ignore specific channels, ignore bots/webhooks, max file size
Behavior
Archive-only mode (skip deletion), optional text-content repost after removal
Retrieval
show/get <id> re-sends the image; permission modes: anyone / original poster / staff only
Browsing
list and mine to browse the archive, forget to drop an index entry