SaxyPandaBear / TwitchSongRequests

An unofficial Twitch integration that uses channel point redemption events to trigger enqueuing song requests in a connected Spotify player.
MIT License
14 stars 5 forks source link

Add a way to help streams visualize what is in queue #193

Open SaxyPandaBear opened 1 year ago

SaxyPandaBear commented 1 year ago

This is a feature request suggested by a user. I'm not really sure how to do it, but I am willing to try.

I think that the best way to do this might actually to be a Browser Source to use in OBS. There's no good way of adding a chat option like !queue or whatever because this isn't a chat bot. I could put the queue on the site, but that makes me think that just don't the browser source is the best way to implement it. This might be dependent on doing the UI revamp of separating out the UI code in #181.

SaxyPandaBear commented 1 year ago

This did not depend on the revamp. Am working on this right now

SaxyPandaBear commented 1 year ago

This is done. I can work on making it look nicer, but not really interested in that right now

SaxyPandaBear commented 10 months ago

Reopening this because I need to revisit it at some point. The main issue with the original implementation was that it just simply read the user's Spotify queue and regurgitated it with disgusting looking HTML. I think that a player's queue is technically derivable by querying from the messages table, filtering for successful messages by broadcaster ID, and then using the timestamp to derive the spot in the queue, but I don't know how inefficient this is, or how badly it would turn out. I think it's worth trying at least.

SaxyPandaBear commented 10 months ago

Another thing I could do is actually just implement a chat bot and then have that respond with the user's queued songs. I have had separate feature requests for a chat functionality and a visualized queue, so not sure which makes the most sense.

Sacti00n commented 2 months ago

Would love to have a chat bot which responds when a song gets requested and have features like mods can change volume with !volume <1-100> or someone can watch the next 10 songs with !queue or the song length which is playing with !song

SaxyPandaBear commented 2 months ago

Yeah that makes sense. The challenge with a chat bot is it's basically just reinventing the wheel. This service doesn't have a chat component at all currently, so I'd have to host a chat bot and then also have it interact with my API basically. Volume controls is an interesting suggestion.

Sacti00n commented 2 months ago

I have implemented a chatbot in a cloned private repo in pkg/api/callback.go which responds in the chat as soon as someone redeems the channel points. However, since I am a complete novice with go I have not yet been able to figure out how to work with the APIs so that for example the song name is written in the chat. If it can help you in any way, I could send you this callback.go via Discord. My Discord is sacti0n