2017-02-10 16 views
0

Я следил за учебником по youtube о том, как создать простой бот Skype. Это было написано в VB и с моими ограниченными знаниями. Я сделал все возможное, чтобы воссоздать его в C# . Я наткнулся на «ручки», которые я могу только предположить, связан с обработчиком событий в C#Skype bot (перевод с VB) не работает

Это код, который у меня есть пока, когда я отправляю себя из другой учетной записи скайпа, он не отвечает. Я позаботился о том, чтобы принять небольшое всплывающее окно в skype, которое позволяет стороннему программному обеспечению.

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

код из учебника, что я следую было это вместо:

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

Ближайший к тому, что я мог бы прийти осуществить это в C#, чтобы добавить пустоту в EventHandler в общественном Form1(), который вы можете увидеть в моем коде.

Заранее благодарен!

+0

выглядит нормально. Проблема не в том коде, который вы опубликовали. – CodingYoshi

ответ

0

Функции чата Skype4Com не поддерживаются в новых версиях Skype. Они устарели где-то между 2013-2014 годами.

С блоге Skype в Feature evolution and support for the Skype Desktop API:

Я рад поделиться тем, что мы будем расширять поддержку двух наиболее широко используемых функций - вызов записи и совместимость с аппаратными устройствами - пока мы не определить альтернативы варианты или выйти из текущего решения. Хотя чат через сторонние приложения перестает работать, как сообщалось ранее.

0

Прошло некоторое время с тех пор, как я работал с программами COM Skype, но ваш код кажется прекрасным.

Тем не менее, я предлагаю вам перейти на современный подход к ботам. Пожалуйста, ознакомьтесь с новыми Microsoft Bot Framework