Except for captions, all stream integrations are Twitch exclusive and are only available when I'm playing Book of Hours. Some are free and can be triggered any time with a chat command. Some are redeems that cost channel points. Some are redeems that cost money.
The stream integrations stack:
- Streamer.bot (used for integrations that are viewer-controlled, like redeems and the book throwing)
- Twitch Integrated Throwing System (anything involving an item dropping on my VTuber model) which has an API you can use to do more complicated things or bulk actions without entering in every individual item you want users to be able to throw at you
- VTube Studio (VTube Studio is what runs my Live2D model and there's a plugin I use that syncs whatever books I'm 'holding' in Book of Hours with a set of Live2D items in VTube Studio. VTube Studio is also used by Twitch Integrated Throwing System to figure out where my model is, how items can hit it, and to make my model automatically move if it gets hit by a book) My VTuber model is "stuck" in a pose that holds a book by default, so it wasn't hard to make my mode automatically "hold" up to five books (there are five inventory slots, ergo at most, my model would need to hold five books)
- BepInEx (plugin loader for Unity Games, it's pretty easy to modify Book of Hours given that it's a 2D game with set locations for things like book shelves, and the fact that JSON dumps of the game are available via the Rowenarium website)
I use a modified version of Book of Hours specifically to implement my various stream integrations. For instance, Weather: Earthquake is a type of weather that exists in the game files but isn't currently used for anything in the base game, and I might be using that for redeems.
I haven't made these integrations available for other streamers to use because I'm not confident in my ability to make a mod that's safe and secure and because this is a relatively niche game and use case. But, if you want to make one and release your own, obviously, feel free to do so. Hopefully, this information gives you a starting point as to how to do these things.