用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不会让新人发表评论。

链接地址: http://www.djcxy.com/p/83183.html

上一篇: Sending Skype messages in Java, using the java

下一篇: Backup Odoo db from within odoo