twitch.sh - randomcrap - random crap programs of varying quality
(HTM) git clone git://git.codemadness.org/randomcrap
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
twitch.sh (780B)
---
1 #!/bin/sh
2 # Twitch.tv playlist grab script.
3 # NOTE: channel name is very case-sensitive ;_;
4
5 err() {
6 printf '%s\n' "$1" >&2
7 exit 1
8 }
9
10 [ "$1" = "" ] && err "Usage: $0 <channel>"
11 clientid="client_id_here"
12 channel="$1"
13 tokenurl="https://api.twitch.tv/api/channels/${channel}/access_token"
14 tokendata=$(curl -s -H "Client-ID: ${clientid}" "$tokenurl")
15 token=$(printf '%s' "${tokendata}" | sed -E -e 's@.*"token":"(.*)","sig".*@\1@g' -e 's@\\"@"@g')
16 sig=$(printf '%s' "${tokendata}" | sed -E 's@.*"sig":"([^"]*)".*@\1@g')
17
18 if test x"$token" != x"" && test x"$sig" != x""; then
19 curl -G \
20 "http://usher.justin.tv/api/channel/hls/${channel}.m3u8" \
21 --data-urlencode "token=${token}" \
22 --data-urlencode "sig=${sig}"
23 else
24 err 'no token found: channel possibly gone offline'
25 fi
26