Twitch-Clip in Discord posten¶
Wenn jemand !clip ausführt → Clip-URL automatisch in den Discord-Channel posten. Community sieht den Clip auch wenn nicht live im Stream.
Voraussetzung: Discord-Webhook angelegt (siehe webhook-setup.md) + bestehende !clip Action (!clip) Patterns: Discord Basic Webhook in der !clip Action erweitern Sub-Actions: +1 zur bestehenden !clip Action
Erweiterung der [Cmd] !clip Action¶
Wir hängen eine zusätzliche Sub-Action hinten an — nach der finalen Send Message.
Neue Sub-Action: Discord Basic Webhook¶
Pfad: Integrations → Discord → Basic Webhook
| Feld | Wert |
|---|---|
| Webhook Name | Twitch Clips |
| Webhook URL | https://discord.com/api/webhooks/... (deine URL) |
| Username | AzaCraft Twitch |
| Content | 🎬 **@%user%** hat geclippt: %createClipUrl% |
Erweiterter Action-Tree¶
[Cmd] !clip
├── 1. Create Clip
├── 2. If/Else: %createClipSuccess% Equals false
│ ├── 3. Send Message: "@%user% Clip-Erstellung hat nicht geklappt..."
│ └── 4. Break
├── 5. Global (Set): lastClipUrl = %createClipUrl% (für !lastclip)
├── 6. Send Message: "@%user% hat geclippt: %createClipUrl%"
└── 7. Discord Basic Webhook:
Content: "🎬 **@%user%** hat geclippt: %createClipUrl%"
Wichtig: Sub-Action 7 läuft NUR im Erfolgsfall (Break in Sub-Action 4 verhindert sonst).
Variante: Discord-Notify nur bei wichtigen Clips¶
Wenn nicht jeder Clip in Discord soll (Spam-Vermeidung), nur z.B. bei Subs:
7. If/Else: %isSubscribed% Equals true
└── Discord Basic Webhook: "🎬 **@%user% (Sub)** hat geclippt: %createClipUrl%"
Variante: Discord-Notify nur bei !clip-from-Mod¶
7. If/Else: %isModerator% Equals true
└── Discord Basic Webhook: "🎬 **Mod @%user%** hat geclippt: %createClipUrl%"
Variante: Pro Channel-Point-Reward, nicht via Chat-Command¶
Wenn nur Channel-Point-Reward "Clip This Moment" Discord-Notification triggert:
[Reward] Clip-Reward
├── 1. Create Clip
├── 2. If/Else: %createClipSuccess% Equals false
│ ├── Update Redemption Status: Cancel
│ └── Break
├── 3. Send Message: "🎬 Reward eingelöst: %createClipUrl%"
├── 4. Discord Basic Webhook:
│ Content: "🎬 **@%user%** ($-%rewardCost% Points) clipt: %createClipUrl%"
└── 5. Update Redemption Status: Fulfilled
Variante: Mit Discord-Role-Ping¶
Wenn du eine "Clip-Hunters"-Role hast, die bei jedem Clip gepingt werden soll:
| Feld | Wert |
|---|---|
| Content | <@&123456789012345678> 🎬 **@%user%** hat geclippt: %createClipUrl% |
<@&ROLE_ID> ist der Discord-Role-Ping. Discord-Permissions im Channel müssen Role-Ping erlauben.
Verwendungsbeispiele¶
| Chat-Aktion | Discord-Post |
|---|---|
!clip (User Bob) |
🎬 **@Bob** hat geclippt: https://clips.twitch.tv/... |
!clip (Stream offline) |
(kein Discord-Post wegen Break in Sub-Action 4) |
Twitch-Clip Auto-Discord ohne Chat-Command¶
Wenn auch Clips die NICHT via !clip sondern via Twitch-UI selbst erstellt wurden in Discord landen sollen:
Action: [Event] Twitch Clip Created¶
Trigger: Integrations → HypeRate.io → Twitch Clip Created ODER vergleichbarer Clip-Trigger
Hmm — Streamer.bot hat tatsächlich KEINEN nativen Twitch Clip Created Trigger im Twitch-Bereich. Stattdessen nutzt man die HypeRate.io-Integration ODER man pollt Twitch's Clip-API via Timer-Action.
Pragmatisch: Bleib bei !clip Command. Wer manuell clipped (via Twitch-Tastenkürzel), wird nicht in Discord gepostet.
Häufige Fallen¶
- Sub-Action 7 läuft trotz Fehler — wenn Break in Sub-Action 4 vergessen, Discord-Post auch bei Clip-Fail. Pattern beachten
- Discord-URL preview kommt nicht — manchmal lädt Discord die Twitch-Clip-Preview-Karte nicht sofort. Geduld, sollte nach Sekunden erscheinen
- Webhook gerate-limited — bei sehr aktivem Stream (>30 Clips/Min) wird Discord blocken. Realistisch ist das selten
Quellen¶
- Discord Basic Webhook: https://docs.streamer.bot/api/sub-actions/integrations/discord/basic-webhook
- !clip Action: commands/standard/clip.md