检查Twitch.tv流是否在线并使用Pircbot接收查看器计数

use*_*962 2 java irc twitch

我正在使用我的IRC Bot for Twitch.tv(pircbot API),并希望在流媒体上线后,机器人自动连接到流的聊天.

我找到了一个Twitch API(这里),但我不知道如何将它实现到我的机器人中,因为我对Java很新.

如果有人可以告诉我如何在线流在线时如何检索任何提示,以及我如何检查现在观看的观众数量,那将会很酷.

问候

小智 5

我意识到这个问题是在大约一年前发布的,但我觉得有必要回答这个问题以防其他人在这篇文章中发现.Cam.Stokes所说的是现实.这是问题的答案.然而,提问者表示他是Java的新手,因此我想使用代码片段来解决Cam.Stokes所说的内容.

如果流是实时的捕获并不太困难.以下代码是我的机器人的代码片段.我有一个线程定期从twitch API接收JSON数据,然后将其加载到JSON对象中.我正在使用的JSON库叫做"minimal-json".如果你问我,优秀轻量级的lib.当你查看代码时,你可以看到我在做什么; 调用twitch-api,从目标流中获取JSON,查看"stream"对象是否填充了数据.如果是这样,流是活的,否则,不是活的.

import com.eclipsesource.json.JsonObject; // minimal-json specific

private static String TWITCH_STREAM = "https://api.twitch.tv/kraken/streams/$c$";

private static String insertChannel(String url, String channel)
{
    return url.replace("$c$", channel );
}

public boolean isStreamLive()
{
    try 
    {
        URL url = new URL(  insertChannel(TWITCH_STREAM, targetChannel) );
        URLConnection conn = url.openConnection();
        BufferedReader br = new BufferedReader( new InputStreamReader( conn.getInputStream() ));
        String inputLine = br.readLine();
        br.close();
        JsonObject jsonObj = JsonObject.readFrom(inputLine);
        return ( jsonObj.get("stream").isNull() )?false:true;
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    } 
    return false;
}
Run Code Online (Sandbox Code Playgroud)

使用PircBot连接机器人非常简单.Nicolai回答.确保你有一个与你的机器人帐户链接的抽搐的Oauth密钥.目标频道为小写字母,前面带#.你应该好好去.

祝好运.