Closed cohlexyz closed 1 year ago
Since you're already here, I saw you lost all the rumble super-chats today, so I thought I'd try and at least get a basic version of a dashboard going:
It saves the donations using browser local storage, so they'll stick around until you manually delete them with the buttons at the top. You can also re-send them to the obs overlay with the "🔄" icon.
I can make a PR for this tomorrow if you want.
I don't need it separated by source, I'd prefer it by chronological. Maybe if there's multiple ways of viewing it that's fine.
Whatever you're doing shouldn't be stored in JS btw. It needs to be accessible from the Rust server.
I can merge it into one list, but why would the data need to be accessible from the server? I've added the dashboard as an /dashboard
endpoint to the server, but the page is just a static page with some javascript connecting to the websocket and parsing the incoming donations.
Because then I can do anything I want with it and do not rely on the overlay to manage data?
I thought of the dashboard more as just a way to keep track of the donations for a stream. Would you want the data permanently stored on the server side via sqlite or something, or just temporarily in memory? For simplicity I'd probably just go with the latter for now.
Some sort of stored database would probably be a nice feature for collecting a streamer's long-term financial data. I can handle moving it from memory if Jersh gives the OK.
Rust can easily store messages in memory for the lifetime of the program. An SQLite DB would be overkill, unless you really want to. But it needs some way to delineate between streams which is a lot of work.
But it needs some way to delineate between streams which is a lot of work.
I have some ideas as to how I could make this work. It doesn't seem hard to do as opposed to typical DB work, but I would rather prioritize more important things, if any.
The #\1 issue I have right now is that I have no access to superchats on Rumble if anything happens to the tab the userscript is on. #\2 is that Odysee breaks because we need to switch to websocket scraping.
I can store fetched superchats into a vector or something to keep it independent of browser state. That doesn't seem like it would take me long to do. Ngl, I can't figure out Odysee's interface and actually find a stream to test with; maybe I'm just too dumb for alt tech.
I don't know nothing about no coding but I do know how to stream to Odysee, not sure your timezone but tomorrow when I get off work if you need a stream to use as a guinea pig I'd be happy to offer myself up. I get home around 3:30PM PDT Commiefornia time, if you need the help let me know and I'll go live.
I can store fetched superchats into a vector or something to keep it independent of browser state. That doesn't seem like it would take me long to do.
If you add an endpoint where the dashboard can fetch the stored superchats I can switch from using browser storage to that.
!endpoll
now highlights the winning option and then fades out after 10 seconds:!1
or just the number1
I also increased the brightness of the Username color for rumble subscribers a bit to try and make them more readable in superchats.
Before:
After:
Closes #6