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:
- Screenshot in einen Ordner speichern den dein Webserver served (z.B.
/var/www/sb-shots/) - 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¶
- Take Screenshot: https://docs.streamer.bot/api/sub-actions/obs-studio/take-screenshot