protected override Task HandleCommandAsync(CommandContext context, string command, string[] parameters) { if (parameters.Length <= 2 || parameters[0].Length > 1) { context.SendMessageAsync("Parameters are invalid."); return(Task.CompletedTask); } BroadcastTier broadcastTier = (BroadcastTier)byte.Parse(parameters[0]); if (broadcastTier > BroadcastTier.Low) { context.SendMessageAsync("Invalid broadcast tier."); return(Task.CompletedTask); } IEnumerable <WorldSession> allSessions = NetworkManager <WorldSession> .GetSessions(); foreach (WorldSession session in allSessions) { session.EnqueueMessageEncrypted(new ServerRealmBroadcast { Tier = broadcastTier, Message = string.Join(" ", parameters, 1, parameters.Length - 1) }); } return(Task.CompletedTask); }
public void HandleBroadcastMessage(ICommandContext context, [Parameter("Tier of the message being broadcast.", ParameterFlags.None, typeof(EnumParameterConverter <BroadcastTier>))] BroadcastTier tier, [Parameter("Message to broadcast.")] string message) { foreach (WorldSession session in NetworkManager <WorldSession> .Instance.GetSessions()) { session.EnqueueMessageEncrypted(new ServerRealmBroadcast { Tier = tier, Message = message }); } }