Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;YouTube Link detector by Ford_Lawnmower irc.Geekshed.net #Script-Help
- alias -l GetLinkDetectorForYoutube {
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Start Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;; Change %tagcolor to the color you want for tags:
- var %tagcolor $+($chr(15),$chr(2))
- ;;;; Change %textcolor to the color you want for normal text
- var %textcolor $+($chr(15),$chr(3),04)
- ;;;; Change %logo to change the YouTube logo
- var %logo $+($chr(2),$chr(3),01,$chr(44),00You,$chr(3),00,$chr(44),04Tube,$chr(2))
- ;;;; Change %tagSelection to choose the tags you want displayed.
- ;;;; Valid tags are: title views likes dislikes uploader and date
- var %tagSelection title views likes dislikes uploader date
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;End Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- var %sockname $+(LinkDetectorForYoutube,$network,$2,$ticks,$r(1,1000))
- hadd -m %sockname tags %tagSelection
- hadd %sockname tagcolor %tagcolor
- hadd %sockname textcolor %textcolor
- hadd %sockname logo %logo
- sockopen %sockname www.youtube.com 80
- sockmark %sockname $1-2 $+(/watch?v=,$3)
- }
- menu Channel,Status {
- .$iif($group(#LinkDetectorForYoutube) == On,$style(1)) LinkDetectorForYoutube
- ..$iif($group(#LinkDetectorForYoutube) == On,$style(2)) On: .enable #LinkDetectorForYoutube
- ..$iif($group(#LinkDetectorForYoutube) == Off,$style(2)) Off: .disable #LinkDetectorForYoutube
- }
- #LinkDetectorForYoutube on
- On $*:Text:/(^[\+-])ytdetect$|(https?\x3a\/\/|www\.)(([\S]*youtube\.com[\S]+v\=)|(youtu\.be\/))([\S]{11})/Si:#: {
- var %action $strip($regml(1)), %id $strip($regml(4))
- if (%action isin +-) && ($regex($nick($chan,$nick).pnick,/(!|~|&|@)/)) {
- if (%action == +) {
- if ($istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) { .msg $chan $nick $chan is already running the LinkDetectorForYoutube script }
- else {
- .enable #LinkDetectorForYoutube
- set %LinkDetectorForYoutubeChanList $addtok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)
- .msg $chan $nick has activated the LinkDetectorForYoutube script for $chan .
- }
- }
- else {
- if (!$istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) { .msg $chan $nick $chan is not running the LinkDetectorForYoutube script }
- else {
- Set %LinkDetectorForYoutubeChanList $remtok(%LinkDetectorForYoutubeChanList,$+($network,$chan),1,32)
- .msg $chan $nick has deactivated the LinkDetectorForYoutube script for $chan .
- }
- }
- }
- elseif (!$timer($+(LinkDetectorForYoutube,$network,$nick))) && ($istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) {
- .timer $+ $+(LinkDetectorForYoutube,$network,$nick) 1 4 noop
- GetLinkDetectorForYoutube .msg $chan %id
- }
- }
- #LinkDetectorForYoutube end
- On *:sockopen:LinkDetectorForYoutube*: {
- if (!$sockerr) {
- sockwrite -nt $sockname GET $gettok($sock($sockname).mark,3,32) HTTP/1.0
- sockwrite -n $sockname Host: $sock($sockname).addr
- sockwrite -n $sockname $crlf
- }
- else { sockclose $sockname | return }
- }
- On *:sockread:LinkDetectorForYoutube*: {
- if ($sockerr) { sockclose $sockname | return }
- else {
- var %LinkDetectorForYoutube | sockread %LinkDetectorForYoutube
- if ($regex(%LinkDetectorForYoutube,/alt="Like">\s(.*)/i)) {
- hadd $sockname likes $+($hget($sockname,tagcolor),Likes:) $+($hget($sockname,textcolor),$regml(1))
- }
- elseif ($regex(%LinkDetectorForYoutube,/alt="Dislike">\s(.*)/i)) {
- hadd $sockname dislikes $+($hget($sockname,tagcolor),Disikes:) $+($hget($sockname,textcolor),$regml(1))
- }
- elseif (<span class="watch-view-count"> isin %LinkDetectorForYoutube) {
- hadd $sockname viewsFound 1
- if ($regex(%linkdetectorforyoutube,/\/user\/([^\/]+)\/videos/i)) {
- hadd $sockname uploader $+($hget($sockname,tagcolor),Uploader:) $+($hget($sockname,textcolor),$regml(1))
- }
- }
- elseif ($hget($sockname,viewsFound)) {
- hadd $sockname viewsFound 0
- hadd $sockname views $+($hget($sockname,tagcolor),Views:) $+($hget($sockname,textcolor),$remove(%LinkDetectorForYoutube,<strong>,</strong>))
- }
- elseif (($regex(%LinkDetectorForYoutube,/dir="ltr">(.*?)<\/a><span class="yt-user-separator">/i))) {
- hadd $sockname uploader $+($hget($sockname,tagcolor),Uploader:) $+($hget($sockname,textcolor),$regml(1))
- hadd $sockname date $+($hget($sockname,tagcolor),Upload Date:) $+($hget($sockname,textcolor),$regml(2))
- }
- elseif (($regex(%LinkDetectorForYoutube,/watch-video-date"\s>(.*?)<\/span>/i))) {
- hadd $sockname date $+($hget($sockname,tagcolor),Upload Date:) $+($hget($sockname,textcolor),$regml(1))
- if ($hget($sockname,tags)) $gettok($sock($sockname).mark,1-2,32) $hget($sockname,logo) $Xchr($regsubex($v1,/([\S]+)/g,$hget($sockname,\t)))
- if ($hget($sockname)) hfree $sockname
- sockclose $sockname
- }
- elseif ($regex(%LinkDetectorForYoutube,/class="watch-video-date"\s>(.*?)<\/span>/)) {
- hadd $sockname date $+($hget($sockname,tagcolor),Upload Date:) $+($hget($sockname,textcolor),$regml(1))
- }
- elseif ($regex(%LinkDetectorForYoutube,/class="long-title".*title="(.*?)">/)) {
- hadd $sockname title $+($hget($sockname,tagcolor),Title:) $+($hget($sockname,textcolor),$regml(1))
- }
- elseif ($regex(%LinkDetectorForYoutube,/<meta\sname="title"\scontent="(.*?)">/)) {
- hadd $sockname title $+($hget($sockname,tagcolor),Title:) $+($hget($sockname,textcolor),$regml(1))
- }
- }
- }
- on *:sockclose:LinkDetectorForYoutube*: if ($hget($sockname)) hfree $sockname
- alias -l Xchr {
- var %return $regsubex($regsubex($1-,/&#x([A-F0-9]{1,2});/g,$chr($base($regml(\n),16,10))),/&#([0-9]{2});/g,$chr(\1))
- return $replacecs(%return,–,,·,·,»,»,«,«,Ü,Ü,ü,ü,Á,Á,á,á,É,$&
- É,é,é,Í,Í,í,í,Ó,Ó,ó,ó,Ñ,Ñ,ñ,ñ,Ú,Ú,ú,ú, ,$chr(32),$&
- æ,æ,",")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement