2015-01-13 1 views
7

Мне нужна помощь с моим проектом java. В настоящее время я пытаюсь отправить сообщение в Skype-чате, когда происходит конкретное действие.Отправка сообщений Skype на Java с помощью java-skype api по taskan

Для этого я использую java-skype API v1.4 by taskan.

Вот мой код:

try { 
    for (Group group : Skype.getContactList().getAllGroups()) { 
     if ((group.getDisplayName()).equals("Nameofthegroup")) { //Whatever the group name is 
      String id = group.getId(); 
      Skype.chat(id).send(ep.getDisplayName() + " joins !"); 
      ep.sendMessage("Die ID: "+ id); 
     } 
    } 
} catch (Exception e3) { 
    e3.printStackTrace(); 
} 

Я также попытался:

try { 
    String id = Skype.getContactList().getGroup("Groupname").getId(); 
    Skype.chat(id).send(p + "joins!"); 
} catch (SkypeException e1) { 
    // TODO Auto-generated catch block 
    e1.printStackTrace(); 
} 

Моя проблема заключается в том, что Skype регистрирует, что внешняя программа пытается сделать что-то, но после того как я разрешить доступ к Java , ничего больше не происходит. Сообщения не отправляются.

+0

Это не имеет никакого отношения к вашему вопросу, но я хотел бы сказать, что, после того, как не видя несколько вопросов, с практически нет Усилия прилагаются, это освежает, чтобы увидеть тот, который имеет его. –

+0

нужна помощь по-прежнему есть проблема. –

+0

Итак, следуйте инструкциям Captain_D1 и сообщите нам, что такое '' ep''. –

ответ

0

Я не слишком много знаю о API Skype, но вы можете проверить samples за помощью. Если вы хотите отправить сообщение в чате, когда кто-то посылает вам сообщение чата, вы можете использовать пример AutoAnswering:

package com.skype.sample; 

import com.skype.ChatMessage; 
import com.skype.ChatMessageAdapter; 
import com.skype.Skype; 
import com.skype.SkypeException; 

public class AutoAnswering { 
    public static void main(String[] args) throws Exception { 
     Skype.setDaemon(false); // to prevent exiting from this program 
     Skype.addChatMessageListener(new ChatMessageAdapter() { 
      public void chatMessageReceived(ChatMessage received) throws SkypeException { 
       if (received.getType().equals(ChatMessage.Type.SAID)) { 
        received.getSender().send("I'm working. Please, wait a moment."); 
       } 
      } 
     }); 
    } 
} 

Вашего код имеет в нем неопределенную переменную ep, и я не могу дать вам лучший ответ из-за что. Я бы сделал комментарий, спрашивая об этом, но Stack Overflow не позволяет новым людям комментировать.

+0

спасибо, но мне не нужен прослушиватель. я просто хочу отправить сообщение, но он не работает :( –

4

Извините за поздний ответ, но при условии, что вы еще не выбрали ответ, проблема все еще остается открытой.

Я пытался получить группы одинаково с вами, но, к сожалению, это не работает. Я не знаю, если это проблема API или просто потому, что у Microsoft dropped support from third party APIs некоторые из его функций не работают.

Мне удалось найти работу в чате, не для групп. Также было бы намного проще, если бы вы просто пометили (добавили в избранное) чат (группу), который вы хотите найти.

Chat group = null; 

    for (Chat c : Skype.getAllBookmarkedChats()){ 
     group = c; 
    } 

У меня только групповой чат в моих избранных, поэтому его очень легко получить! Если у вас больше чатов, и вам нужен более общий способ поиска конкретного, есть также несколько способов сделать это.

for (Chat c : Skype.getAllChats()){ 
     c.getAllMembers(); 
     c.getId(); 
     c.getWindowTitle(); 
    } 
    group = c; 

Но это было бы сложнее. Метод getId() может выглядеть проще, но мне не удалось заставить его работать. Не знаю снова, если это была моя проблема или просто API, но все, что я пробовал просто, просто не сработало. И не забудьте распечатать результаты на консоли, чтобы облегчить себя.

В конце концов, если вам удастся получить групповой чат это очень легко, чтобы отправить сообщение:

group.send("Hi chat! This is java!!"); 

EDIT

Это апи работает только для p2p чатов. Если вы хотите создать чат p2p, вам нужно использовать команду /createmoderatedchat в любом чате, и она создаст новый пустой чат p2p. Любая другая группа будет автоматически облачной.

Также проверьте this

ВТОРОЙ EDIT

API полностью разряжен

+0

да у меня все еще есть проблема :) я попробую это завтра спасибо за ваш ответ :)) надеюсь, что это сработает –

+0

, если вам нужна дополнительная помощь, просто дайте мне знать –

+0

да есть проблема ... :) эта работа для groupchats? потому что если я попробую, я получу ошибку: NotAttachedException? –

 Смежные вопросы

  • Нет связанных вопросов^_^