public string SendMessage(AuthFaceBook client, string TextMessage, OptionMessage option)
 {
     if (client.IsLogin)
     {
         string         Data       = string.Format("fb_dtsg={0}&body={1}&send=Send&wwwupp=V3&ids%5B{2}%5D={3}&referrer=&ctype=&cver=legacy", option.DTSG, Uri.EscapeDataString(TextMessage), option.UserId, option.UserId);
         HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("https://m.facebook.com/messages/send/?icm=1");
         getRequest.CookieContainer           = new CookieContainer();
         getRequest.CookieContainer           = client.Cookies; //recover cookies First request
         getRequest.Method                    = WebRequestMethods.Http.Post;
         getRequest.UserAgent                 = client.UserAgent;
         getRequest.AllowWriteStreamBuffering = true;
         getRequest.ProtocolVersion           = HttpVersion.Version11;
         getRequest.AllowAutoRedirect         = false;
         getRequest.ContentType               = "application/x-www-form-urlencoded";
         getRequest.Referer                   = "https://m.facebook.com";
         getRequest.KeepAlive                 = false;
         getRequest.Timeout                   = 45000;
         byte[] byteArray1 = Encoding.ASCII.GetBytes(Data);
         getRequest.ContentLength = byteArray1.Length;
         Stream newStream2 = getRequest.GetRequestStream();  //open connection
         newStream2.Write(byteArray1, 0, byteArray1.Length); // Send the data.
         newStream2.Close();
         output_message = "Message Sent";
         return(output_message);
     }
     else
     {
         output_message = "Facebook Auth Error";
         return(output_message);
     }
 }
        public OptionMessage(string uid, AuthFaceBook client)
        {
            try
            {
                userId  = uid;
                linkReq = "https://m.facebook.com/messages/thread/" + userId;
                HttpWebRequest Arequest = (HttpWebRequest)WebRequest.Create(linkReq);
                Arequest.CookieContainer = new CookieContainer();
                Arequest.CookieContainer = client.Cookies;
                Arequest.UserAgent       = client.UserAgent;
                Arequest.KeepAlive       = false;
                Arequest.Timeout         = 45000;
                HttpWebResponse Aresponse = (HttpWebResponse)Arequest.GetResponse();
                StreamReader    Asr       = new StreamReader(Aresponse.GetResponseStream());
                error += "Step 1 ";
                string Ahtml             = Asr.ReadToEnd();
                var    splitted_fb_dtsg  = Ahtml.Split(new string[] { "type=\"hidden\" name=\"fb_dtsg" }, StringSplitOptions.RemoveEmptyEntries);
                string fb_dtsg_container = splitted_fb_dtsg[1];
                var    splitted_tids     = Ahtml.Split(new string[] { "tids" }, StringSplitOptions.RemoveEmptyEntries);
                string tids_container    = "";
                if (splitted_tids.Length > 2)
                {
                    tids_container = splitted_tids[1];
                }
                else
                {
                    tids_container = splitted_tids[0];
                }
                error += "Step 2 ";

                var    splitted1_fb_dtsg = fb_dtsg_container.Split('"');
                string fb_dtsg_rubsh     = splitted1_fb_dtsg[2];
                for (int u = 0; u < fb_dtsg_rubsh.Length; u++)
                {
                    if (fb_dtsg_rubsh[u] != '"')
                    {
                        dtsg += fb_dtsg_rubsh[u];
                    }
                }
                error += "Step 3 ";
                var splitted1_tids = tids_container.Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries);

                string tids_rubsh = splitted1_tids[1];
                for (int u = 0; u < tids_rubsh.Length; u++)
                {
                    if (tids_rubsh[u] != '"')
                    {
                        tids += tids_rubsh[u];
                    }
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
        }