二回

2016-08-20 4 views
0

私はskypebotを構築していると私はこれがため二回

 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); 
    } 

感謝を使用してコードイムが2倍

メッセージを受信して​​いますなぜ私は把握することはできませんねえ、あなた時刻-Tristan

+0

何とか 'MessageStatus'イベントが何度も購読されていると思います。それは起こらないはずです。作業終了後にこのイベントを「購読解除」してみてください。 – Venky

+0

「AttachToSkype」機能とは何ですか? – Jauch

+0

@Jauchスカイプが開いていて、添付しようとしているかどうかを調べる – 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); 
}