Beispiel #1
0
        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
         });
     }
 }