使用taskan的java-skype api以Java形式发送Skype消息

我的 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完全死了

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量