Пример #1
0
        private static void HandleChatMessageReceived(object sender, ChatMessageEventArgs e)
        {
            var message = e.Message;

            if (!message.StartsWith("/") || message.StartsWith("//"))
            {
                SendChatMessage(e.Client.Username, message);
            }
            else
            {
                e.PreventDefault = ProcessChatCommand(e);
            }
        }
Пример #2
0
        /// <summary>
        ///  Parse sent message as chat command
        /// </summary>
        /// <param name="e"></param>
        /// <returns>true if the command was successfully executed</returns>
        private static bool ProcessChatCommand(ChatMessageEventArgs e)
        {
            var commandWithoutSlash = e.Message.TrimStart('/');
            var messageArray        = commandWithoutSlash
                                      .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            if (messageArray.Length <= 0)
            {
                return(false);                // command not found
            }
            var alias = messageArray[0];
            var trimmedMessageArray = new string[messageArray.Length - 1];

            if (trimmedMessageArray.Length != 0)
            {
                Array.Copy(messageArray, 1, trimmedMessageArray, 0, messageArray.Length - 1);
            }

            CommandManager.HandleCommand(e.Client, alias, trimmedMessageArray);

            return(true);
        }