Pull to refresh

Skype повернулся лицом к людям?

Instant Messaging *Programming *
Не столь давно Skype открыл для всех Skype for Web (beta).

Официально API (пока) не оглашено, и, вероятно, будет еще изменяться.

Но! Можно забыть мучения со Skype4Com, пляски со Skype4Py, попрощаться со skype-open-source, выкинуть в корзину чтение SQLite'ом из профиля пользователя и т.п.

Итак, с чего начать написание своего клиента/бота —

Попавшиеся под руку исходники:
  • С/C++:
    плагин для Miranda NG
    плагин для Pidgin (спасибо за ссылку apollo2k4)
  • Java:
    Skype4J
  • .NET: (позволил себе собрать IKVM'ом предыдущий пункт)
    skype4j-0.1.5 (last commit) [UPD 2015-12-01]
    History
    skype4j-0.0.9 (last commit) [UPD 2015-11-30]
    skype4j-0.0.9 (last commit) [UPD 2015-10-16]
    skype4j-0.0.9 (last commit) [UPD 2015-08-02]
    skype4j-0.0.9 (last commit) [UPD 2015-07-27]
    skype4j-0.0.9 (last commit) [UPD 2015-07-22]
    skype4j-0.0.9 (last commit) [UPD 2015-07-21]
    skype4j-0.0.9
    Грязный пример
    static void Main(string[] args)
            {
                string username = "user";
                string password = "password";
    
                var skypeBuilder = new SkypeBuilder(user, password).withAllResources();
                skype = skypeBuilder.build();
                skype.login();
                skype.getEventDispatcher().registerListener(new SkypeListener());
                skype.subscribe();
    
                //send message
                var chat = ChatImpl.createChat(skype, "8:" + "MyFriendSharikoff") as ChatIndividual;
                chat.sendMessage(Message.fromHtml("Hello my dear friend. Bye-bye!"));
    
                //do whatever you want
                //грабь корованы
    
                skype.logout();
           }
    
            public class SkypeListener : Listener
            {
                [EventHandler]
                public void OnMessage(MessageReceivedEvent e)
                {
                    var msg = e.getMessage();
                    var from = msg.getSender();
                    var txt = msg.getMessage();
    
                    var chat = msg.getChat();
                    string cap = "";
                    var ndividualChat = chat as IndividualChat;
                    if (ndividualChat != null) cap = ndividualChat.getPartner().getUsername();
    
                    var groupChat = chat as GroupChat;
                    if (groupChat != null)
                    {
                        cap = groupChat.getTopic();
                        if (string.IsNullOrEmpty(cap)) cap = "...list of users here";
                    }
    
                    Console.WriteLine("From: {0} To:{1} Text:{2}", from.getUsername(), cap, txt);
                }
    
            }
    

В общем, можно доставать из архивов и переделывать свои старые WeatherBot, MailCheckerBot, ViktorinaBot и прочая-прочая.

Just FYI, как-то не нашел на хабре.
Tags:
Hubs:
Total votes 67: ↑52 and ↓15 +37
Views 55K
Comments Comments 90