Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;YouTube Link detector by Ford_Lawnmower irc.Abjects.net #mIRC
- 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$|(http\x3a\/\/|www\.)[\S]*youtube.com[\S]+v\=([\S]{11})/Si:#: {
- var %action $strip($regml(1)), %id $strip($regml(2))
- 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,/<span class="likes">(.*?)<\/span>.*<span class="dislikes">(.*?)<\/span>/)) {
- hadd $sockname likes $+($hget($sockname,tagcolor),Likes:) $+($hget($sockname,textcolor),$regml(1))
- hadd $sockname dislikes $+($hget($sockname,tagcolor),Disikes:) $+($hget($sockname,textcolor),$regml(2))
- 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,/<span class="likes">(.*?)<\/span>/)) {
- hadd $sockname likes $+($hget($sockname,tagcolor),Likes:) $+($hget($sockname,textcolor),$regml(1))
- }
- elseif ($regex(%LinkDetectorForYoutube,/<span class="dislikes">(.*?)<\/span>/)) {
- hadd $sockname dislikes $+($hget($sockname,tagcolor),Disikes:) $+($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 (<span class="watch-view-count"> isin %LinkDetectorForYoutube) hadd $sockname viewsFound 1
- elseif ($hget($sockname,viewsFound)) && ($regex(%LinkDetectorForYoutube,/<strong>(.*?)<\/strong>/)) {
- hadd $sockname viewsFound 0
- hadd $sockname views $+($hget($sockname,tagcolor),Views:) $+($hget($sockname,textcolor),$regml(1))
- }
- elseif (*Uploaded by* iswm %LinkDetectorForYoutube) {
- hadd $sockname UploaderFound 1
- }
- elseif ($hget($sockname,UploaderFound)) {
- hadd $sockname uploader $+($hget($sockname,tagcolor),Uploader:) $+($hget($sockname,textcolor),%LinkDetectorForYoutube)
- hadd $sockname UploaderFound 0
- }
- 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