Example #1
0
        /// <summary>
        /// Say a message in the specified canal.
        /// </summary>
        /// <returns>The result.</returns>
        private List<string> Say()
        {
            char canal = char.Parse(GetParamValue("-canal"));
            string message = GetParamValue("-message").Replace('/', ' ');
            string dest = GetParamValue("-dest");

            try
            {
                if (canal == 'w' && dest != "null")
                {
                    using (BigEndianWriter writer = new BigEndianWriter())
                    {
                        ChatClientPrivateMessage msg = new ChatClientPrivateMessage(message, dest);
                        msg.Serialize(writer);
                        writer.Content = account.HumanCheck.hash_function(writer.Content);
                        MessagePackaging pack = new MessagePackaging(writer);
                        pack.Pack((int)msg.ProtocolID);
                        account.SocketManager.Send(pack.Writer.Content);
                        result.Add("à " + dest + " : " + message + "\n");
                        if (account.DebugMode.Checked)
                            account.Log(new DebugTextInformation("[SND] 851 (ChatClientPrivateMessage)"), 0);
                    }
                }
                else
                {
                    switch (canal)
                    {
                        case 'g':
                            account.Flood.SendMessage(2, message);
                            result.Add("Message envoyé. \n");
                            break;
                        case 'r':
                            account.Flood.SendMessage(6, message);
                                result.Add("Message envoyé. \n");
                            break;
                        case 'b':
                            account.Flood.SendMessage(5, message);
                            result.Add("Message envoyé. \n");
                            break;
                        case 'a':
                            account.Flood.SendMessage(3, message);
                            result.Add("Message envoyé. \n");
                            break;
                        case 's':
                            account.Flood.SendMessage(0, message);
                            result.Add("Message envoyé. \n");
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Add("[ERROR] " + ex.Message + "\n");
                return result;
            }
            if (!(result.Count > 0))
                return Usage("say");
            else
                return result;
        }
Example #2
0
 public void SendPrivateTo(string name, string content)
 {
     if (mods.Contains(name))
     {
         account.Log(new ErrorTextInformation("[Flood] Annulation de l'envoi d'un message privé à " + name + " (Modo)"), 0);
         return;
     }
     using (BigEndianWriter writer = new BigEndianWriter())
     {
         ChatClientPrivateMessage msg = new ChatClientPrivateMessage(content, name);
         msg.Serialize(writer);
         writer.Content = account.HumanCheck.hash_function(writer.Content);
         MessagePackaging pack = new MessagePackaging(writer);
         pack.Pack((int)msg.ProtocolID);
         account.SocketManager.Send(pack.Writer.Content);
         account.Log(new PrivateTextInformation("à " + name + " : " + content), 1);
         if (account.DebugMode.Checked)
             account.Log(new DebugTextInformation("[SND] 851 (ChatClientPrivateMessage)"), 0);
     }
 }