Files
sbox-public/engine/Sandbox.Engine/Platform/Stream/IStreamService.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

42 lines
1.4 KiB
C#

using System.Threading.Tasks;
using System.Collections.Generic;
namespace Sandbox
{
internal interface IStreamService
{
StreamService ServiceType { get; }
Task<bool> Connect();
void Disconnect();
void SendMessage( string message );
void ClearChat();
void BanUser( string username, string reason );
void UnbanUser( string username );
void TimeoutUser( string username, int duration, string reason );
void SetChannelGame( string gameId );
void SetChannelLanguage( string language );
void SetChannelTitle( string title );
void SetChannelDelay( int delay );
Task<StreamUser> GetUser( string username );
Task<List<StreamUserFollow>> GetUserFollowing( string userId );
Task<List<StreamUserFollow>> GetUserFollowers( string userId );
Task<StreamChannel?> GetChannel();
Task<StreamPoll> CreatePoll( string userId, string title, int duration, string[] choices );
Task<StreamPoll> EndPoll( string userId, string pollId, bool archive = false );
Task<StreamPrediction> CreatePrediction( string userId, string title, int duration, string firstOutcome, string secondOutcome );
Task<StreamPrediction> LockPrediction( string userId, string predictionId );
Task<StreamPrediction> CancelPrediction( string userId, string predictionId );
Task<StreamPrediction> ResolvePrediction( string userId, string predictionId, string winningOutcomeId );
Task<StreamClip> CreateClip( string userId, bool hasDelay );
void Tick();
}
}