Song-Request-System: Viewer wünschen Musik via YouTube/Spotify #37

Open
opened 2026-07-15 18:55:31 +02:00 by frank · 1 comment
Owner

Kontext

Streamlabs Media Request und StreamElements Song Request erlauben Zuschauern, Musik per Chat-Befehl zu wünschen. Streamertool hat nur den YouTube-Connector (#9), aber kein Song-Request-System.

Ziel

  • Song-Request Widget: Overlay mit aktueller Warteschlange und Now-Playing
  • Quellen: YouTube (via #9), Spotify (neuer Connector)
  • Chat-Command: Viewer schreiben !sr und Song wird zur Queue hinzugefügt
  • Queue-Management: Admin kann Songs überspringen, löschen, priorisieren
  • Limitierung: Pro Viewer, Cooldown, Längenbegrenzung
  • Spotify Now-Playing: Aktueller Titel als Overlay anzeigbar

Technische Leitplanken

  • YouTube-Suche via YouTube Data API (v3) oder Web-Scraping
  • Spotify via Web API + OAuth (Client-Credentials Flow)
  • Chatbot (#32) um !sr-Command erweitern
  • Warteschlange in SQLite (#13)

Akzeptanz

  • !sr fügt Song zur Queue hinzu (YouTube)
  • Spotify-Connector liefert Now-Playing-Daten
  • Song-Request Widget zeigt Queue + Now-Playing
  • Cooldown und Limits pro Viewer funktionieren
  • Admin-UI erlaubt Queue-Management
## Kontext Streamlabs Media Request und StreamElements Song Request erlauben Zuschauern, Musik per Chat-Befehl zu wünschen. Streamertool hat nur den YouTube-Connector (#9), aber kein Song-Request-System. ## Ziel - **Song-Request Widget**: Overlay mit aktueller Warteschlange und Now-Playing - **Quellen**: YouTube (via #9), Spotify (neuer Connector) - **Chat-Command**: Viewer schreiben !sr <song> und Song wird zur Queue hinzugefügt - **Queue-Management**: Admin kann Songs überspringen, löschen, priorisieren - **Limitierung**: Pro Viewer, Cooldown, Längenbegrenzung - **Spotify Now-Playing**: Aktueller Titel als Overlay anzeigbar ## Technische Leitplanken - YouTube-Suche via YouTube Data API (v3) oder Web-Scraping - Spotify via Web API + OAuth (Client-Credentials Flow) - Chatbot (#32) um !sr-Command erweitern - Warteschlange in SQLite (#13) ## Akzeptanz - [ ] !sr <song> fügt Song zur Queue hinzu (YouTube) - [ ] Spotify-Connector liefert Now-Playing-Daten - [ ] Song-Request Widget zeigt Queue + Now-Playing - [ ] Cooldown und Limits pro Viewer funktionieren - [ ] Admin-UI erlaubt Queue-Management
Author
Owner

Erweiterung: Song-Request-Features aus StreamElements

StreamElements bietet folgende Song-Request-Features, die in den Scope dieses Issues aufgenommen werden sollten:

  • Song Queue — Anzeige der aktuellen Warteschlange (!songqueue)
  • Song Skip — Song überspringen (!skip)
  • Wrong Song — Falschen Song melden (!wrongsong)
  • Next Song — Nächsten Song anzeigen (!next)
  • Clear Queue — Queue leeren (!srclear)
  • Song Request Raffle — Gewinnspiel-basierte Song-Auswahl (!sraffle)
  • Volume Control — Lautstärke per Chat (!volume)
  • Remove Song — Song aus Queue entfernen (!removesong)
  • Media Player Widget — Overlay mit Now-Playing, Queue, Cover-Art

Referenz: https://docs.streamelements.com/chatbot/commands/default/songrequest

## Erweiterung: Song-Request-Features aus StreamElements StreamElements bietet folgende Song-Request-Features, die in den Scope dieses Issues aufgenommen werden sollten: - **Song Queue** — Anzeige der aktuellen Warteschlange (!songqueue) - **Song Skip** — Song überspringen (!skip) - **Wrong Song** — Falschen Song melden (!wrongsong) - **Next Song** — Nächsten Song anzeigen (!next) - **Clear Queue** — Queue leeren (!srclear) - **Song Request Raffle** — Gewinnspiel-basierte Song-Auswahl (!sraffle) - **Volume Control** — Lautstärke per Chat (!volume) - **Remove Song** — Song aus Queue entfernen (!removesong) - **Media Player Widget** — Overlay mit Now-Playing, Queue, Cover-Art Referenz: https://docs.streamelements.com/chatbot/commands/default/songrequest
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frank/streamertool#37
No description provided.