Add twitch clip support (#659)

This commit is contained in:
Calvin Montgomery 2017-05-27 11:49:27 -07:00
parent 995ab142e3
commit e9c519c6e2
6 changed files with 36 additions and 1 deletions

View file

@ -385,6 +385,8 @@ function preprocessConfig(cfg) {
if (cfg["twitch-client-id"]) {
require("cytube-mediaquery/lib/provider/twitch-vod").setClientID(
cfg["twitch-client-id"]);
require("cytube-mediaquery/lib/provider/twitch-clip").setClientID(
cfg["twitch-client-id"]);
} else {
LOGGER.warn("No Twitch Client ID set. Twitch VOD links will " +
"not work. See twitch-client-id in config.template.yaml and " +

View file

@ -12,6 +12,7 @@ var Vidme = require("cytube-mediaquery/lib/provider/vidme");
var Streamable = require("cytube-mediaquery/lib/provider/streamable");
var GoogleDrive = require("cytube-mediaquery/lib/provider/googledrive");
var TwitchVOD = require("cytube-mediaquery/lib/provider/twitch-vod");
var TwitchClip = require("cytube-mediaquery/lib/provider/twitch-clip");
import { LoggerFactory } from '@calzoneman/jsli';
const LOGGER = LoggerFactory.getLogger('get-info');
@ -391,6 +392,25 @@ var Getters = {
});
},
/* twitch clip */
tc: function (id, callback) {
var m = id.match(/^([A-Za-z]+)$/);
if (m) {
id = m[1];
} else {
process.nextTick(callback, "Invalid Twitch VOD ID");
return;
}
TwitchClip.lookup(id).then(video => {
const media = new Media(video.id, video.title, video.duration,
"tc", video.meta);
process.nextTick(callback, false, media);
}).catch(function (err) {
callback(err.message || err, null);
});
},
/* ustream.tv */
us: function (id, callback) {
/**

View file

@ -244,6 +244,8 @@
return id;
case "sb":
return "https://streamable.com/" + id;
case "tc":
return "https://clips.twitch.tv/" + id;
default:
return "";
}