Beispiel #1
0
        private static List<TwitterStatus> SendTextMessage(TwitterService service, MessageEntity message)
        {
            List<TwitterStatus> statuses = new List<TwitterStatus>();

            String hashTag = String.Format("{0}{1}", "#LiveSkypeChat", Environment.NewLine); //TODO: module - defining current top hashtag

            List<string> splittedTwitterMessage = SplitMessage(message.TwitterMessage, hashTag);

            int messgaeIndex = 0;

            foreach (string messagePart in splittedTwitterMessage)
            {
                String twitterMessage = String.Empty;
                messgaeIndex++;

                if (splittedTwitterMessage.Count > 1)
                {
                    String counter = String.Format("{0}/{1}{2}", messgaeIndex, splittedTwitterMessage.Count, Environment.NewLine);
                    twitterMessage = String.Format("{0}{1}{2}: {3}", hashTag, counter, message.TwitterNick, messagePart);
                }
                else
                {
                    twitterMessage = String.Format("{0}{1}: {2}", hashTag, message.TwitterNick, messagePart);
                }

                TwitterStatus status = service.SendTweet(new SendTweetOptions { Status = twitterMessage });
                statuses.Add(status);
            }

            return statuses;
        }
Beispiel #2
0
        public static void SendMessage(MessageEntity message)
        {
            TwitterService service = InitializeTwitterService();

            //check if message contains image url
            //if (Constants.IMAGE_EXTS.Where(x => message.Message.IndexOf(x, StringComparison.OrdinalIgnoreCase) > -1).Count() > 0)
            //{
            //    status = SendImageMessage(service, message);
            //}
            //else
            //{
            //    status = SendTextMessage(service, message);
            //}

            List<TwitterStatus> statuses = SendTextMessage(service, message);
        }
Beispiel #3
0
        private static TwitterStatus SendImageMessage(TwitterService service, MessageEntity message)
        {
            TwitterStatus status = null;

            try
            {
                HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(message.Message);
                WebResponse myResp = myReq.GetResponse();

                using (Stream stream = myResp.GetResponseStream())
                using (MemoryStream ms = new MemoryStream())
                {
                    int count = 0;
                    do
                    {
                        byte[] buf = new byte[1024];
                        count = stream.Read(buf, 0, 1024);
                        ms.Write(buf, 0, count);
                    } while (stream.CanRead && count > 0);

                    status = service.SendTweetWithMedia(new SendTweetWithMediaOptions()
                    {
                        Status = message.Message,
                        DisplayCoordinates = false,
                        Images = new Dictionary<string, Stream>()
                                              {
                                                  {message.TwitterNick,  ms}
                                              }
                    });
                }
            }
            catch (Exception ex)
            {
                Extentions.ConsoleWriteLine(ex.Message, ConsoleColor.Red);
            }

            return status;
        }
Beispiel #4
0
        public static void InsertMessage(MessageEntity message)
        {
            CreateTable(message.ChatID);

            ExecuteCommand(string.Format(Constants.COMMAND_INSERT_MESSAGE, message.ChatID, message.Sender, message.Message.Replace("'", "_"), message.Timestamp));
        }
Beispiel #5
0
        private static void OnMessageReceived(ChatMessage pMessage, TChatMessageStatus status)
        {
            if (status == TChatMessageStatus.cmsReceived)
            {
                Console.WriteLine("[{0}] [{1}] [{2}]", DateTime.Now.ToString("hh:mm:ss"), pMessage.Sender.FullName, pMessage.Body.Replace(Environment.NewLine, " |"));

                string answer = string.Empty;
                if (Slave.HandleMessage(pMessage, out answer))
                {
                    MessageEntity messageEnt = new MessageEntity(pMessage);

                    DBTools.InsertMessage(messageEnt);

                    if (messageEnt.Secure)
                    {
                        TwitterTools.SendMessage(messageEnt);
                    }
                }

                if (!String.IsNullOrEmpty(answer))
                {
                    SendMessage(answer, pMessage);
                }
            }
            else if (status == TChatMessageStatus.cmsSent)
            {
                Console.WriteLine("[{0}] Bot [{1}]", DateTime.Now.ToString("hh:mm:ss"), pMessage.Body.Replace(Environment.NewLine, " |"));
            }

            if (status != TChatMessageStatus.cmsSent && status != TChatMessageStatus.cmsSending)
                pMessage.Seen = true;
        }