private void OnSkypeMessageReceived(string source, SkypeMessage message) { if (null != SkypeMessageReceived) { SkypeMessageReceived(source, message); } }
protected override SkypeCommandResultBase CheckAndPrepare(SkypeMessage message) { SkypeCommandResultBase result = new SkypeCommandResultBase(this, message); if (string.IsNullOrEmpty(message.Message)) { return(result); } string[] data = message.Message.Split(' '); if (data.Length <= 2) { return(result); } if (!data[0].ToLower().Equals(this.CommandName)) { return(result); } result.Attributes.Add(data[1]); result.Parameters.Add(data[2]); result.Success = true; return(result); }
public SkypeCommandResultBase(SkypeCommandBase command, SkypeMessage message) { this._command = command; this._message = message; this._attributes = new List <string>(); this._parameters = new List <string>(); }
public Edited(SkypeMessage m) { InitializeComponent(); originalMessageTextBox.Text = m.Body; editedMessageTextBox.Text = m.Message.Body; }
private void timeToolStripMenuItem_Click(object sender, EventArgs e) { if (messagesListView.SelectedItems.Count == 1) { SkypeMessage message = (SkypeMessage)messagesListView.SelectedItems[0].Tag; Clipboard.SetText(message.Timestamp.ToString()); } }
void _rmqListener_SkypeMessageReceived(string source, SkypeMessage message) { List <SkypeConversation> allConversations = _skypeListener.GetAllConversations(); if (allConversations.Exists(c => c.DisplayName == source || c.Name == source)) { SendMessage(source, HandleRmqMessageText(message.Message)); } }
private void findToolStripMenuItem_Click(object sender, EventArgs e) { using (Find f = new Find()) { if (f.ShowDialog() == DialogResult.OK) { if (f.SearchType == 0) { foreach (ListViewItem l in messagesListView.Items) { SkypeMessage message = (SkypeMessage)l.Tag; if (message.Sender.ToLower().Contains(f.SearchText)) { l.BackColor = Color.Gray; } else { l.BackColor = getBackColor(l); } } } else if (f.SearchType == 1) { foreach (ListViewItem l in messagesListView.Items) { SkypeMessage message = (SkypeMessage)l.Tag; if (message.Body.ToLower().Contains(f.SearchText)) { l.BackColor = Color.Gray; } else { l.BackColor = getBackColor(l); } } } else if (f.SearchType == 2) { foreach (ListViewItem l in messagesListView.Items) { SkypeMessage message = (SkypeMessage)l.Tag; if (message.Timestamp.ToString().ToLower().Contains(f.SearchText)) { l.BackColor = Color.Gray; } else { l.BackColor = getBackColor(l); } } } } } }
public virtual void Call(SkypeMessage message) { SkypeCommandResultBase result = this.CheckAndPrepare(message); if (result.Success) { this.Execute(result); } }
protected override SkypeCommandResultBase CheckAndPrepare(SkypeMessage message) { SkypeCommandResultBase result = new SkypeCommandResultBase(this, message); if (string.IsNullOrEmpty(message.Message)) { return(result); } string[] data = message.Message.Split(' '); if (!data.ElementAt(0).ToLower().Equals(this.CommandName)) { return(result); } //result.Parameters = data[1]; result.Success = true; return(result); }
public void HandleIncomeMessage(string source, SkypeMessage message, Action <string, string> responseAction) { try { string skypeMessage = message.Message.Trim(); Match chatBotMatch = Regex.Match(skypeMessage, @"^bot,(.*)"); if (chatBotMatch.Success) { string messageForBot = chatBotMatch.Groups[1].Value; if (!string.IsNullOrEmpty(messageForBot)) { string chatBotResponse = _chatterBot.Think(messageForBot); if (!string.IsNullOrEmpty(chatBotResponse)) { chatBotResponse = string.Format("@{0}, {1}", message.AuthorDisplayName, chatBotResponse); responseAction(source, chatBotResponse.Trim()); } } } else { ISkypeCommand command = _commandProvider.GetCommand(skypeMessage); if (null != command) { string response = command.RunCommand(); if (!string.IsNullOrWhiteSpace(response)) { responseAction(source, response); } } } string ruleServiceResponse = _ruleService.GetApplicableRuleResult(message.Message); if (!string.IsNullOrEmpty(ruleServiceResponse)) { responseAction(source, ruleServiceResponse); } } catch (Exception ex) { ErrorLog.LogError("HandleInclomeMessage error:\r\nsource:{0}\r\nmessage:{1}\r\nerror:{2}", source, message.ToString(), ex.Message); } }
private Color getBackColor(ListViewItem l) { if (l.Tag == null) { return(Color.White); } SkypeMessage s = (SkypeMessage)l.Tag; if (s.isRemoved()) { return(Color.PaleVioletRed); } if (s.isEdited()) { return(Color.CornflowerBlue); } return(Color.White); }
private void _skype_MessageStatus(ChatMessage m, TChatMessageStatus t) { if (t == TChatMessageStatus.cmsReceived || t == TChatMessageStatus.cmsSent) { lock (messagesListView) { foreach (ListViewItem l in chatsListView.Items) { if (((SkypeChat)l.Tag).Name == m.Chat.Name) { SkypeMessage s = new SkypeMessage(m); ((SkypeChat)l.Tag).addMessage(s); if (_current != null && _current.Name == m.ChatName) { messagesListView.Items.Add(new ListViewItem(new string[] { s.Sender, s.Body, s.Timestamp.ToString() }) { Tag = s }); } return; } } ListViewItem lvi = new ListViewItem(m.Chat.FriendlyName) { Tag = new SkypeChat(m.Chat) }; chatsListView.Items.Insert(0, lvi); ((SkypeChat)lvi.Tag).addMessage(new SkypeMessage(m)); } } }
private void _skypeListener_SkypeMessageReceived(string source, SkypeMessage message) { _handeMessageService.HandleIncomeMessage(source, message, SendMessage); }
public Unedited(SkypeMessage m) { InitializeComponent(); messageTextBox.Text = m.Body; }
protected abstract SkypeCommandResultBase CheckAndPrepare(SkypeMessage message);
protected override SkypeCommandResultBase CheckAndPrepare(SkypeMessage message) { SkypeCommandResultBase result = new SkypeCommandResultBase(this, message); string command = string.Empty, group = string.Empty, attribute = string.Empty; if (string.IsNullOrEmpty(message.Message)) { return(result); } string[] data = message.Message.Split(' '); if (data.Length == 1) { return(result); } if (!data[0].ToLower().Equals("select")) { return(result); } #region # parse parameter # switch (data[1].ToLower()) { case "all": command = "all"; break; case "transaction": case "transactions": command = "transaction"; break; case "help": command = "help"; break; case "click": case "clicks": command = "click"; break; default: command = "all"; break; } #endregion #region # parse for atributes # if (data.Length == 5 && data[2].ToLower().Equals("for")) { if (data[3].ToLower().Equals("service")) { group = "service"; } else if (data[3].ToLower().Equals("country")) { group = "country"; } // add search text if (!string.IsNullOrEmpty(group)) { attribute = data[4].ToLower(); } } #endregion result.Parameters.Add(command); result.Parameters.Add(group); result.Attributes.Add(attribute); result.Success = true; return(result); }