Advertisement
Faithunter

tvrage

Feb 20th, 2016
561
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.13 KB | None | 0 0
  1. alias tvcheck {
  2. var %Classification = $2
  3. var %Year = $3
  4. var %Country = $4
  5. var %Status = $5
  6. var %premiered = $6
  7. var %genres = $7
  8. var %ended = $8
  9. var %network = $9
  10. var %search = $getshow($1)
  11.  
  12. if (%search == $null) { return Not.a.Show }
  13. var %name = tvcheck
  14. $connectSQL(%name)
  15. var %sql = SELECT SQL_CACHE * FROM `prebot`.`tvrage` WHERE `search` = ' $+ %search $+ '
  16. dll MySQL.dll Query %name -d prebot %sql
  17. var %res = $dll(mysql.dll,fetchrow,%name 1 <)
  18. var %row = $gettok($dll(mysql.dll,Rows,%name),-1,32)
  19. $disconnectSQL(%name)
  20.  
  21. if (%row == 0) {
  22. tvrage %search
  23. sleep 500
  24. var %name = tvcheck2
  25. $connectSQL(%name)
  26. var %sql = SELECT SQL_CACHE * FROM `prebot`.`tvrage` WHERE `search` = ' $+ %search $+ '
  27. dll MySQL.dll Query %name -d prebot %sql
  28. var %res = $dll(mysql.dll,fetchrow,%name 1 <)
  29. var %row = $gettok($dll(mysql.dll,Rows,%name),-1,32)
  30. $disconnectSQL(%name)
  31. var %i = 0
  32. while ($get_row(%res,3) == $null && %i < 5) {
  33. inc %i
  34. sleep 1000
  35. var %name = tvcheck3
  36. $connectSQL(%name)
  37. var %sql = SELECT SQL_CACHE * FROM `prebot`.`tvrage` WHERE `search` = ' $+ %search $+ '
  38. dll MySQL.dll Query %name -d prebot %sql
  39. var %res = $dll(mysql.dll,fetchrow,%name 1 <)
  40. $disconnectSQL(%name)
  41. }
  42. }
  43. elseif (%row == 1 && $hget(tvupdate,$1) == $null && tvrage.com isin $get_row(%res,4)) {
  44. .timertvredirect 1 60 tvredirect $remove($get_row(%res,4),http://www.tvrage.com) %search
  45. }
  46. if ($get_row(%res,3) != %rlztv_announced) {
  47. set %rlztv_announced $get_row(%res,3)
  48. echo -t @RACE [12TvRage] 12For: %search :: 12Titre: $get_row(%res,3) :: 12Pays: $get_row(%res,10) :: 12Class: $get_row(%res,12) :: 12Genres: $get_row(%res,13) :: 12Last Ep: $get_row(%res,8) $get_row(%res,9) :: 12Next Ep: $get_row(%res,17) $get_row(%res,18) :: 12Status: $get_row(%res,11) :: 12Premiered: $get_row(%res,5) :: 12Ended: $get_row(%res,7) :: $get_row(%res,4)
  49. }
  50. if (Show not found == $get_row(%res,3) || $get_row(%res,3) == $null) { return Not_Found }
  51. if (! !isin %Genres) {
  52. if (%Genres != $null && $regex($get_row(%res,13),/ $+ %Genres $+ /i)) { return Bad_Genre }
  53. }
  54. else {
  55. if (%Genres != $null && $regex($get_row(%res,13),/ $+ $remove(%Genres,!) $+ /i)) { return $true }
  56. }
  57. if (! !isin %network) {
  58. if (%network != $null && $regex($get_row(%res,14),/ $+ %network $+ /i)) { return Bad_network }
  59. }
  60. else {
  61. if (%network != $null && $regex($get_row(%res,14),/ $+ $remove(%network,!) $+ /i)) { return $true }
  62. }
  63. if (!$regex($get_row(%res,12),/ $+ %Classification $+ /i)) { return Bad_class }
  64. if (!$regex($get_row(%res,10),/^( $+ %Country $+ )/i) || (.AU. isin $1 && AU !isin %country)) { return Bad_Country_-_ $+ $hget(row, Country) }
  65. if (%status != $null && %status !isin $get_row(%res,11)) return bad_status
  66. if (%premiered != $null && %premiered > $get_row(%res,5)) return bad_premiered
  67. if (%ended != $null && $gettok($get_row(%res,7),3,$asc(/)) != $null && %ended > $gettok($get_row(%res,7),3,$asc(/))) return bad_ended
  68.  
  69. if (%year != $null && %year != 0) {
  70. if ($getSeason($1) < $remove($gettok($get_row(%res,8),1,$asc(E)),S)) {
  71. return not_last_season
  72. }
  73. if (($getdate($1) isnum && $getdate($1) < %Year) || ($getdate($get_row(%res,7)) isnum && $getdate($get_row(%res,7)) < %Year)) {
  74. return bad_year_ $+ $getdate($get_row(%res,7))
  75. }
  76. }
  77. if (%year != $null && $get_row(%res,9) == $null && $getdate($1) < %year) return last_ep_infoo_missing
  78. return $true
  79. }
  80. alias getshow {
  81. var %res = $1
  82. var %ishow = 0
  83. while ($regex(%res,/(.*)[\-_.]((S|Season)[0-9]{1,2}|E[0-9]{1,2}|vol[0-9]{1,2}|[0-9]{1,2}x[0-9]{2}|Part[0-9]{1,3}|V[0-9]{1,3}D[0-9]{1,3}|[1-2][0-9][0-9][0-9][\-_.][0-1][0-9][\-_.][0-3][0-9])/i)) {
  84. var %res = $regml(1)
  85. inc %ishow
  86. }
  87. if (%ishow == 0) return
  88. return $replace($replace(%res,.,+),_,+)
  89. }
  90. alias getSeason {
  91. if ($regex($1,/[\-_.]((S|Season)([0-9]{1,2})|([0-9]{1,2})x[0-9]{2})/i)) {
  92. if ($regml(3)) return $regml(3)
  93. if ($regml(2)) return $regml(2)
  94. }
  95. return 01
  96. }
  97. alias tvrage {
  98. if ($2 == 1) { set %exacttv 0 }
  99. else { set %exacttv 1 }
  100. if ($regex($1,/(Police.Women.of)/i)) { set %exacttv 0 }
  101. if ($getshow($1) != $null) {
  102. set %tvshow.search $getshow($1)
  103. }
  104. else {
  105. set %tvshow.search $1
  106. }
  107. if (%tvshow.search != $null) {
  108. set %random $rand(1,10000)
  109. set %searchtv %tvshow.search
  110. sockopen TVRage. $+ %random services.tvrage.com 80
  111. }
  112. }
  113. on *:sockopen:TVRage.*: {
  114. if ($sockerr > 0) return
  115. if (%tvshow.search == $null) return
  116. ;echo -t >> http://services.tvrage.com/tools/quickinfo.php?show= $+ %tvshow.search $+ &exact= $+ %exacttv
  117. sockwrite -n $sockname GET /tools/quickinfo.php?show= $+ $remove(%tvshow.search,.and) $+ &exact= $+ %exacttv HTTP/1.1
  118. sockwrite -n $sockname Host: services.tvrage.com
  119. sockwrite -n $sockname Connection: keep-alive
  120. sockwrite $sockname $crlf
  121. }
  122.  
  123. on *:sockread:TVRage.*:{
  124. var %tvdata
  125. sockread %tvdata
  126. if (Show Name == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Name $gettok(%tvdata,2,$asc(@)) }
  127. if (Show URL == $gettok(%tvdata,1,$asc(@))) { set %tvshow.URL $gettok(%tvdata,2,$asc(@)) }
  128. if (Premiered == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Premiered $gettok(%tvdata,2,$asc(@)) }
  129. if (Started == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Started $gettok(%tvdata,2,$asc(@)) }
  130. if (Ended == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Ended $gettok(%tvdata,2,$asc(@)) }
  131. if (Latest Episode == $gettok(%tvdata,1,$asc(@))) {
  132. set %tvshow.Last $gettok(%tvdata,2,$asc(@))
  133. set %tvshow.LastEp S $+ $replace($gettok(%tvshow.Last,1,$asc(^)),x,E)
  134. set %tvshow.LastEpDate $gettok(%tvshow.Last,3,$asc(^))
  135. }
  136. if (Next Episode == $gettok(%tvdata,1,$asc(@))) {
  137. set %tvshow.Next $gettok(%tvdata,2,$asc(@))
  138. set %tvshow.NextEp S $+ $replace($gettok(%tvshow.Next,1,$asc(^)),x,E)
  139. set %tvshow.NextEpDate $gettok(%tvshow.Next,3,$asc(^))
  140. }
  141. if (Country == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Country $gettok(%tvdata,2,$asc(@)) }
  142. if (Status == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Status $gettok(%tvdata,2,$asc(@)) }
  143. if (Classification == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Classification $gettok(%tvdata,2,$asc(@)) }
  144. if (Genres == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Genres $gettok(%tvdata,2,$asc(@)) }
  145. if (Network == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Network $gettok(%tvdata,2,$asc(@)) }
  146. if (Airtime == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Airtime $gettok(%tvdata,2,$asc(@)) }
  147. if (Runtime == $gettok(%tvdata,1,$asc(@))) { set %tvshow.Runtime $gettok(%tvdata,2,$asc(@)) | add.tvinfo | sockclose $sockname }
  148. }
  149. on *:sockclose:TVRage.*:{
  150. add.tvinfo
  151. }
  152. alias add.tvinfo {
  153. if (%tvshow.Name == $null) { set %tvshow.Name Show not found }
  154. var %name = tvadd
  155. $connectSQL(%name)
  156.  
  157. var %sql = SELECT SQL_CACHE id FROM `prebot`.`tvrage` WHERE `search` = ' $+ %tvshow.search $+ '
  158. dll MySQL.dll Query %name -d prebot %sql
  159. var %row = $gettok($dll(mysql.dll,Rows,%name),-1,32)
  160. var %res = $dll(mysql.dll,fetchrow,%name 1 <)
  161. var %id = $get_row(%res,1)
  162. if (%row == 0) {
  163. var %sql = INSERT INTO `prebot`.`tvrage` (`id`, `search`, `Show`, `URL`, `Premiered`, `Started`, `Ended`, `LastEp`, `LastEpDate`, `Country`, `Status`, `Classification`, `Genres`, `Network`, `Airtime`, `Runtime`, `NextEp`, `NextEpDate`) VALUES
  164. var %sql = %sql (NULL, ' $+ %tvshow.search $+ ', ' $+ $replace(%tvshow.Name,$chr(39),$+(\,$chr(39))) $+ ', ' $+ %tvshow.URL $+ ', ' $+ %tvshow.Premiered $+ ', ' $+ %tvshow.Started $+ ', ' $+ %tvshow.Ended $+ ', ' $+ %tvshow.LastEp $+ ', ' $+ %tvshow.LastEpDate $+ ', ' $+ %tvshow.Country $+ '
  165. var %sql = %sql , ' $+ %tvshow.Status $+ ', ' $+ %tvshow.Classification $+ ', ' $+ %tvshow.Genres $+ ', ' $+ %tvshow.Network $+ ', ' $+ %tvshow.Airtime $+ ', ' $+ %tvshow.Runtime $+ ', ' $+ %tvshow.NextEp $+ ', ' $+ %tvshow.NextEpDate $+ ');
  166. dll MySQL.dll Query %name -d prebot %sql
  167. }
  168. elseif (%row == 1 && %tvshow.Name != Show not found) {
  169. var %sql = UPDATE `prebot`.`tvrage` SET `search` = ' $+ %tvshow.search $+ ',`Show` = ' $+ $replace(%tvshow.Name,$chr(39),$+(\,$chr(39))) $+ ',`URL` = ' $+ %tvshow.URL $+ ',`Premiered` = ' $+ %tvshow.Premiered $+ ',`Started` = ' $+ %tvshow.Started $+ ',`Ended` = ' $+ %tvshow.Ended $+ '
  170. var %sql = %sql ,`LastEp` = ' $+ %tvshow.LastEp $+ ',`LastEpDate` = ' $+ %tvshow.LastEpDate $+ ',`Country` = ' $+ %tvshow.Country $+ ',`Status` = ' $+ %tvshow.Status $+ ',`Classification` = ' $+ %tvshow.Classification $+ ',`Genres` = ' $+ %tvshow.Genres $+ '
  171. var %sql = %sql ,`Network` = ' $+ %tvshow.Network $+ ',`Airtime` = ' $+ %tvshow.Airtime $+ ',`Runtime` = ' $+ %tvshow.Runtime $+ ',`NextEp` = ' $+ %tvshow.NextEp $+ ',`NextEpDate` = ' $+ %tvshow.NextEpDate $+ ' WHERE `tvrage`.`id` = $+ %id $+ ;
  172. dll MySQL.dll Query %name -d prebot %sql
  173. echo -t @RACE [12TvRage-Update] 12For: %tvshow.search :: 12Titre: $replace(%tvshow.Name,$chr(39),$+(\,$chr(39))) :: 12Pays: %tvshow.Country :: 12Class: %tvshow.Classification :: 12Genres: %tvshow.Genres :: 12Last Ep: %tvshow.LastEp %tvshow.LastEpDate :: 12Next Ep: %tvshow.NextEp %tvshow.NextEpDate :: 12Status: %tvshow.Status :: 12Premiered: %tvshow.Premiered :: 12Ended: %tvshow.Ended :: %tvshow.URL
  174. }
  175. unset %searchtv | unset %tvcheck
  176. ;echo > %sql >>> %row
  177. $disconnectSQL(%name)
  178. unset %tvshow.*
  179. }
  180.  
  181. alias pause {
  182. var %e = !echo $color(info) -a * /pause:
  183. if ($version < 5.91) {
  184. %e this snippet requires atleast mIRC version 5.91
  185. }
  186. elseif (!$regex(pause,$1-,/^m?s \d+$/Si)) {
  187. %e incorrect/insufficient parameters. Syntax: /pause <s|ms> <N>
  188. }
  189. elseif ($1 == ms) && ($istok(95 98 ME,$os,32)) {
  190. %e cannot use milliseconds parameter on OS'es beneath Win2k
  191. }
  192. elseif ($2 !isnum 1-) {
  193. %e must specify a number within range 1-
  194. }
  195. else {
  196. var %wsh = wsh $+ $ticks, %cmd
  197. if ($1 == s) %cmd = ping.exe -n $int($calc($2 + 1)) 127.0.0.1
  198. else %cmd = pathping.exe -n -w 1 -q 1 -h 1 -p $iif($2 > 40,$calc($2 - 40),$2) 127.0.0.1
  199. .comopen %wsh wscript.shell
  200. .comclose %wsh $com(%wsh,run,1,bstr*,% $+ comspec% /c %cmd >nul,uint,0,bool,true)
  201. }
  202. }
  203. alias sleep {
  204. pause ms $1
  205. }
  206. alias tv {
  207. var %search = $getshow($1)
  208. if (%search == $null) { var %search = $1 }
  209. var %name = tv
  210. $connectSQL(%name)
  211. var %sql = SELECT SQL_CACHE * FROM `prebot`.`tvrage` WHERE `search` = ' $+ %search $+ '
  212. dll MySQL.dll Query %name -d prebot %sql
  213. var %row = $gettok($dll(mysql.dll,Rows,%name),-1,32)
  214.  
  215. if (%row == 0) {
  216. if (%searchtv != %search) { set %tvcheck 1 }
  217. tvrage $1
  218. sleep 3000
  219. var %sql = SELECT SQL_CACHE * FROM `prebot`.`tvrage` WHERE `search` = ' $+ %search $+ '
  220. dll MySQL.dll Query %name -d prebot %sql
  221. }
  222. var %res = $dll(mysql.dll,fetchrow,%name 1 <)
  223. $disconnectSQL(%name)
  224.  
  225. if ($get_row(%res,3) != %rlztv_announced) {
  226. set %rlztv_announced $get_row(%res,3)
  227. echo -t @RACE [12TvRage] 12For: %search :: 12Titre: $get_row(%res,3) :: 12Pays: $get_row(%res,10) :: 12Class: $get_row(%res,12) :: 12Genres: $get_row(%res,13) :: 12Last Ep: $get_row(%res,8) :: 12Status: $get_row(%res,11) :: 12Premiered: $get_row(%res,5) :: 12Ended: $get_row(%res,7)
  228. }
  229. var %return = Titre: $get_row(%res,3) :: $get_row(%res,10) $+ / $+ $get_row(%res,12) $get_row(%res,13) Premiered: $get_row(%res,5)
  230. return %return
  231. }
  232. alias tvredirect {
  233. if ($hget(tvupdate2,$1) == $null) {
  234. hadd -mu43200 tvupdate $1 1
  235. set %last_search_tv $2
  236. var %random = $rand(1,99999999)
  237. set %tvredirect.url $1
  238. if ($2) { set %tvshow.search $2 }
  239. sockopen TVRageRedirect. $+ %random www.tvrage.com 80
  240. }
  241. }
  242. on *:sockopen:TVRageRedirect.*: {
  243. if ($sockerr > 0) return
  244. if (%tvredirect.url == $null) return
  245. ;echo -t >> http://www.tvrage.com $+ %tvredirect.url
  246. sockwrite -n $sockname GET %tvredirect.url HTTP/1.1
  247. sockwrite -n $sockname Host: www.tvrage.com
  248. sockwrite -n $sockname Connection: keep-alive
  249. sockwrite $sockname $crlf
  250. }
  251.  
  252. on *:sockread:TVRageRedirect.*:{
  253. var %tvdata
  254. sockread %tvdata
  255. if ($regex(%tvdata,<h1 class=\"content_title hover_blue\"><a href=\'.*\'>(.*)<\/a><\/h1>)) { set %tvshow.Name $regml(1)) | set %tvshow.URL http://www.tvrage.com $+ %tvredirect.url }
  256. if ($regex(%tvdata,<b>Classification<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Classification $regml(1) }
  257. if ($regex(%tvdata,<b>Genre<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Genres $regml(1) }
  258. if ($regex(%tvdata,<b>Status<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Status $regml(1) }
  259. if ($regex(%tvdata,<b>Network<\/b>\: (?:<a href=\'\/networks\/.*\'>|)(.[-: ,_\&/\|[:alnum:]]*)(?:<\/a>|) \(<img width=\'15\' height=\'10\' style=\'border: 1px solid black\;\' src=\'http\:\/\/images.tvrage.com\/flags\/.*\'> (.[-: ,_/\|[:alnum:]]*)\)<br>)) { set %tvshow.Network $regml(1) | set %tvshow.Country $regml(2) }
  260. if ($regex(%tvdata,<b>Airs<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Airtime $regml(1) }
  261. if ($regex(%tvdata,<b>Premiere<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Started $remove($replace($regml(1),$chr(32),/),$chr(44)) | set %tvshow.Premiered $getdate(. $+ $replace($regml(1),$chr(32),.) $+ .) }
  262. if ($regex(%tvdata,<b>Ended<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Ended $remove($replace($regml(1),$chr(32),/),$chr(44)) }
  263. if ($regex(%tvdata,<b>Runtime<\/b>: (.[-: ,_/\|[:alnum:]]*)<br>)) { set %tvshow.Runtime $regml(1) }
  264. if ($regex(%tvdata,<h2>(Final|Prev): <a href.*>([0-9]{1,2})x([0-9]{2,3}) .*</a> \((.*)\))) {
  265. if ($regml(2) < 10) {
  266. set %tvshow.LastEp S0 $+ $regml(2) $+ E $+ $regml(3)
  267. }
  268. else {
  269. set %tvshow.LastEp S $+ $regml(2) $+ E $+ $regml(3)
  270. }
  271. set %tvshow.LastEpDate $regml(4)
  272. }
  273. if ($regex(%tvdata,<h2>(Next): <a href.*>([0-9]{1,2})x([0-9]{2,3}) .*</a> \((.*)\))) {
  274. if ($regml(2) < 10) {
  275. set %tvshow.NextEp S0 $+ $regml(2) $+ E $+ $regml(3)
  276. }
  277. else {
  278. set %tvshow.NextEp S $+ $regml(2) $+ E $+ $regml(3)
  279. }
  280. set %tvshow.NextEpDate $regml(4)
  281. }
  282. if (</html> isin %tvdata) { add.tvinfo update | sockclose $sockname }
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement