GMW — Guild Moderation Watcher

GMW — Guild Moderation Watcher An architecture diagram generated by Archify. Redis · pub/sub :6379 · imrnes — Tailscale shared state · events + PCM Redis pub/sub :6379 events + PCM PostgreSQL · shared state :6432 · imrnes — Tailscale shared state PostgreSQL shared state :6432 Discord Guilds · channels · voice · reactions · Architecture component Discord Guilds channels · voice · reactions discord-gateway · selfbot :4016 · orangevps — Nix/systemd · discord.js-selfbot-v13 discord-gateway selfbot :4016 discord.js-selfbot-v13 gmw-backend · Express · oRPC · WS :4001 · orangevps — Nix/systemd · Drizzle ORM gmw-backend Express · oRPC · WS :4001 Drizzle ORM nginx proxy · reverse proxy :4009 · orangevps — Nix/systemd · nginx nginx proxy reverse proxy :4009 nginx AI Moderation · LLM caller · embeddings · orangevps — Nix/systemd AI Moderation LLM caller · embeddings gmw-frontend · Next.js 16 SSR :4017 · orangevps — Nix/systemd · React 19 · Tailwind v4 gmw-frontend Next.js 16 SSR :4017 React 19 · Tailwind v4 9router LLM · text + vision API · Architecture component · AI_LLM_BASE_URL 9router LLM text + vision API AI_LLM_BASE_URL Dashboard Users · browser · partysocket · Architecture component Dashboard Users browser · partysocket selfbot events capture → analyze publish events redis-bridge → WS text + vision agentic chatbot Drizzle SQL /api · /ws · /trpc SSR + static HTTPS dashboard imrnes — Tailscale shared state orangevps — Nix/systemd

Capture

  • • Selfbot gateway listens to guild events + voice streams
  • • AI moderation runs LLM on messages, attachments, transcripts

Application

  • • oRPC over HTTP + WS (partysocket auto-reconnect)
  • • Next.js 16 SSR dashboard · nginx :4009 reverse proxy

Shared State

  • • Redis pub/sub relays events + live PCM audio
  • • PostgreSQL via Drizzle persists messages & assessments