using SharpChat.Events; using SharpChat.SockChat.PacketsS2C; namespace SharpChat.SockChat.Commands { public class MessageBroadcastCommand : ISockChatClientCommand { public bool IsMatch(SockChatClientCommandContext ctx) { return ctx.NameEquals("say") || ctx.NameEquals("broadcast"); } public void Dispatch(SockChatClientCommandContext ctx) { if(!ctx.User.Permissions.HasFlag(UserPermissions.Broadcast)) { ctx.Chat.SendTo(ctx.User, new CommandNotAllowedErrorS2CPacket(ctx.Name)); return; } ctx.Chat.Events.Dispatch( "msg:add", ctx.User, new MessageAddEventData(string.Join(' ', ctx.Args)) ); } } }