# EveCogs A premium cog repository for [Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot). ## Installation ``` [p]repo add EveCogs https://github.com/everestmcarthur/EveCogs [p]cog install EveCogs wormhole [p]load wormhole ``` --- # Wormhole v3.4.0 **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 ## Feature Highlights | Category | Features | |----------|----------| | **Relay** | Webhook / embed / compact modes, edit & delete sync, reply threading, sticker forwarding, pin sync, typing indicators, file relay | | **DM Relay** | Bidirectional DM ↔ network messaging, quiet hours, personal ignore lists | | **Moderation** | Ban/mute users & servers, word + regex filters, attachment filters, global blocklist, purge, network-wide edit & delete | | **Auto-Mod** | Anti-spam, anti-raid, anti-caps, anti-invite, anti-link, anti-zalgo, anti-spoiler, anti-emote-spam, anti-newlines | | **Mentions** | Per-network + per-server policy for @user, @role, @everyone, @here with exemptions | | **ToS/Rules** | Acceptance gate, legal template, consent tracking with timestamps, force re-accept | | **Reports** | Report via command or context menu, staff review, resolve, action (ban/mute/warn/dismiss) | | **Staff** | Staff system, ownership transfer, audit log, announcements | | **Invites** | Invite codes, vanity URLs, expiry, max uses, allowlists | | **Social** | Karma/reputation, starboard, user profiles, keyword highlights | | **Scheduling** | Scheduled messages, blackout windows, relay delay, slowmode | | **Phase 4** | Anonymous mode, mirror channels, polls, AFK, auto-responses, ephemeral messages, media-only, analytics, health monitor, bookmarks, user colours, quiet hours, network bridging | | **Context Menus** | Report to Wormhole, Wormhole Bookmark, Wormhole Delete (staff), Wormhole Profile | ## Command Reference (85+ commands) ### Core | Command | Description | |---------|-------------| | `[p]wh create ` | Create a new network | | `[p]wh delete ` | Delete a network | | `[p]wh open ` | Link current channel | | `[p]wh close` | Unlink current channel | | `[p]wh list` | List all networks | | `[p]wh info ` | Network info & stats | | `[p]wh portal [name]` | Create/refresh portal embed | ### Settings (`[p]wh set`) | Command | Description | |---------|-------------| | `set mode` | Relay mode (webhook/embed/compact) | | `set colour/icon/description` | Network identity | | `set freeze/silent/nsfw-gate` | Toggles | | `set ratelimit/slowmode/relay-delay` | Flow control | | `set anonymous/ephemeral/media-only` | Special modes | | `set sync-*` | Toggle edit/delete/reaction/reply/sticker/thread/pin/typing sync | | `set strip-everyone/roles/users` | Legacy mention stripping | | `set channel-override` | Per-channel setting overrides | ### Mention Policy (`[p]wh mentions`) — NEW | Command | Description | |---------|-------------| | `mentions set ` | Network-wide policy (users/roles/everyone/here) | | `mentions server-set ` | Per-server override | | `mentions exempt @user` | Allow user to bypass policy | | `mentions unexempt @user` | Remove exemption | | `mentions status ` | View current policy | ### Terms of Service (`[p]wh tos`) — NEW | Command | Description | |---------|-------------| | `tos enable ` | Require acceptance before messaging | | `tos disable ` | Remove requirement | | `tos set ` | Custom ToS text | | `tos template ` | Reset to legal template | | `tos accepted ` | View who accepted | | `tos reset ` | Force everyone to re-accept | | `[p]wh accept ` | View the ToS | | `[p]wh agree ` | Accept the ToS | ### Reports (`[p]wh report`) — NEW | Command | Description | |---------|-------------| | `report message [msg_id] [reason]` | Report a message (or reply to one) | | `report list [show_resolved]` | View reports (staff) | | `report resolve ` | Mark as resolved | | `report action ` | Take action: ban, mute, warn, dismiss | ### Mod Tools (`[p]wh mod`) | Command | Description | |---------|-------------| | `mod ban/unban/mute/unmute` | User moderation | | `mod ban-server/unban-server/mute-server/unmute-server` | Server moderation | | `mod edit ` | Edit across entire network — NEW | | `mod nuke ` | Delete from entire network — NEW | | `mod purge [count]` | Purge relayed messages | ### Context Menus (right-click) — NEW | Action | Description | |--------|-------------| | **Report to Wormhole** | Right-click any message → opens report modal | | **Wormhole Bookmark** | Right-click any message → saves to DM | | **Wormhole Delete** | Right-click any message → deletes from all servers (staff) | | **Wormhole Profile** | Right-click any user → view their network stats | ### DM Relay / Invites / Staff / Filters / AutoMod / Starboard / Karma / Highlights / Blackout / Backup / Global *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 [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 ` | Personal embed colour | | `quiet/quiet-off` | Quiet hours (DM mute) | | `analytics ` | Activity dashboard | | `health ` | 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 ` | 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 ` | Per-channel scan depth (or unlimited) | | `threads` / `archivedthreads` | Toggle scanning active/archived threads | | `dryrun ` | Simulate and report without deleting | | `delay ` | Grace period before purging (cancelled if the member rejoins) | | `report content/attach ` | Redact report content / attach the HTML file | | `retention ` | Auto-delete saved reports after N days (`0` = forever) | | `settings` | Full configuration summary | | `history [page]` | Recent purge events | | `viewreport ` | Re-send a past report | | `stats` | Lifetime purge counters | | `purge [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. ## Feature Highlights | Category | Features | |----------|----------| | **POJ** | Multiple configurable ping channels, configurable delay (1–60s), configurable `{member}` message template | | **Affiliate Board** | 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 ` | Delete-delay for the ping | | `[p]poj message