58 Commits over 0 Days - ∞cph!
Move interfaces to their own files
Move StreamChatMessage to Sandbox.Engine, fixes issue with events
Sandbox.Streamer front to Sandbox.Engine.Streamer to ensure API can only run on menu or client
AssertMenu in SetStreamService
Don't run events in server context
Remove debug logs
Remove automatic connect/disconnect in game loop, move to menu commands
Rename Sandbox.Stream to Sandbox.Streamer
Keep track of all the chat channels we're in
Add StreamUser.Ban, StreamUser.Unban
Add StreamUser.CreatePoll
Add StreamUser.CreateClip
Add StreamUser.CreatePrediction
Add StreamUser.CreatePrediction
Only proceed with irc login if websocket connected, try a reconnect if it fails to connect
Make Stream.Init awaitable so menu can know if it failed
Check websocket is valid before trying to join/leave channel
Save stream service type to cookies
Add MenuTools.SetStreamService
Init stream service in MenuInterface.Init. Connect/Disconnect stream service in GameLoop
Add StreamGame.Broadcasts
Add Stream.GetGame (from game name)
Add Stream.GetBroadcasts (from game_id)
Add StreamUser.Channel and StreamUser.Broadcast
Remove stream connected/disconnect events for now, doesn't make much sense currently
Move Sandbox.Stream to sandbox.engine so multiple connections aren't made for menu, client, server
Remove OnChat callback, dealing with chat commands should be dealt with addon level
internal set StreamPoll properties
internal set StreamUser properties
internal set StreamChannel properties
internal set StreamBroadcast and StreamChatMessage properties
internal set StreamUserFollow properties
internal set StreamPrediction properties
Move prediction lock/cancel/resolve to StreamPrediction
Optional username param for GetUser
Move get following/followers to StreamUser
Merge BanUser and Timeout user, the only difference is perm ban or timed ban, clarify this in the summary
Change channel modify functions to properties
Parse any time response data to DateTimeOffset
Move IRCMessage to StreamChatMessage constructor
Add summary to all stream events
Deserialize prediction response
Add prediction to api
Move stream events under Sandbox.Stream instead of Sandbox.Event
Document all public Sandbox.Stream functions
Add Stream.CreatePoll, Stream.EndPoll
Deserialize poll response
Add Stream.GetUserFollowing and Stream.GetUserFollowers
Optional channel param in Stream.SendMessage, sends to your own channel if non specified
internal Stream.Connect and Stream.Disconnect, auto connect to twitch service on loop init
Implement Sandbox.Stream.GetUser
Refractor so that TwitchService handles client and api
Add channel modify functions to Sandbox.Stream
Internal twitchapi