· 7 years ago · Feb 25, 2018, 05:22 PM
1on *:TEXT:!quoteadd *:#: {
2 if ($nick !isop #) { return }
3 var %stream = $mid(#, 2-)
4 write %quotes $chr(34) $+ $3- $+ $chr(34) $chr(126) $2 $chr(91) $+ $twitch.api.game(%stream) $+ $chr(93) (Title: $twitch.api.status(%stream) $+ ) ( $+ $asctime(dddd doo mmmm yyyy) $+ ) $+
5 msg $chan /me $nick added a quote -> $chr(34) $+ $3- $+ $chr(34) $chr(126) $2 $chr(91) $+ $twitch.api.game(%stream) $+ $chr(93) (Title: $twitch.api.status(%stream) $+ ) ( $+ $asctime(dddd doo mmmm yyyy) $+ ) $+
6}
7
8on *:TEXT:!quotedel *:#: {
9 if ($nick !isop #) { return }
10 write -dl %quotes $2- $+
11 msg $chan /me $nick deleted quote; $2-
12}
13
14on *:TEXT:!quote:#: {
15 if ((%floodQUOTE) || ($($+(%,floodQUOTE.,$nick),2))) { return }
16 set -u2 %floodQUOTE On
17 set -u2 %floodQUOTE. $+ $nick On
18 msg $chan /me $read(%quotes)
19}
20
21-----------------------------------------------------------------
22
23;get channel id from https://api.twitch.tv/kraken/users?login=gashy&client_id= channel name &api_version=5
24
25on $*:text:/^!(status|title|game)/iS:#:{
26 if ( $2 ) {
27 ; Add a line here to allow only mods to update status/game
28 /msg $chan $nick -> $StreamUpdater($chan,Update,$1,$2-)
29 }
30 else {
31 /msg $chan $nick -> $StreamUpdater($chan,Check,$1)
32 }
33}
34
35alias StreamUpdater {
36 var %Chan = $1
37 var %Action = $2
38 var %Type = $mid($lower($3),2)
39 var %NewData = $4-
40 var %ChannelID = 43029630
41 var %TwitchClientID = a9kqxekjcm3htnr3m1zp7mbo595omx1
42 var %TwitchOAuth = 2flrrl450tp7byblin521emzja0xk2
43 var %TwitchURL = https://api.twitch.tv/kraken/channels/ $+ %ChannelID $+ /?api_version=5&client_id= $+ %TwitchClientID $+ &oauth_token= $+ %TwitchOAuth $+ &nocache= $+ $ticks
44
45 if ( %Type == Title ) {
46 var %Type = status
47 }
48 if ( %Action == Update ) {
49 var %Query = channel[ $+ %Type $+ ]= $+ $urlencode(%NewData)
50 JSONOpen -duw StreamUpdater %TwitchURL
51 JSONHttpMethod StreamUpdater PUT
52 JSONHttpFetch StreamUpdater %Query
53 if ( $JSON(StreamUpdater).HttpStatus == 401 ) {
54 return Error sending data to the Twitch API. OAuth token may have expired.
55 }
56 elseif ( $JSON(StreamUpdater).HttpStatus == 200 ) {
57 return The %Type has been updated! New %Type $+ : $JSON(StreamUpdater, %Type).value
58 }
59 else {
60 return Error: Unknown error occurred. Error code: $JSON(StreamUpdater).HttpStatus
61 }
62 }
63 else {
64 JSONOpen -ud StreamUpdater %TwitchURL
65 return Current %Type $+ : $JSON(StreamUpdater, %Type).value
66 }
67
68}
69
70alias urlencode return $regsubex($1-,/([^A-Z0-9])/gi,$+(%,$base($asc(\1),10,16)))