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