; youtube video search
; returns the first search result for your search terms
; usage for you
;
; trigger: /yt
; syntax: /yt <search terms>
; example: /yt charleston daft punk
; usage for other people
;
; triggers: !youtube @youtube !tube @tube
; syntax: @youtube <search terms>
; example: !tube charleston daft punk
; if you want to sort search by VIEW COUNT, use this line below
; sockwrite -nt $sockname GET /results?search_query=
;
; if you want the regular search, use this line below
; sockwrite -nt $sockname GET /results?search_query= $+ %tube.search HTTP//1.1
;
; the place im referring to is: under the heading on *:sockopen:ytsearch:{
alias yt {
%channel = $chan
if (%channel) { %saystyle = echo -t %channel }
else { %saystyle = echo -at }
%searchstring = $replace($1-,$chr(32),+)
sockclose ytsearch
sockopen ytsearch www.youtube.com 80
}
on $*:TEXT:/^[!@](yt|youtube|tube) */Si:#: {
%channel = $chan
%saystyle = /msg %channel
%searchstring = $replace($2-,$chr(32),+)
if ($2 == $null) { %saystyle Search could not be completed | halt }
sockclose ytsearch
sockopen ytsearch www.youtube.com 80
}
on *:sockopen:ytsearch:{
sockwrite -nt $sockname GET /results?search_query= $+ %searchstring HTTP//1.1
sockwrite -nt $sockname Host: youtube.com
sockwrite -nt $sockname $crlf $crlf
}
on *:sockread:ytsearch:{
; sockread -f %temp
; sockread -n %temp
sockread -n %temp
; replace all <br/> with a space
if (%founddesc_be) { unset %founddesc_be | %desc_be = $remove(%temp, ) }
if (<span id="BeginvidDesc isin %temp) %founddesc_be = k
if (/watch?v= isin %temp) { %resulturl = $remove($gettok(%temp,2,32),href=",") }
if (%foundtitle) { inc %titlecounter }
if (%titlecounter = 1) { %searchtitle = $remove($regsubex(%temp,/<a [^>]+>(.+?)</a>/,\1),<br/>, ) }
if (<div class="vtitle"> isin %temp) { %foundtitle = k | %titlecounter = 0 }
if (<img class="rating" src="/img/star_sm.gif" isin %temp) { %done = k }
; if (<span id="BeginvidDesc isin %temp) { %founddesc_re = k | %desccounter = 0 }
; if (%founddesc_re) { inc %desccounter }
; if (%%desccounter = 4) { %searchtitle = %desc_re = $remove(%temp, ) }
; %desc_re = $remove(%temp, )
if (%done) {
sockclose ytsearch
unset %done
; %saystyle .........................................
%saystyle Link: http://www.youtube.com $+ %resulturl
%saystyle Title: %searchtitle
%saystyle Description: %desc_be
; %saystyle desc_re: %desc_re
; %saystyle the result %searchtitle $+ : http://www.youtube.com $+ %resulturl
unset %searchstring
unset %channel
unset %saystyle
unset %searchres
unset %searchtitle
unset %resulturl
unset %desc_be
unset %titlecounter
unset %temp
unset %foundtitle
halt
}
if (*No Videos found* iswm %temp) {
sockclose ytsearch
%saystyle No videos found for %searchstring
unset %searchstring
unset %channel
unset %saystyle
unset %searchres
unset %searchtitle
unset %resulturl
unset %desc_be
unset %titlecounter
unset %temp
unset %foundtitle
halt
}
if (*start search results* iswm %temp) { %searchres = 0 }
if (*<a href="/watch?v=* iswm %temp) { inc %searchres }
}