Zum Inhalt

Command: !screenshot (Take Screenshot)

Macht einen Screenshot der aktuellen Scene oder einer spezifischen Source. Speichert als PNG/JPG ins angegebene Verzeichnis.

Voraussetzung: OBS-Verbindung (siehe setup.md) Patterns: Take Screenshot Sub-Actions: 2-3 Permissions: Mod-Only

Action: [Cmd] !screenshot

Sub-Action 1: Take Screenshot

Pfad: OBS Studio → Take Screenshot

Feld Wert
Connection Default
Scene (leer = aktuelle Scene)
Source (leer = ganze Scene, oder spezifische Source-Name)
File Path D:\OBS-Screenshots\screenshot_%filedatetime%.png
Quality Auto

Setzt nach Ausführung:

Variable Inhalt
%filedatetime% Zeitstempel formatiert als yyyyMMdd.hhmmss
%screenshotFile% Voller Pfad zum gespeicherten Bild

Wichtig: %filedatetime% wird zur LAUFZEIT erzeugt — beim Test-Trigger Button kommt nichts raus weil "arguments will NOT be populated when using the Test button".

Sub-Action 2: Send Message

Feld Wert
Message 📸 Screenshot gespeichert: %screenshotFile%
Send using bot account aktiv

Action-Tree

[Cmd] !screenshot
├── 1. Take Screenshot
│       File Path: D:\OBS-Screenshots\screenshot_%filedatetime%.png
└── 2. Send Message: "📸 Screenshot gespeichert: %screenshotFile%"

Command-Einstellungen

Feld Wert
Name !screenshot
Group AzaCraft OBS
Commands !screenshot
!shot
Location Start
Sources Twitch Message
Global Cooldown 10
User Cooldown 30
Grant Type Allow
Groups Moderators

Format wählen via File-Extension

Die Endung im File-Path entscheidet das Format:

Endung Format
.png PNG (verlustfrei, größer)
.jpg / .jpeg JPEG (kleiner, leichte Qualitäts-Verluste)
.bmp BMP (groß, verlustfrei)
.webp WebP

Für Stream-Highlights → PNG. Für viele schnelle Shots → JPG.

Spezifische Source statt ganze Scene

Wenn du nur ein bestimmtes Source-Element knipsen willst (z.B. nur Webcam):

Feld Wert
Source Webcam (exakter Name aus OBS)

Output enthält dann nur die Webcam-Region, nicht den vollen Frame.

Variante: Discord-Webhook mit Screenshot

Discord Basic Webhook kann keine Bilder direkt hochladen (nur URLs/Embeds). Workaround:

  1. Screenshot in einen Ordner speichern den dein Webserver served (z.B. /var/www/sb-shots/)
  2. Discord-Webhook mit URL: https://sb.azacraft.de/shots/screenshot_xyz.png

Für AzaCraft wäre das ein eigener Nginx-Endpoint. Geht über den Scope dieser MD hinaus.

Variante: Auto-Screenshot bei Cheer/Sub/Raid

In den Event-Actions (Bits-Cheer, Sub-Hype, Raid-Welcome) als zusätzliche Sub-Action einbauen:

1. (existing event-handling)
2. Take Screenshot
   File Path: D:\OBS-Highlights\bits_%bits%_%user%_%filedatetime%.png

So hast du automatisch zu jedem big Moment einen Screenshot.

Variante: Take Vertical Screenshot

Falls du Streaming-Software wie Meld Studio nutzt, gibt es auch Meld Studio → Take Vertical Screenshot für TikTok-/Shorts-Workflows.

Für OBS-only gibt's das nicht direkt — Workaround: separate Scene mit 9:16-Layout + Screenshot von dieser Scene.

Häufige Fallen

  • File Path mit Special Chars — Pfade mit Spaces oder Sonderzeichen in Quotes packen oder Underscores/Bindestriche im Filenamen nutzen
  • Disk voll — bei aktivem Auto-Screenshot kann Disk schnell vollaufen. Automatische Cleanup-Routine
  • %filedatetime% nicht ersetzt — du hast wahrscheinlich nicht die Sub-Action sondern den Test Trigger verwendet. Beim echten Trigger wird's korrekt expandiert
  • OBS-WebSocket-Latency — Take Screenshot kann 100-500ms dauern. Nicht zu schnell hintereinander triggern

Quellen