2016-08-20 84 views
0

嘿我建立一個skypebot,我想不通爲什麼我收到消息2倍接收相同的郵件兩次

這是使用

 private void Form1_Load(object sender, EventArgs e) 
    { 
     client = new Skype(); 
     client.MessageStatus += Client_MessageStatus; 
     AttachToSkype(); 
    } 
     private void Client_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status) 
    { 
     MessageBox.Show(pMessage.Sender.Handle + " Says: " + pMessage.Body); 
    } 

感謝您的代碼,我是你們的time -Tristan

+0

我覺得'MessageStatus'事件多次被訂閱。哪些不應該發生。在工作完成後嘗試'取消訂閱'這個事件。 – Venky

+0

「AttachToSkype」功能是什麼? – Jauch

+0

@Jauch它檢查是否打開Skype並嘗試附加 – Tristan

回答

0

MessageStatus事件在每次消息狀態改變時被調用。
您需要檢查TChatMessageStatus。它應該是cmsReceived。

private static void Skype_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status) 
{ 
     if (Status != TChatMessageStatus.cmsReceived) return; 

     MessageBox.Show(pMessage.Sender.Handle + " Says: " + pMessage.Body); 
}