Skip to content

Instantly share code, notes, and snippets.

@JustBru00
Created September 1, 2016 02:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JustBru00/19204a8432860d80918d9b3820ecc9f0 to your computer and use it in GitHub Desktop.
Save JustBru00/19204a8432860d80918d9b3820ecc9f0 to your computer and use it in GitHub Desktop.
package com.gmail.justbru00.twitch.announcer.v1.main;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
public class TwitchAnnouncer extends JavaPlugin implements CommandExecutor {
private static String TWITCH_STREAM = "https://api.twitch.tv/kraken/streams/$c$";
static JSONParser parser = new JSONParser();
public static void main(String[] args) {
System.out.println("Checking Status of Channel 'JustBru00'.");
if (isStreamLive("JustBru00")) {
System.out.println("Channel is streaming now.");
} else {
System.out.println("Channel is not streaming. (Or a bad connection.)");
}
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
return false;
}
@Override
public void onDisable() {
}
@Override
public void onEnable() {
}
private static String insertChannel(String url, String channel)
{
return url.replace("$c$", channel);
}
public static boolean isStreamLive(String channel) {
String inputLine = "";
try {
URL url = new URL(insertChannel(TWITCH_STREAM, channel) );
URLConnection conn = url.openConnection();
BufferedReader br = new BufferedReader( new InputStreamReader(conn.getInputStream()));
inputLine = br.readLine();
br.close();
Object obj = parser.parse(inputLine);
JSONObject obj2 = (JSONObject) obj;
if (obj2.get("stream") == null) {
return false;
}
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment