Advertisement
Ford

mIRC youtube url detector

Jul 17th, 2011
477
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. ;YouTube Link detector by Ford_Lawnmower irc.Geekshed.net #Script-Help
  2. alias -l GetLinkDetectorForYoutube {
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Start Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;;;; Change %tagcolor to the color you want for tags:
  5. var %tagcolor $+($chr(15),$chr(2))
  6. ;;;; Change %textcolor to the color you want for normal text
  7. var %textcolor $+($chr(15),$chr(3),04)
  8. ;;;; Change %logo to change the YouTube logo
  9. var %logo $+($chr(2),$chr(3),01,$chr(44),00You,$chr(3),00,$chr(44),04Tube,$chr(2))
  10. ;;;; Change %tagSelection to choose the tags you want displayed.
  11. ;;;; Valid tags are: title views likes dislikes uploader and date
  12. var %tagSelection title views likes dislikes uploader date
  13. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;End Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  14. var %sockname $+(LinkDetectorForYoutube,$network,$2,$ticks,$r(1,1000))
  15. hadd -m %sockname tags %tagSelection
  16. hadd %sockname tagcolor %tagcolor
  17. hadd %sockname textcolor %textcolor
  18. hadd %sockname logo %logo
  19. sockopen %sockname www.youtube.com 80
  20. sockmark %sockname $1-2 $+(/watch?v=,$3)
  21. }
  22. menu Channel,Status {
  23. .$iif($group(#LinkDetectorForYoutube) == On,$style(1)) LinkDetectorForYoutube
  24. ..$iif($group(#LinkDetectorForYoutube) == On,$style(2)) On: .enable #LinkDetectorForYoutube
  25. ..$iif($group(#LinkDetectorForYoutube) == Off,$style(2)) Off: .disable #LinkDetectorForYoutube
  26. }
  27. #LinkDetectorForYoutube on
  28. On $*:Text:/(^[\+-])ytdetect$|(https?\x3a\/\/|www\.)(([\S]*youtube\.com[\S]+v\=)|(youtu\.be\/))([\S]{11})/Si:#: {
  29. var %action $strip($regml(1)), %id $strip($regml(4))
  30. if (%action isin +-) && ($regex($nick($chan,$nick).pnick,/(!|~|&|@)/)) {
  31. if (%action == +) {
  32. if ($istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) { .msg $chan $nick $chan is already running the LinkDetectorForYoutube script }
  33. else {
  34. .enable #LinkDetectorForYoutube
  35. set %LinkDetectorForYoutubeChanList $addtok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)
  36. .msg $chan $nick has activated the LinkDetectorForYoutube script for $chan .
  37. }
  38. }
  39. else {
  40. if (!$istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) { .msg $chan $nick $chan is not running the LinkDetectorForYoutube script }
  41. else {
  42. Set %LinkDetectorForYoutubeChanList $remtok(%LinkDetectorForYoutubeChanList,$+($network,$chan),1,32)
  43. .msg $chan $nick has deactivated the LinkDetectorForYoutube script for $chan .
  44. }
  45. }
  46. }
  47. elseif (!$timer($+(LinkDetectorForYoutube,$network,$nick))) && ($istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) {
  48. .timer $+ $+(LinkDetectorForYoutube,$network,$nick) 1 4 noop
  49. GetLinkDetectorForYoutube .msg $chan %id
  50. }
  51. }
  52. #LinkDetectorForYoutube end
  53. On *:sockopen:LinkDetectorForYoutube*: {
  54. if (!$sockerr) {
  55. sockwrite -nt $sockname GET $gettok($sock($sockname).mark,3,32) HTTP/1.0
  56. sockwrite -n $sockname Host: $sock($sockname).addr
  57. sockwrite -n $sockname $crlf
  58. }
  59. else { sockclose $sockname | return }
  60. }
  61. On *:sockread:LinkDetectorForYoutube*: {
  62. if ($sockerr) { sockclose $sockname | return }
  63. else {
  64. var %LinkDetectorForYoutube | sockread %LinkDetectorForYoutube
  65. if ($regex(%LinkDetectorForYoutube,/alt="Like">\s(.*)/i)) {
  66. hadd $sockname likes $+($hget($sockname,tagcolor),Likes:) $+($hget($sockname,textcolor),$regml(1))
  67. }
  68. elseif ($regex(%LinkDetectorForYoutube,/alt="Dislike">\s(.*)/i)) {
  69. hadd $sockname dislikes $+($hget($sockname,tagcolor),Disikes:) $+($hget($sockname,textcolor),$regml(1))
  70. }
  71. elseif (<span class="watch-view-count"> isin %LinkDetectorForYoutube) {
  72. hadd $sockname viewsFound 1
  73. if ($regex(%linkdetectorforyoutube,/\/user\/([^\/]+)\/videos/i)) {
  74. hadd $sockname uploader $+($hget($sockname,tagcolor),Uploader:) $+($hget($sockname,textcolor),$regml(1))
  75. }
  76. }
  77. elseif ($hget($sockname,viewsFound)) {
  78. hadd $sockname viewsFound 0
  79. hadd $sockname views $+($hget($sockname,tagcolor),Views:) $+($hget($sockname,textcolor),$remove(%LinkDetectorForYoutube,<strong>,</strong>))
  80. }
  81. elseif (($regex(%LinkDetectorForYoutube,/dir="ltr">(.*?)<\/a><span class="yt-user-separator">/i))) {
  82. hadd $sockname uploader $+($hget($sockname,tagcolor),Uploader:) $+($hget($sockname,textcolor),$regml(1))
  83. hadd $sockname date $+($hget($sockname,tagcolor),Upload Date:) $+($hget($sockname,textcolor),$regml(2))
  84. }
  85. elseif (($regex(%LinkDetectorForYoutube,/watch-video-date"\s>(.*?)<\/span>/i))) {
  86. hadd $sockname date $+($hget($sockname,tagcolor),Upload Date:) $+($hget($sockname,textcolor),$regml(1))
  87. if ($hget($sockname,tags)) $gettok($sock($sockname).mark,1-2,32) $hget($sockname,logo) $Xchr($regsubex($v1,/([\S]+)/g,$hget($sockname,\t)))
  88. if ($hget($sockname)) hfree $sockname
  89. sockclose $sockname
  90. }
  91. elseif ($regex(%LinkDetectorForYoutube,/class="watch-video-date"\s>(.*?)<\/span>/)) {
  92. hadd $sockname date $+($hget($sockname,tagcolor),Upload Date:) $+($hget($sockname,textcolor),$regml(1))
  93. }
  94. elseif ($regex(%LinkDetectorForYoutube,/class="long-title".*title="(.*?)">/)) {
  95. hadd $sockname title $+($hget($sockname,tagcolor),Title:) $+($hget($sockname,textcolor),$regml(1))
  96. }
  97. elseif ($regex(%LinkDetectorForYoutube,/<meta\sname="title"\scontent="(.*?)">/)) {
  98. hadd $sockname title $+($hget($sockname,tagcolor),Title:) $+($hget($sockname,textcolor),$regml(1))
  99. }
  100. }
  101. }
  102. on *:sockclose:LinkDetectorForYoutube*: if ($hget($sockname)) hfree $sockname
  103. alias -l Xchr {
  104. var %return $regsubex($regsubex($1-,/&#x([A-F0-9]{1,2});/g,$chr($base($regml(\n),16,10))),/&#([0-9]{2});/g,$chr(\1))
  105. return $replacecs(%return,&ndash;,–,&middot;,·,&raquo;,»,&laquo;,«,&Uuml;,Ü,&uuml;,ü,&Aacute;,Á,&aacute;,á,&Eacute;,$&
  106. É,&eacute;,é,&Iacute;,Í,&iacute;,í,&Oacute;,Ó,&oacute;,ó,&Ntilde;,Ñ,&ntilde;,ñ,&Uacute;,Ú,&uacute;,ú,&nbsp;,$chr(32),$&
  107. &aelig;,æ,&quot;,")
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement