2017-02-10 34 views
0

Ich habe ein Tutorial auf youtube verfolgt, wie man einen einfachen Skype Bot erstellt. Es wurde in VB geschrieben und mit meinem begrenzten Wissen tat ich mein Bestes, um es in C# neu zu erstellen. Ich stolperte über "Griffe", die ich nur vermuten kann ist in C#Skype Bot (Übersetzung von VB) funktioniert nicht

Dies ist der Code, den ich habe soweit aber melde ich mich von einem anderen skype-account aus es antwortet nicht. Ich habe sichergestellt, das kleine Popup auf Skype zu akzeptieren, das Software von Drittanbietern erlaubt.

public partial class Form1 : Form 
{ 
    Skype oSkype = new Skype(); 
    string trigger = "!"; 

    public Form1() 
    { 
     InitializeComponent(); 
     oSkype.Attach(7, false); 
     oSkype.MessageStatus += new _ISkypeEvents_MessageStatusEventHandler(oSkype_MessageStatus); 
    } 


    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 

    private void oSkype_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status) 
    { 
     if (Status == TChatMessageStatus.cmsReceived || Status == TChatMessageStatus.cmsSent) 
     { 
      string msg = pMessage.Body; 
      Chat c = pMessage.Chat; 

      if (msg.StartsWith(trigger)) 
      { 
       listBox1.Items.Add(DateTime.Now.ToLongTimeString() + ": " + pMessage.Sender.Handle + " sent you a message"); 
       msg = msg.Remove(0, 1).ToLower(); 


       if (msg == "test") 
       { 
        c.SendMessage("Test"); 
       } 
       else 
       { 
        c.SendMessage("Unrecognizable command."); 
       } 
      } 
     } 
    } 
} 

Der Code aus dem Tutorial, dass ich diese stattdessen habe folgende:

oSkype_MessageStatus(pMessage as ChatMessage, Status as TChatMessageStatus) Handles oSkype.MessageStatus 

Die am nächsten, was ich kommen könnte dies in C# zu implementieren war, die Lücke zu den Eventhandler in public Form1 hinzufügen() die du in meinem Code sehen kannst.

Vielen Dank im Voraus!

+0

sieht gut aus. Das Problem ist nicht in dem von Ihnen geposteten Code enthalten. – CodingYoshi

Antwort

0

Skype4Com die Chat-Funktionen sind nicht in den neueren Skype-Versionen unterstützt. Sie wurden irgendwo zwischen 2013-2014 veraltet.

Von Blogeintrag Skype Feature evolution and support for the Skype Desktop API:

Ich bin froh, dass wir für zwei Unterstützung teilen der am häufigsten verwendeten Funktionen werden erstreckt - Aufzeichnung und Kompatibilität mit Hardware-Geräten nennen - bis wir alternative bestimmen Optionen oder beenden Sie die aktuelle Lösung. Chat über Anwendungen von Drittanbietern funktioniert nicht mehr wie zuvor kommuniziert.

0

Es ist schon eine Weile her, dass ich mit COM Skype Bots gearbeitet haben, aber Ihr Code scheint in Ordnung zu sein.

Trotzdem würde ich vorschlagen, Sie zu einem modernen Ansatz auf Bots zu bewegen. Bitte beachten Sie auch die neuen Microsoft Bot Framework

Verwandte Themen