[C# Skype API] Programm schreibt Nachricht doppelt

10/09/2012 11:42 Ønєiiɾɵs#1
Hallo Leute,

ich hab mal grade ein Problem :D Also, es geht darum, dass ich einen Bot für Skype schreibe, der automatisch auf bestimmte Trigger eine Antwort zurückschreibt - wie gesagt, eine Antwort. Nur leider schreibt er zwei :/

Hier ist mein Code:
10/09/2012 11:47 -PinkiWinki-#2
Code:
if (status != TChatMessageStatus.cmsReceived && status != TChatMessageStatus.cmsSent)
                        return;
Nur dann die Nachricht verarbeiten wenn sie gesendet/empfangen wurde. Das Event wird auch ausgelöst wenn die Nachricht gesendet wird(Wenn du was schreibst) und dann nochmal wenn sie gesendet wurde.
10/09/2012 11:53 Ønєiiɾɵs#3
Ach so, aber leider verstehe ich deinen code nicht, habe mich noch nicht so mit der Skype API auseinandergesetzt. Naja, bin jetzt auch erstmal weg, vielleicht komm ich ja noch drauf ;D
10/09/2012 12:03 Kraizy​#4
Na du prüfst zu Beginn mit status = cmsReceived, ob eine Nachricht empfangen wurde, erst dann weiterarbeiten.
10/09/2012 15:58 Gamekeystore#5
Ist zwar nur VB, aber mit bisschen Verstand kannst du das für C# umschreiben:

Code:
   Private Sub skypeAutoWrite(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AddHandler Skype.MessageStatus, AddressOf skype_MessageStatus
    End Sub
    Private Sub skype_MessageStatus(ByVal msg As ChatMessage, ByVal status As TChatMessageStatus)
        If status = TChatMessageStatus.cmsReceived Then
            If CheckBox1.Checked Then
                If TextBox3.Text <> "" Then
                    msg.Chat.SendMessage(TextBox3.Text)
                End If
            End If
            

        End If
    End Sub
10/09/2012 22:43 Ønєiiɾɵs#6
Oh, super, danke :D