用Java发送Skype消息,使用java
我需要我的Java项目帮助。 我正在尝试在发生特定操作时在Skype对话中发送消息。
为此,我使用taskan的java-skype API v1.4。
这是我的代码:
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时,没有其他事情发生。 没有消息发送。
对不起,对于迟到的答案,但假设你还没有选择答案,问题仍然存在。
我试图让你的团队以同样的方式与你在一起,但不幸的是它不能像这样工作。 如果这是API问题,或者仅仅是因为微软放弃了第三方API的某些功能无法工作的支持,我不会这么做。
我设法通过寻找不是针对组的聊天工作。 此外,如果您只是在收藏夹中添加您想查找的聊天(组),则会更容易。
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!!");
编辑
此api仅适用于p2p聊天。 如果你想创建一个p2p聊天,你需要在任何聊天中使用/ createmoderatedchat命令,它会创建一个新的空p2p聊天。 任何其他组都将自动基于云计算。
也检查这一点
第二次编辑
API完全死亡
我不太了解Skype API,但可以查看示例以获取帮助。 如果您想在有人向您发送聊天消息时发送聊天消息,则可以使用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不会让新人发表评论。