22 lines
750 B
C#
22 lines
750 B
C#
using NetCord.Gateway;
|
|
using NetCord.Hosting.Gateway;
|
|
using SquadBot.StateMangers;
|
|
|
|
namespace SquadBot.Handlers;
|
|
|
|
public class VoiceStatesHandler : IVoiceStateUpdateGatewayHandler
|
|
{
|
|
private ILogger _logger;
|
|
private VoiceStateManager _voiceStateManager;
|
|
public VoiceStatesHandler(ILogger<VoiceStatesHandler> Logger, VoiceStateManager vsManager)
|
|
{
|
|
_logger = Logger ?? throw new System.ArgumentNullException(nameof(Logger));
|
|
_voiceStateManager = vsManager ?? throw new System.ArgumentNullException(nameof(vsManager));
|
|
}
|
|
|
|
public async ValueTask HandleAsync(VoiceState voice_event)
|
|
{
|
|
if (voice_event.User == null) return;
|
|
await _voiceStateManager.HandleVoiceStateChange(voice_event);
|
|
}
|
|
} |