예제 #1
0
        public void StartProcessor()
        {
            com = new Commands();
            Console.WriteLine("Now listening...");
            listener.Start();
            while (listener.IsListening)
            {
                var context = listener.GetContext();
                Console.WriteLine("Incoming SMS.");

                string smsBody = context.Request.QueryString["Body"].Trim();
                string smsFrom = context.Request.QueryString["From"].Substring(2);

                List <string> smsImageUrls = new List <string>();
                string        tempSmsImageUrl;


                for (int i = 0; i < 10; i++) //Process 10 possible MediaUrls
                {
                    tempSmsImageUrl = context.Request.QueryString["MediaUrl" + i.ToString()];
                    if (!string.IsNullOrEmpty(tempSmsImageUrl))
                    {
                        smsImageUrls.Add(tempSmsImageUrl);
                    }
                    else
                    {
                        break;
                    }
                }

                string smsImageUrlList = "";
                foreach (string url in smsImageUrls)
                {
                    smsImageUrlList = smsImageUrlList + url + " ";
                }
                smsImageUrlList.Trim();

                string contact = com.getContactFromNumber(smsFrom);

                if (!string.IsNullOrEmpty(contact))
                {
                    smsFrom = contact.First().ToString().ToUpper() + contact.Substring(1); //Capitalize first letter.
                }
                usingBot.NotifySms(smsFrom, smsBody, smsImageUrlList);
            }

            Console.WriteLine("Done listening.");
        }