SquadBot/Handlers/VoiceStatesHandler.cs

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);
}
}