mirror of
https://github.com/Myxelium/Lunaris2.0.git
synced 2026-07-08 05:45:10 +00:00
Add scheduler
This commit is contained in:
30
Bot/Handler/Scheduler/ProcessMessageCommand.cs
Normal file
30
Bot/Handler/Scheduler/ProcessMessageCommand.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using Discord.WebSocket;
|
||||
using MediatR;
|
||||
|
||||
namespace Lunaris2.Handler.Scheduler;
|
||||
|
||||
public class ProcessMessageCommand : IRequest
|
||||
{
|
||||
public ulong? Context { get; set; }
|
||||
public string Content { get; set; }
|
||||
}
|
||||
|
||||
public class ProcessMessageHandler(DiscordSocketClient client) : IRequestHandler<ProcessMessageCommand>
|
||||
{
|
||||
public Task Handle(ProcessMessageCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
if (request.Context == null)
|
||||
return Task.FromResult(Unit.Value);
|
||||
|
||||
var channel = client.GetChannel(request.Context.Value) as ISocketMessageChannel;
|
||||
|
||||
if (channel == null)
|
||||
return Task.FromResult(Unit.Value);
|
||||
|
||||
using var setTyping = channel.EnterTypingState();
|
||||
channel.SendMessageAsync(request.Content);
|
||||
setTyping.Dispose();
|
||||
|
||||
return Task.FromResult(Unit.Value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user