Advertisement
illpastethat

YouTube Script (Parse Vids and Search) v2.4 -- Colorless

Jul 10th, 2011
417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 9.39 KB | None | 0 0
  1. ;YouTube Script (Parse Vids and Search) v2.4
  2. ;Unstable Version (Most Colors Removed)
  3. ;Made by nick1
  4. ;Last edit July 10 2011
  5.  
  6. raw 408:*: msg $2 $remove($strip($13-),$chr(9))
  7.  
  8. on $*:text:/^[!@]y(outube|t|tsearch|search|ousearch|outubesearch)/Si:*:{
  9.   if ($($+(%,botflood.,$nick),2)) {
  10.     if ($($+(%,botflood.,$nick),2) >= 50) {
  11.       ignore -u60 $address($nick,0)
  12.       msg $chan $+($nick,$chr(44)) You Have Been Put On Ignore For 60secs For Abusing The Bot.
  13.       halt
  14.     }
  15.     elseif ($($+(%,botflood.,$nick),2) >= 40) {
  16.       msg $chan $+($nick,$chr(44)) Please Do Not Abuse The Bot.
  17.       inc -z $+(%,botflood.,$nick) 20
  18.       halt
  19.     }
  20.     else {
  21.       inc -z $+(%,botflood.,$nick) 25
  22.     }
  23.   }
  24.   else {
  25.     inc -z $+(%,botflood.,$nick) 25
  26.   }
  27.   var %ticks $ticks
  28.   if ($2) {
  29.     set $+(%,ysearch.,%ticks,.msgtype) $iif($left($strip($1),1) == @,msg $chan,notice $nick)
  30.     set $+(%,ysearch.,%ticks,.search) $replace($2-,$chr(32),+)
  31.     sockopen $+(ysearch.,%ticks) youtube.com 80
  32.   }
  33.   elseif ($2 == $null) {
  34.     msg $chan $+(4,$nick,,$chr(44)) 10Incorrect Syntax: Try ! or @ 4YOUTUBE10 <search term>
  35.   }
  36. }
  37.  
  38. on *:input:*:{
  39.   if (($remove($1,$left($strip($1),1)) == ysearch) || ($remove($1,$left($strip($1),1)) == ytsearch) || ($remove($1,$left($strip($1),1)) == yt) || ($remove($1,$left($strip($1),1)) == youtubesearch)) {
  40.     set $+(%,ysearch.,$ticks,.msgtype) msg $active
  41.     set $+(%,ysearch.,$ticks,.search) $replace($2-,$chr(32),+)
  42.     sockopen $+(ysearch.,$ticks) youtube.com 80
  43.   }
  44.   elseif (*youtube.com* iswm $1-) {
  45.     var %i 1
  46.     while (%i <= $numtok($1-,32)) {
  47.       if ((*youtube.com* iswm $($+($,%i),2)) || (*youtu.be* iswm $($+($,%i),2))) {
  48.         set $+(%,youtube.,$ticks,.url) $($+($,%i),2)
  49.         set $+(%,youtube.,$ticks,.tag) $remove($strip($($+($,%i),2)),http://,www.,youtube.com,youtu.be/,/watch?v=,$chr(31))
  50.       }
  51.       inc %i
  52.     }
  53.     set $+(%,youtube.,$ticks,.msgtype) msg $active
  54.     set $+(%,youtube.,$ticks,.nick) $nick
  55.     set $+(%,youtube.,$ticks,.chan) $chan
  56.     set $+(%,youtube.,$ticks,.network) $network
  57.     sockopen $+(youtube.,$ticks) youtube.com 80
  58.   }
  59.   elseif (($1 == !youtubelinks) || ($1 == !youtubefetch) || ($1 == !youtube)) {
  60.     set %youtubefetch $addtok(%youtubefetch,$iif(($2),$2,$chan),44)
  61.     echo -ac info I will message $iif(($2),$2,$chan) with youtube info...
  62.   }
  63.   elseif (($1 == !noyoutubelinks) || ($1 == !noyoutubefetch) || ($1 == !noyoutube)) {
  64.     set %youtubefetch $remtok(%youtubefetch,$iif(($2),$2,$chan),44)
  65.     echo -ac info I wont message $iif(($2),$2,$chan) with youtube info...
  66.   }
  67. }
  68.  
  69. alias checkifsockopen {
  70.   if ($sock(%checksockname)) { sockclose %checksockname
  71.     $($+(%,youtube.,$remove(%checksockname,youtube.,ysearch.).msgtype),2) $+(12[4,YOUTUBE,12])10 Error Encountered!
  72.   }
  73. }
  74.  
  75. on *:sockopen:ysearch*: {  
  76.   sockwrite -nt $sockname GET /results?search_query= $+ $($+(%,ysearch.,$remove($sockname,ysearch.),.search),2) HTTP/1.1
  77.   sockwrite -nt $sockname Host: www.youtube.com
  78.   sockwrite -nt $sockname $crlf
  79. }
  80.  
  81. alias nohtml { return $regsubex($$1-,/^[^<]*>|<[^>]*>|<[^>]*$/g,) }
  82.  
  83. on *:SOCKREAD:ysearch*: {
  84.   if ($sockerr) { echo -a SOCKET ERROR: $sockerr | halt }
  85.   sockread %sockreader
  86.   if (*<h3>* iswm %sockreader) {
  87.     set $+(%,ysearch.,$remove($sockname,ysearch.),.title) $regsubex($nohtml($replace($remove(%sockreader,|),<b>,,</b>,,&quot;,",&amp;,&)),/&#(\d\d?\d?\d?);/g,$chr(\1))
  88.     tokenize 34 %sockreader
  89.     set $+(%,ysearch.,$remove($sockname,ysearch.),.tag) $2
  90.   }
  91.   elseif (*</div><h3* iswm %sockreader) {
  92.     set $+(%,ysearch.,$remove($sockname,ysearch.),.title) $regsubex($nohtml($replace($remove(%sockreader,|),<b>,,</b>,,&quot;,",&amp;,&)),/&#(\d\d?\d?\d?);/g,$chr(\1))
  93.     tokenize 34 %sockreader
  94.     set $+(%,ysearch.,$remove($sockname,ysearch.),.tag) $4
  95.   }
  96.   elseif (*<span class="video-time">* iswm %sockreader) {
  97.     set $+(%,ysearch.,$remove($sockname,ysearch.),.time) $nohtml($remove(%sockreader,Add to,Added,to,queue))
  98.   }
  99.   elseif (*<span class="username-prepend">* iswm %sockreader) {
  100.     set $+(%,ysearch.,$remove($sockname,ysearch.),.user) $remove($nohtml(%sockreader),by)
  101.   }
  102.   elseif (*<span class="viewcount">* iswm %sockreader) {
  103.     set $+(%,ysearch.,$remove($sockname,ysearch.),.viewcount) $remove($nohtml(%sockreader),|,views)
  104.     $($+(%,ysearch.,$remove($sockname,ysearch.),.msgtype),2) 1,0You0,4Tube $strip(10Link:4 http://youtube.com $+ $($+(%,ysearch.,$remove($sockname,ysearch.),.tag),2) 10Title:4 $($+(%,ysearch.,$remove($sockname,ysearch.),.title),2) 10Length:4 $($+(%,ysearch.,$remove($sockname,ysearch.),.time),2) 10Views:4 $($+(%,ysearch.,$remove($sockname,ysearch.),.viewcount),2) 10User:4 $($+(%,ysearch.,$remove($sockname,ysearch.),.user),2))
  105.     unset $+(%,ysearch.,$remove($sockname,ysearch.),*)
  106.     sockclose $sockname
  107.   }
  108. }
  109.  
  110.  
  111.  
  112. on $*:text:/youtu(.be|be.com)/Si:*: {
  113.   if (($chan != #nova) && ($nick != Runescript)) {
  114.     if ($($+(%,botflood.,$nick),2)) {
  115.       if ($($+(%,botflood.,$nick),2) >= 50) { ignore -u60 $address($nick,0) | msg $chan $+($nick,$chr(44)) You Have Been Put On Ignore For 60secs For Abusing The Bot. | halt }
  116.       elseif ($($+(%,botflood.,$nick),2) >= 40) { msg $chan $+($nick,$chr(44)) Please Do Not Abuse The Bot. | inc -z $+(%,botflood.,$nick) 20 | halt }
  117.       else { inc -z $+(%,botflood.,$nick) 10 }
  118.     }
  119.     else { inc -z $+(%,botflood.,$nick) 10 }
  120.     var %i 1
  121.     var %ticks $ticks
  122.     while (%i <= $numtok($1-,32)) {
  123.       if ((*youtube.com* iswm $($+($,%i),2)) || (*youtu.be* iswm $($+($,%i),2))) {
  124.         set $+(%,youtube.,%ticks,.url) $($+($,%i),2)
  125.         set $+(%,youtube.,%ticks,.tag) $remove($strip($($+($,%i),2)),http://,www,$chr(46),youtube,com,youtu,be,/,watch?v=,$chr(31))
  126.       }
  127.       inc %i
  128.     }
  129.     if (($me == Mafbot) || ($nick($chan,$me,@&~)) || ($istok(%youtubefetch,$chan,44))) {
  130.       set $+(%,youtube.,%ticks,.msgtype) msg $chan
  131.     }
  132.     elseif (($me != Mafbot) && (!$nick($chan,$me,@&~)) && (!$istok(%youtubefetch,$chan,44))) {
  133.       set $+(%,youtube.,%ticks,.msgtype) echo -a
  134.     }
  135.     if (($($+(%,youtube.,%ticks,.tag),2) != %_youtube.last) && ($($+(%,youtube.,%ticks,.tag),2) != $null)) {
  136.       set $+(%,youtube.,%ticks,.nick) $nick
  137.       set $+(%,youtube.,%ticks,.chan) $chan
  138.       set $+(%,youtube.,%ticks,.network) $network
  139.       sockopen $+(youtube.,%ticks) youtube.com 80
  140.     }
  141.   }
  142. }
  143.  
  144. on *:sockopen:youtube*: {
  145.   sockwrite -nt $sockname GET $+(/,watch?v=,$($+(%,youtube.,$remove($sockname,youtube.),.tag),2)) HTTP/1.1
  146.   sockwrite -nt $sockname Host: www.youtube.com
  147.   sockwrite -nt $sockname $crlf
  148. }
  149.  
  150. on *:SOCKREAD:youtube*: {
  151.   if ($sockerr) { echo -a SOCKET ERROR: $sockerr | halt }
  152.   else {
  153.     var %sockreader
  154.     sockread %sockreader
  155.     if (*Location: http://www.youtube.com/verify_age?next_url=* iswm %sockreader) {
  156.       if ($($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) != echo -a) {
  157.         $($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) 1,0You0,4Tube $strip(10This content may contain material flagged by YouTube's user community that may be inappropriate for some users.)
  158.         halt
  159.       }
  160.       set %_youtube.last $($+(%,youtube.,$remove($sockname,youtube.),.tag),2)
  161.       unset $+(%,youtube.,$remove($sockname,youtube.),*)
  162.       sockclose youtube
  163.       halt
  164.     }
  165.     elseif (*<meta name="title"* iswm %sockreader) {
  166.       tokenize 32 %sockreader
  167.       set $+(%,youtube.,$remove($sockname,youtube.),.title) $replace($remove(%sockreader,<meta name="title" content=",">),&amp;quot;,",&amp;#39;,',&quot;,",&amp;,&,&#39;,')
  168.     }
  169.     elseif (*<span class="watch-view-count">* iswm %sockreader) {
  170.       set $+(%,youtube.,$remove($sockname,youtube.),.viewcheck) on
  171.     }
  172.     elseif (*<a id="watch-username" class="inline-block" rel="author" href="/user/* iswm %sockreader) {
  173.       set $+(%,youtube.,$remove($sockname,youtube.),.user) $nohtml(%sockreader)
  174.     }
  175.     elseif (*<a id="watch-userbanner" class="inline-block" rel="author" href="/user/* iswm %sockreader) {
  176.       tokenize 34 %sockreader
  177.       set $+(%,youtube.,$remove($sockname,youtube.),.user) $10
  178.     }
  179.     elseif ((*<strong>* iswm %sockreader) && ($($+(%,youtube.,$remove($sockname,youtube.),.viewcheck),2) == on)) {
  180.       set $+(%,youtube.,$remove($sockname,youtube.),.viewcount) $nohtml(%sockreader)
  181.       if ($($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) == echo -a) {
  182.         $($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) 12[4 $+ $($+(%,youtube.,$remove($sockname,youtube.),.chan),2) $+ 12] 1,0You0,4Tube $strip(10Title:4 $($+(%,youtube.,$remove($sockname,youtube.),.title),2) 10Views:4 $($+(%,youtube.,$remove($sockname,youtube.),.viewcount),2) 10User:4 $($+(%,youtube.,$remove($sockname,youtube.),.user),2) 12From4 $($+(%,youtube.,$remove($sockname,youtube.),.nick),2) 10on12 $($+(%,youtube.,$remove($sockname,youtube.),.network),2)    )
  183.       }
  184.       elseif ($($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) != echo -a) {
  185.         $($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) 1,0You0,4Tube $strip(10Title:4 $($+(%,youtube.,$remove($sockname,youtube.),.title),2) 10Views:4 $($+(%,youtube.,$remove($sockname,youtube.),.viewcount),2) 10User:4 $($+(%,youtube.,$remove($sockname,youtube.),.user),2) )
  186.       }
  187.       set %_youtube.last $($+(%,youtube.,$remove($sockname,youtube.),.tag),2)
  188.       unset $+(%,youtube.,$remove($sockname,youtube.),*)
  189.       sockclose youtube
  190.     }
  191.   }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement