Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров56K
Не столь давно 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, как-то не нашел на хабре.
Теги:
Хабы:
Всего голосов 67: ↑52 и ↓15+37
Комментарии90

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань