Files
Lunaris2.0/Bot/Handler/MusicPlayer/DisconnectCommand/DisconnectHandler.cs
2024-10-23 10:31:27 +02:00

22 lines
782 B
C#

using Discord.WebSocket;
using Lavalink4NET;
using MediatR;
namespace Lunaris2.Handler.MusicPlayer.DisconnectCommand;
public record DisconnectCommand(SocketSlashCommand Message) : IRequest;
public class DisconnectHandler(DiscordSocketClient client, IAudioService audioService) : IRequestHandler<DisconnectCommand>
{
public async Task Handle(DisconnectCommand command, CancellationToken cancellationToken)
{
var context = command.Message;
var player = await audioService.GetPlayerAsync(client, context, connectToVoiceChannel: true);
if (player is null)
return;
await player.DisconnectAsync(cancellationToken).ConfigureAwait(false);
await context.SendMessageAsync("Disconnected.", client).ConfigureAwait(false);
}
}