using SharpChat.Events; using System; using System.Linq; namespace SharpChat.SockChat.Commands { public class MessageActionCommand : ISockChatClientCommand { public bool IsMatch(SockChatClientCommandContext ctx) { return ctx.NameEquals("action") || ctx.NameEquals("me"); } public void Dispatch(SockChatClientCommandContext ctx) { if(!ctx.Args.Any()) return; string actionStr = string.Join(' ', ctx.Args); if(string.IsNullOrWhiteSpace(actionStr)) return; ctx.Chat.DispatchEvent(new MessageCreateEvent( SharpId.Next(), ctx.Channel, ctx.User, DateTimeOffset.Now, actionStr, false, true, false )); } } }