我的
java项目需要帮助.我正在尝试在特定操作发生时在Skype对话中发送消息.
为此,我使用的是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之后,没有其他事情发生.没有消息被发送.
解决方法
对于迟到的答案很抱歉,但假设您尚未选择答案,问题仍然存在.
我试图以同样的方式让你的团队,但不幸的是它不会像这样工作.我不知道这是API问题还是因为微软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!!");
编辑
这个api只适用于p2p聊天.如果你想创建一个p2p聊天,你需要在任何聊天中使用/ createmoderatedchat命令,它将创建一个新的空p2p聊天.任何其他组都将基于云自动化.
另请查看this
第二次编辑
API完全死了