Complete ground-up rewrite (2,762 lines across 3 files): Phase 3 features: - Bidirectional DM relay (subscribe, send, receive, 3 formats) - Cross-network starboard with configurable threshold - Reputation/karma system with leaderboard - Keyword highlight notifications (DM alerts) - Anti-raid detection with auto-freeze - Attachment filters (blocked extensions, max filesize) - Pin sync across channels - Typing indicator relay - Network discovery (public flag + tags) - Message search across network - Scheduled messages (timed broadcasts) - Network-wide slowmode - Relay delay (configurable) - Vanity invite codes - Per-channel setting overrides - Purge command (mass delete relayed) - Audit log (500 entries, full trail) - MOTD and rules - Comprehensive README with full command reference Phase 2 features (carried forward): - Auto-moderation engine (spam, caps, invites, links, zalgo, spoiler, emote/newline spam) - Invite system with expiry and max uses - Staff announcements and portal messages - Welcome messages and mention control - User profiles and network stats - Backup/restore (JSON export/import) - Blackout scheduling - Global blocklist (bot owner) - Embed and compact relay modes Phase 1 features (carried forward): - Named networks with webhook relay - Edit/delete/reply/reaction/sticker sync - Staff system with ownership transfer - Word and regex content filters - Rate limiting and NSFW gate - Server nicknames, custom identity - Logging channel
8.9 KiB
🌀 EveCogs
A premium cog repository for Red-DiscordBot.
Installation
[p]repo add EveCogs https://github.com/everestmcarthur/EveCogs
[p]cog install EveCogs wormhole
[p]load wormhole
🌀 Wormhole v3.2.0
The ultimate cross-server message relay for Discord.
Connect channels across multiple servers into named networks. Messages, edits, deletes, reactions, replies, stickers, pins, typing indicators, and files are relayed in real-time. Features DM relay, starboard, karma, auto-moderation, invites, portals, and 50+ commands.
✨ Features
📡 Core Relay
- Named networks — create unlimited named relay networks
- Three relay modes —
webhook(rich identity),embed(styled cards),compact(minimal text) - Full sync — edits, deletes, reactions, replies, stickers, threads, pins, typing indicators
- File forwarding — images, videos, documents all relayed automatically
- Embed forwarding — rich embeds from bots/links passed through
- Reply context — quoted reply previews carried across servers
📧 DM Relay
- Subscribe to receive network messages directly in your DMs
- Send from DMs — participate in networks without being in a server channel
- Three DM formats — embed, compact, or plain text
- Bidirectional — full two-way communication via DMs
🛡️ Moderation
- Ban / mute individual users or entire servers
- Word filters — block specific words
- Regex filters — pattern-based content blocking
- Allowlist — restrict which servers can join
- Purge — mass delete relayed messages across all channels
- Audit log — full trail of all admin/mod actions (last 500 entries)
🤖 Auto-Moderation Engine
- Anti-spam — duplicate message detection with configurable window/threshold
- Anti-mention spam — block mass mentions
- Anti-caps — configurable caps percentage threshold
- Anti-invite — block Discord invite links
- Anti-link — block all URLs
- Anti-zalgo — block combining character abuse
- Anti-spoiler spam — block excessive spoiler tags
- Anti-emote spam — limit custom emoji per message
- Anti-newline spam — limit vertical space abuse
- Anti-raid — auto-freeze network on flood detection
⭐ Starboard
- Cross-network starboard — star reactions collected across all channels
- Configurable threshold and dedicated starboard channel
- Auto-updating star count on the board embed
💎 Karma / Reputation
- React with a configurable emoji to give karma
- Per-user karma scores tracked across the network
- Leaderboard command
🔔 Keyword Highlights
- Subscribe to keywords — get DM'd when they're mentioned
- Per-user, per-network keyword lists
🔗 Invites
- Invite codes — shareable codes with optional max uses and expiry
- Vanity invites — custom words (e.g.
gaminginstead ofxK4mR2pQ) - Join networks from any server with just a code
📢 Communication
- Staff announcements — broadcast to all channels + DM subscribers
- Scheduled messages — send timed announcements
- MOTD — message of the day shown on join
- Rules — network rules displayed on demand
- Welcome messages — greet new servers automatically
🌀 Portal Messages
- Persistent, auto-updating status embeds pinned in channels
- Shows network status, channel count, features, MOTD
- Refreshes every 5 minutes automatically
🔍 Search & Discovery
- Search — search recent messages across the entire network
- Network discovery — list public networks with tags
- Tags — categorize networks for easy discovery
⚙️ Advanced Configuration
- Per-channel overrides — different relay mode per channel
- Server nicknames — custom display names per server
- Custom identity — custom icons, names, colour accents
- Name modes — show user, server, both, or custom template
- Mention control — strip @everyone, @here, @role, @user
- Attachment filters — block file types and enforce size limits
- Relay delay — configurable seconds before relay (for review)
- Slowmode — network-wide per-user cooldown
- Rate limiting — configurable messages per time window
- NSFW gate — block relay from NSFW channels
- Freeze — pause a network instantly
- Silent mode — suppress join/leave notifications
🌙 Blackout Scheduling
- Auto-freeze/unfreeze on schedule
- Per-day-of-week and hour range (UTC)
- Multiple schedules per network
💾 Backup & Restore
- Export entire network config as JSON
- Restore to same or different name
- Preserves all settings, filters, profiles
👤 User Profiles & Stats
- Per-user message counts, first-seen date, server list
- Network-wide statistics with top-5 leaderboard
- Karma integration in profiles
🌐 Global Blocklist (Bot Owner)
- Block users/servers from ALL wormhole networks
- Independent of per-network moderation
⭐ Staff System
- Owner — full control, can add/remove staff
- Staff — moderation, settings, filters, announcements
- Ownership transfer — hand off networks to other users
📋 Quick Start
[p]wh create mynetwork A cool cross-server chat!
[p]wh open mynetwork # in each channel you want linked
[p]wh invite create mynetwork # share the code
[p]wh dm enable mynetwork # enable DM relay
[p]wh set relay-mode mynetwork webhook
[p]wh automod enable mynetwork
[p]wh starboard enable mynetwork #starboard 3
[p]wh karma enable mynetwork 👍
📖 Command Reference
Run [p]wh help in Discord for the full interactive reference (3-page embed).
Network Management
| Command | Description |
|---|---|
wh create <name> [desc] |
Create a new network |
wh delete <name> |
Delete a network (with confirmation) |
wh open <name> |
Link current channel |
wh close [name] |
Unlink current channel |
wh list |
List all networks |
wh discover |
List public networks |
wh info <name> |
Detailed network info |
wh stats <name> |
Statistics & leaderboard |
wh transfer <name> @user |
Transfer ownership |
wh announce <name> <msg> |
Staff broadcast |
wh portal [name] |
Create/refresh portal |
wh search <name> <query> |
Search messages |
wh schedule <name> <min> <msg> |
Scheduled message |
wh rules <name> |
Show rules |
wh motd <name> |
Show MOTD |
wh audit <name> [n] |
View audit log |
wh backup <name> |
Export JSON backup |
wh restore [name] |
Import from JSON |
DM Relay
| Command | Description |
|---|---|
wh dm enable/disable <name> |
Toggle DM relay |
wh dm mode <name> <format> |
Set DM format |
wh dm subscribe <name> |
Subscribe to DMs |
wh dm unsubscribe <name> |
Unsubscribe |
wh dm send <name> <msg> |
Send via DM |
wh dm list |
Your subscriptions |
Settings (wh set)
relay-mode · webhooks · name-mode · image-mode · custom-icon · custom-name · description · colour · ratelimit · slowmode · relay-delay · log-channel · nickname · welcome · motd · rules · tags · public · max-filesize · blocked-extensions · freeze · silent · nsfw-gate · sync-edits · sync-deletes · sync-reactions · sync-replies · sync-stickers · sync-threads · sync-pins · sync-typing · forward-embeds · strip-everyone · strip-roles · strip-users · channel-override
Moderation (wh mod)
ban/unban · mute/unmute · ban-server/unban-server · mute-server/unmute-server · allowlist-add/remove · purge
Auto-Moderation (wh automod)
enable/disable · anti-spam · anti-mentions · anti-caps · anti-invite · anti-link · anti-zalgo · anti-spoiler · anti-emote-spam · anti-newlines · anti-raid · status
More
| Category | Commands |
|---|---|
| Staff | wh staff add/remove/list |
| Invites | wh invite create/vanity/use/revoke/list |
| Filters | wh filter add-word/remove-word/add-regex/remove-regex/list |
| Starboard | wh starboard enable/disable |
| Karma | wh karma enable/disable/check/leaderboard |
| Highlights | wh highlight add/remove/list |
| Blackout | wh blackout add/clear/list |
| Profiles | wh profile <name> [@user] |
| Global | wh global ban-user/unban-user/ban-server/unban-server/list |
📊 Architecture
EveCogs/
├── README.md
├── LICENSE (MIT)
├── info.json (repo metadata)
└── wormhole/
├── __init__.py (cog loader + data statement)
├── info.json (cog metadata)
├── utils.py (helpers, embeds, detectors, filters)
└── wormhole.py (main cog — 2,200+ lines, 50+ commands)
📄 License
MIT — see LICENSE.
🤝 Credits
Built by everestmcarthur with assistance from Viktor AI.