<?xml version="1.0"?>
<rss version="2.0"><channel><title>YouTube snippets Latest Topics</title><link>https://www.coders-resources.net/ipb/forums/forum/74-youtube-snippets/</link><description>YouTube snippets Latest Topics</description><language>en</language><item><title>Simple YouTube Title Announcer v0.1 (2022)</title><link>https://www.coders-resources.net/ipb/forums/topic/5182-simple-youtube-title-announcer-v01-2022/</link><description><![CDATA[<p>
	<img alt="youtube-mirc.png" data-ratio="5.16" width="640" src="https://i.ibb.co/Mp7srfg/youtube-mirc.png">
</p>

<p>
	Simple is the keyword. You don't need any registrations or API keys.<br>
	Just load the script and it should work in any channel your bot is in.<br>
	<b><u>Important</u></b>: mIRC v7.56+ is required, because of $urlget function.
</p>

<h2>
	<b><u>How to install</u></b>:
</h2>

<p>
	Let's assume your mIRC is installed in D:\mIRC\
</p>

<ol>
	<li>
		Copy and save the script code in a file. For example: youtube_title.mrc
	</li>
	<li>
		Put the saved file in your scripts folder (example: D:\mIRC\scripts)
	</li>
	<li>
		Open mIRC and do: //load -rs scripts/youtube_title.mrc
	</li>
</ol>

<h2>
	<b><u>How to Uninstall</u></b>:
</h2>

<ol>
	<li>
		Open mIRC and do: //unload -rs scripts/youtube_title.mrc<br>
		That's it. No garbage or variables left behind.
	</li>
</ol>

<hr>
<p>
	The script can easily break if YouTube make changes to their website.<br>
	If it is broken or you find a bug or you have a suggestion - leave a comment below.<br>
	I will try to keep the script in working condition and fix bugs as soon as possible.
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_6278_4" style=""><span class="pln">; Simple YouTube Title Announcer v0.1 - MMX 2022
; Requires mIRC v7.56+ (because of $urlget)

ON $*:TEXT:/(https\x3a\/\/|www\.)([\S]*youtube\.com[\S]+v\=|youtu\.be\/)([\S]{11})/Si:#:{
  if ($regml(3)) {
    var %url $+(https://m.youtube.com/watch?persist_app=1&amp;app=m&amp;v=,$regml(3))
    var %id $urlget(%url,gbi,&amp;ytdata,yt_get_title $chan)
  }
}
alias -l yt_get_title {
  var %chan $1, %id $2
  if ($bfind($urlget(%id).target,1,/title":\{"runs":\[\{"text":"(.*?)"\}/Sig).regex) {
    msg %chan 01You00,04Tube: $yt_dehex($regml(1))
  }
}
alias -l yt_dehex {
  var %title $regsubex($1-,/\\u(.{4})/ig,$chr($base(\1,16,10)))
  return $replace(%title,\",",\\,\,\\\\,\\)
}</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">5182</guid><pubDate>Fri, 06 May 2022 03:20:02 +0000</pubDate></item><item><title>youtube</title><link>https://www.coders-resources.net/ipb/forums/topic/4818-youtube/</link><description><![CDATA[<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_5514_4" style="">
<span class="pln">;;;; YOUTUBE DETECTION
on $*:Text:/(^[\+-])ytdetect$|(http\x3a\/\/|www\.)(([\S]*youtube\.com[\S]+v\=)|(youtu\.be\/))([\S]{11})/Si:#: {
  if (!$sock(youtube)) &amp;&amp; (!%youtube.flood) {
    sockopen -e youtube www.youtube.com 443 | sockmark youtube $+(#,&gt;,$replace($nick,&gt;,Guest_),&gt;,$regml(4))
    set -eu5 %youtube.flood on
  }
}
on $*:Action:/(^[\+-])ytdetect$|(https\x3a\/\/|www\.)(([\S]*youtube\.com[\S]+v\=)|(youtu\.be\/))([\S]{11})/Si:#: {
  if (!$sock(youtube)) &amp;&amp; (!%youtube.flood) {
    sockopen -e youtube www.youtube.com 443 | sockmark youtube $+(#,&gt;,$replace($nick,&gt;,Guest_),&gt;,$regml(4))
    set -eu5 %youtube.flood on
  }
}

;// YouTube Detector Socket (Video Information) //
on *:sockopen:youtube: {
  ;echo -a $+(/watch?v=,$gettok($sock(youtube).mark,3,62))
  sockwrite -n $sockname GET $+(/watch?v=,$gettok($sock(youtube).mark,3,62)) HTTP/1.0
  sockwrite -n $sockname HOST: $+(www.youtube.com,:,443) $+ $str($crlf,2)
}
on *:sockread:youtube: {
  var %x | sockread %x
  if ($regex(%x,</span><span class="tag">&lt;meta</span><span class="pln">\</span><span class="atn">sname</span><span class="pun">=</span><span class="atv">"title"</span><span class="pln">\</span><span class="atn">scontent</span><span class="pun">=</span><span class="atv">"(.+)"</span><span class="tag">&gt;</span><span class="pln">)) {
    doecho $gettok($sock(youtube).mark,1,62)) $gettok($sock(youtube).mark,2,62)) $+ : YouTube Info: $replace($striphtml($regml(1)),&amp;amp;,&amp;) 
    sockclose sockname
  }
}</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">4818</guid><pubDate>Sat, 07 Nov 2020 14:55:17 +0000</pubDate></item><item><title>YouTube Infos</title><link>https://www.coders-resources.net/ipb/forums/topic/2115-youtube-infos/</link><description><![CDATA[
<p><span style="font-family:Courier New"><span style="color:red">IF THE SCRIPT DOES NOT WORK FOR YOU MAKE SURE COM IS NOT LOCKED IN MIRC OPTIONS AND THAT YOU HAVE INSTALLED </span></span><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=47809025-D896-482E-A0D6-524E7E844D81&amp;displaylang=en" rel="external nofollow"><span style="font-family:Courier New"><span style="color:red">WINDOWS SCRIPTING HOST 5.7</span></span></a><span style="font-family:Courier New"><span style="color:red"> OR LATER!</span></span></p>
<p><span style="font-family:Courier New"> </span></p>
<p><span style="font-family:Courier New">Requires the $download snippet from </span><a href="http://www.mircscripts.org/comments.php?cid=2968" rel="external nofollow"><span style="font-family:Courier New">http://www.mircscrip...ts.php?cid=2968</span></a></p>
<p> </p>
<p> </p>
<pre class="ipsCode">&gt;; No need to change anything normally; Simply paste it to remote and you will get an echo after someone pasted a youtube uri; if you wanna use it for a bot change the post alias to return $true;; Update: 21.01.2012; - added some errorchecking; - changed Wildmatch; - better parsing; - added youtu.be-links[/font][font=Courier New]alias -l post { return $false }on *:text:*youtube*v=*:*: {var %url = $wildtok($1-,*youtube.com/*v=*, 1, 32)if ($youtube(%url)) {tokenize 9 $ifmatch; Author -&gt; $1; Duration -&gt; $2; Rating -&gt; $3; Date (last updated OR published) -&gt; $4; Preview Picture -&gt; $5; Title -&gt; $6$iif($post,msg,echo $color(info)) $iif($chan,$chan,$nick) 1,15You0,4Tube: $6 (Rating: $3 $+ ) from: $1 Date: $4 Duration: $2 Preview: $5}}on *:text:*youtu.be*:*:{var %url = $wildtok($1-,http://youtu.be/*, 1, 32)if ($len(%url)) {%url = /?v= $+ $gettok(%url,3,47)if ($youtube(%url)) {tokenize 9 $ifmatch$iif($post,msg,echo $color(info)) $iif($chan,$chan,$nick) 1,15You0,4Tube: $6 (Rating: $3 $+ ) from: $1 Date: $4 Duration: $2 Preview: $5}}}alias youtube {; http://www.youtube.com/watch?v=B0fFDk2M0zE&amp;feature=fvhl#cookie; example: $youtube(...youtube.com/watch?v=vid)var %x = $gettok($1-,1,35) , %o = $null, %r = $null, %y = 0%x = $gettok(%x,2-,63)%y = $numtok(%x,38)while (%y) {%o = $gettok(%x,%y,38)if ($gettok(%o,1,61) == v) { %r = $gettok(%o,2,61) }dec %y}if (!$len(%r)) { return $false }else { %x = %r }if ($download(tmpfile,GET,http://gdata.youtube.com/feeds/api/videos/ $+ %x ,2)) {bread tmpfile 0 $lof(tmpfile) &amp;binvar %string = $b(&amp;bin,&lt;author&gt;)if ($regex(%string,/&lt;author&gt;&lt;name&gt;(.*)&lt;/name&gt;/ig)) { var %author = $regml(1) }var %string = $b(&amp;bin,&lt;yt:duration)if ($regex(%string,/&lt;yt:duration seconds='([d]+)'/&gt;/ig)) { var %duration = $duration($regml(1),3) }var %string = $b(&amp;bin,&lt;gd:rating)if ($regex(%string,/average='([^']+)' max='([d]+)'/ig)) { var %rating = $round($regml(1),3) }var %string = $b(&amp;bin,&lt;title)if ($regex(%string,/type='text'&gt;([^&lt;]+)/ig)) { var %title = $regml(1) }var %string = $b(&amp;bin,&lt;updated&gt;)if ($regex(%string,/&lt;updated&gt;([d]{4})-([d]{2})-([d]{2})T([d]{2}:[d]{2}):/ig)) { var %date = $regml(3) $+ . $+ $regml(2) $+ . $+ $regml(1) $regml(4) }else {var %string = $b(&amp;bin,&lt;published&gt;)if ($regex(%string,/&lt;published&gt;([d]{4})-([d]{2})-([d]{2})T([d]{2}:[d]{2}):/ig)) { var %date = $regml(3) $+ . $+ $regml(2) $+ . $+ $regml(1) $regml(4) }}var %preview = http://i.ytimg.com/vi/ $+ %x $+ /0.jpgif ($isfile(tmpfile)) { !.remove tmpfile }if (!$len(%author)) var %author = n/aif (!$len(%duration)) var %duration = 00:00:00if (!$len(%date)) var %date = n/aif (!$len(%preview)) var %preview = n/aif (!$len(%title)) var %title = n/aif (!$len(%rating)) var %rating = n/a%x = $t(%author,%duration,%rating,%date,%preview,%title)}else { var %x = $false }if ($isfile(tmpfile)) { !.remove tmpfile }return %x}alias -l t { var %x = $0,%o | while (%x) { %o = $ [ $+ [ %x ] ] $+ $chr(9) $+ %o | dec %x } | return %o }alias -l b { return $bvar($1,$bfind($1,1,$2).text,$iif($version &gt; 6.31,4000,800)).text }</pre>
<div></div>
]]></description><guid isPermaLink="false">2115</guid><pubDate>Wed, 29 Feb 2012 05:02:00 +0000</pubDate></item><item><title>Youtube url detector</title><link>https://www.coders-resources.net/ipb/forums/topic/1574-youtube-url-detector/</link><description><![CDATA[
<p><strong><span><span style="color:#000080">Youtube url detector</span></span></strong></p>
<p> </p>
<blockquote data-ipsquote="" class="ipsQuote" data-ipsquote-contentapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentid="1574" data-ipsquote-contentclass="forums_Topic"><div>
<span style="color:#800080">    Requested by H0LLYWOOD</span><p><span style="color:#800080"> </span></p>
<p><span style="color:#800080"> </span></p>
<p><span style="color:#800080">Remote script for a bot that will resolve valid Youtube links and return the title and some other information about the video to channels the script is turned on for.</span></p>
<p><span style="color:#800080">SCREEN:</span></p>
<p><img src="http://i56.tinypic.com/21ccapx.jpg" alt="21ccapx.jpg"></p>
<p><span style="color:#800080"> </span></p>
<p><span style="color:#800080">Usage:</span></p>
<p><span style="color:#800080">    Copy this code, paste it to a new remote and save with a unique filename.</span></p>
<p><span style="color:#800080">    Type +ytdetect in each channel you want the script to run in.(Requires Ops or higher)</span></p>
<p><span style="color:#800080">    -ytdetect to turn the script off for a channel.</span></p>
</div></blockquote>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p></p>
<pre class="ipsCode">&gt;;YouTube Link detector by Ford_Lawnmower irc.Geekshed.net #Script-Helpalias -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 onOn $*:Text:/(^[\+-])ytdetect$|(http\x3a\/\/|www\.)[\S]*youtube.com[\S]+\=([\w\d-\S]{11})/Si:#: {  var %action $strip($regml(1)), %id $strip($regml(2))  if (%action isin +-) &amp;&amp; ($regex($nick($chan,$nick).pnick,/(!|~|&amp;|@)/)) {    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))) &amp;&amp; ($istok(%LinkDetectorForYoutubeChanList,$+($network,$chan),32)) {    .timer $+ $+(LinkDetectorForYoutube,$network,$nick) 1 4 noop    GetLinkDetectorForYoutube .msg # %id  }}#LinkDetectorForYoutube endOn *: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,/(.*?).*(.*?)/)) {       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 ( isin %LinkDetectorForYoutube) hadd $sockname viewsFound 1    elseif ($hget($sockname,viewsFound)) &amp;&amp; ($regex(%LinkDetectorForYoutube,/(.*?)/)) {      hadd $sockname viewsFound 0      hadd $sockname views $+($hget($sockname,tagcolor),Views:) $+($hget($sockname,textcolor),$regml(1))     }    elseif ($regex(%LinkDetectorForYoutube,/(.*?).*class="watch-video-date"\s&gt;(.*?)/)) {      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,/class="long-title".*title="(.*?)"&gt;/)) {      hadd $sockname title $+($hget($sockname,tagcolor),Title:) $+($hget($sockname,textcolor),$regml(1))    }    elseif ($regex(%LinkDetectorForYoutube,//)) {      hadd $sockname title $+($hget($sockname,tagcolor),Title:) $+($hget($sockname,textcolor),$regml(1))    }  }}on *:sockclose:LinkDetectorForYoutube*: if ($hget($sockname)) hfree $socknamealias -l Xchr {   var %return $regsubex($regsubex($1-,/([A-F0-9]{1,2});/g,$chr($base($regml(\n),16,10))),/([0-9]{2});/g,$chr(\1))   return $replacecs(%return,–,–,·,·,»,»,«,«,Ü,Ü,ü,ü,Á,Á,á,á,É,$&amp;    É,é,é,Í,Í,í,í,Ó,Ó,ó,ó,Ñ,Ñ,ñ,ñ,Ú,Ú,ú,ú, ,$chr(32),$&amp;    æ,æ,",")} </pre>
<div></div>
<p></p>
]]></description><guid isPermaLink="false">1574</guid><pubDate>Fri, 15 Jul 2011 14:04:12 +0000</pubDate></item><item><title>YouTube Script (Parse Vids and Search) v2.2</title><link>https://www.coders-resources.net/ipb/forums/topic/1405-youtube-script-parse-vids-and-search-v22/</link><description><![CDATA[
<p><strong><span><span style="color:#000000">YouTube Script (Parse Vids and Search) v2.2</span></span></strong></p>
<p> </p>
<p><img src="http://www.hawkee.com/pictures/t_62904_LBvZeV9NFzTqsCJHPscuewDLy" alt="t_62904_LBvZeV9NFzTqsCJHPscuewDLy"></p>
<p> </p>
<blockquote data-ipsquote="" class="ipsQuote" data-ipsquote-contentapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentid="1405" data-ipsquote-contentclass="forums_Topic"><div>
<span style="color:#004000">IMPORTANT:</span><p><span style="color:#004000"> I do not own youtube.com...</span></p>
<p><span style="color:#004000"> </span></p>
<p><span style="color:#004000">VERSIONS:</span></p>
<p><span style="color:#004000"> v1.0 (original) </span><a href="http://pastebin.com/ydjkA3E2" rel="external nofollow"><span style="color:#004000">http://pastebin.com/ydjkA3E2</span></a><span style="color:#004000"> --Initial Upload (Search and Parse)</span></p>
<p><span style="color:#004000"> v2.1 </span><a href="http://pastebin.com/VaqPj282" rel="external nofollow"><span style="color:#004000">http://pastebin.com/VaqPj282</span></a><span style="color:#004000"> -- Updated for youtu.be and included multiple links</span></p>
<p><span style="color:#004000"> v2.2 (current) </span><a href="http://pastebin.com/Xf3sJZ7G" rel="external nofollow"><span style="color:#004000">http://pastebin.com/Xf3sJZ7G</span></a><span style="color:#004000"> -- Update to remove some formatting [[$chr(31)]]</span></p>
<p><span style="color:#004000"> </span></p>
<p><span style="color:#004000">INFO:</span></p>
<p><span style="color:#004000"> April 25, 2011</span></p>
<p><span style="color:#004000"> My Second Snippet to post.</span></p>
<p><span style="color:#004000"> Just posting because it would be interesting to get some feedback.</span></p>
<p><span style="color:#004000"> I know no coding languages besides mSl and I am limited in that.</span></p>
<p><span style="color:#004000"> I can be contacted via </span><span style="color:#004000"><a href="mailto:reply.anonymouse+forward@gmail.com" rel="">reply.anonymouse+forward@gmail.com</a></span></p>
<p><span style="color:#004000"> I can be found at irc.rizon.net:6667 #rsbot_help name nick1</span></p>
<p><span style="color:#004000"> Quick Chat Link, feel free to leave a message for me </span><a href="http://t.ard.me/be" rel="external nofollow"><span style="color:#004000">http://t.ard.me/be</span></a><span style="color:#004000"> or just to chat.</span></p>
<p><span style="color:#004000"> </span></p>
<p><span style="color:#004000">DIRECTIONS:</span></p>
<p><span style="color:#004000"> Copy entire code and paste into remote section of a new script (File</span><new><p><span style="color:#004000"> Used to automatically parse youtube links and give info either by an echo to you or via a channel message</span></p>
<p><span style="color:#004000"> Default is to message a channel with info only if you are an op or above, OR you have specified you want to by typing in the channel !youtube (to shut off use !noyoutube)</span></p>
<p><span style="color:#004000"> Search using @ysearch </span><search terms></search></p>
<p><span style="color:#004000"> Or search using commands such as @youtube </span><search terms></search></p>
<p><span style="color:#004000"> "!" commands will notice the user "@" commands will be public</span></p>
<p><span style="color:#004000"> </span></p>
<p><span style="color:#004000">Let me know when its broken//what you want changed.</span></p>
<p><span style="color:#004000"> </span></p>
<p><span style="color:#004000">--Feedback greatly appreciated</span></p>
<p><span style="color:#004000"> </span></p>
<p><span style="color:#004000">--If you don't like it lick it. </span></p></new></p>
</div></blockquote>
<p> </p>
<p></p>
<pre class="ipsCode">&gt;;YouTube Script (Parse Vids and Search) v2.2;Made by nick1;Last edit June 2 2011 raw 408:*: msg $2 $remove($strip($13-),$chr(9)) on $*:text:/^[!@]y(outube|t|tsearch|search|ousearch|outubesearch)/Si:*:{  if ($($+(%,botflood.,$nick),2)) {    if ($($+(%,botflood.,$nick),2) &gt;= 50) { ignore -u60 $address($nick,0) | msg $chan $+($nick,$chr(44)) You Have Been Put On Ignore For 60secs For Abusing The Bot. | halt }    elseif ($($+(%,botflood.,$nick),2) &gt;= 40) { msg $chan $+($nick,$chr(44)) Please Do Not Abuse The Bot. | inc -z $+(%,botflood.,$nick) 20 | halt }    else { inc -z $+(%,botflood.,$nick) 25 }  }  else { inc -z $+(%,botflood.,$nick) 25 }  var %ticks $ticks  if ($2) {    set $+(%,ysearch.,%ticks,.msgtype) $iif($left($strip($1),1) == @,msg $chan,notice $nick)    set $+(%,ysearch.,%ticks,.search) $replace($2-,$chr(32),+)    sockopen $+(ysearch.,%ticks) youtube.com 80  }  elseif ($2 == $null) { msg $chan $+(4,$nick,,$chr(44)) 10Incorrect Syntax: Try ! or @ 4YOUTUBE10  }} on *:input:*:{  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)) == youtube) || ($remove($1,$left($strip($1),1)) == youtubesearch)) {    set $+(%,ysearch.,$ticks,.msgtype) msg $active    set $+(%,ysearch.,$ticks,.search) $replace($2-,$chr(32),+)    sockopen $+(ysearch.,$ticks) youtube.com 80  }  elseif (*youtube.com* iswm $1-) {    set %i 1    while (%i 12[4,YOUTUBE,12])10 Error Encountered! | unset %youtube.*  }} on *:sockopen:ysearch*: {    set %checksockname $sockname   .timerCheck 1 5 checkifsockopen   sockwrite -nt $sockname GET /results?search_query= $+ $($+(%,ysearch.,$remove($sockname,ysearch.),.search),2) HTTP/1.1  sockwrite -nt $sockname Host: www.youtube.com  sockwrite -nt $sockname $crlf} alias nohtml { return $regsubex($$1-,/^[^|]*&gt;|]*$/g,) } on *:SOCKREAD:ysearch*: {   if ($sockerr) { echo -a SOCKET ERROR: $sockerr | halt }  sockread %sockreader  if (** iswm %sockreader) {    set $+(%,ysearch.,$remove($sockname,ysearch.),.title) $regsubex($nohtml($replace($remove(%sockreader,|),[b],,[/b],,",",&amp;,&amp;)),/(\d\d?\d?\d?);/g,$chr(\1))    tokenize 34 %sockreader    set $+(%,ysearch.,$remove($sockname,ysearch.),.tag) $2  }  elseif (*
,[/b],,",",&amp;,&amp;)),/(\d\d?\d?\d?);/g,$chr(\1))    tokenize 34 %sockreader    set $+(%,ysearch.,$remove($sockname,ysearch.),.tag) $4  }  elseif (** iswm %sockreader) {    set $+(%,ysearch.,$remove($sockname,ysearch.),.time) $nohtml($remove(%sockreader,Add to,Added,to,queue))  }  elseif (** iswm %sockreader) {    set $+(%,ysearch.,$remove($sockname,ysearch.),.user) $remove($nohtml(%sockreader),by)  }  elseif (** iswm %sockreader) {    set $+(%,ysearch.,$remove($sockname,ysearch.),.viewcount) $remove($nohtml(%sockreader),|,views)    $($+(%,ysearch.,$remove($sockname,ysearch.),.msgtype),2) 1,0You0,4Tube 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)    unset $+(%,ysearch.,$remove($sockname,ysearch.),*)    sockclose $sockname  }}   on $*:text:/youtu(.be|be.com)/Si:*: {  if (($chan != #nova) &amp;&amp; ($nick != Runescript)) {    if ($($+(%,botflood.,$nick),2)) {      if ($($+(%,botflood.,$nick),2) &gt;= 50) { ignore -u60 $address($nick,0) | msg $chan $+($nick,$chr(44)) You Have Been Put On Ignore For 60secs For Abusing The Bot. | halt }      elseif ($($+(%,botflood.,$nick),2) &gt;= 40) { msg $chan $+($nick,$chr(44)) Please Do Not Abuse The Bot. | inc -z $+(%,botflood.,$nick) 20 | halt }      else { inc -z $+(%,botflood.,$nick) 10 }    }    else { inc -z $+(%,botflood.,$nick) 10 }    set %i 1    var %ticks $ticks    while (%i 12[4 $+ $($+(%,youtube.,$remove($sockname,youtube.),.chan),2) $+ 12] 1,0You0,4Tube 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)          else { $($+(%,youtube.,$remove($sockname,youtube.),.msgtype),2) 1,0You0,4Tube 10Title:4 $($+(%,youtube.,$remove($sockname,youtube.),.title),2) 10Views:4 $($+(%,youtube.,$remove($sockname,youtube.),.viewcount),2) 10User:4 $($+(%,youtube.,$remove($sockname,youtube.),.user),2) }      set %_youtube.last $($+(%,youtube.,$remove($sockname,youtube.),.tag),2)      unset $+(%,youtube.,$remove($sockname,youtube.),*)      sockclose youtube    }  }} </pre>
<p></p>
]]></description><guid isPermaLink="false">1405</guid><pubDate>Fri, 03 Jun 2011 02:58:55 +0000</pubDate></item><item><title>YouTube URL</title><link>https://www.coders-resources.net/ipb/forums/topic/732-youtube-url/</link><description><![CDATA[
<pre class="ipsCode">&gt;; ********** YOUTUBE ****************************

on *:text:*youtube.com/watch?v=*:#: {

 if (!$sock(youtube)) {

   noop $regex($strip($1-),http:\/\/.*youtube.*\/watch\?v=(.{11})&amp;?.*)

   sockopen youtube www.youtube.com 80 | sockmark youtube $+(#,&gt;,$regml(1))

   .set %youtubechan $chan

 }

}

on *:sockopen:youtube: {

 sockwrite -n $sockname GET $+(/watch?v=,$gettok($sock(youtube).mark,2,62)) HTTP/1.0

 sockwrite -n $sockname Host: www.youtube.com

 sockwrite -n $sockname $crlf

}

on *:sockread:youtube: {

 var %x | sockread %x

 if ($regex(%x,))  set %youtubetitle $regml(1)

 elseif ($regex(%x,(.+)

))  set %youtubeviews $regml(1)

 elseif ($regex(%x,(.+)))  set %youtubedate $regml(1)

 elseif ($regex(%x, ))  set %youtuberating $regml(1)

 elseif ($regex(%x,))  set %youtubeuser $regml(1)

}

alias youtubelike {

 .set %youtubelikes $1 $2

}

alias youtubedisl {

 .set %youtubedislikes $3 $4

}

on *:sockclose:youtube: {

 .youtubelike %youtuberating

 .youtubedisl %youtuberating

 msg %youtubechan ( $+ 1,0You0,4Tube $+ ) 14Title:7 %youtubetitle $+  14Views:10 %youtubeviews $+  $&amp; ( $+ 12 $+ %youtubelikes $+ 4 %youtubedislikes $+  $+ ) 14By:10 %youtubeuser $+  {14Uploaded on:10 %youtubedate $+  $+ }

}

; ************************************************

</pre>
<div></div>
<p></p>
]]></description><guid isPermaLink="false">732</guid><pubDate>Wed, 04 Aug 2010 03:08:09 +0000</pubDate></item><item><title>Youtube Video Searcher and Downloader</title><link>https://www.coders-resources.net/ipb/forums/topic/57-youtube-video-searcher-and-downloader/</link><description><![CDATA[
<p><span style="color:#800000">searches for videos on youtube and shows some info for them, double click on one to download it </span></p>
<p> </p>
<p></p>
<pre class="ipsCode">on *:load:if (!$isdir(YouTube Videos)) mkdir "YouTube Videos"

alias yvs { dialog $iif($dialog(yvs),-v,-md) yvs yvs }

dialog -l yvs {

  title "Youtube Video Searcher"

  size -1 -1 157 44

  option dbu

  box "Search", 1, 0 0 156 48

  edit "", 2, 8 9 140 10

  button "Search", 3, 63 21 36 12

  text "Click Search to Search www.youtube.com", 4, 0 35 156 8, center

  box "Results", 5, 0 48 156 124

  list 6, 4 57 148 111, size

  box "Video Search Info", 7, 0 172 156 64

  text "Name:", 8, 6 182 18 8

  edit "", 9, 30 181 122 10, read autohs

  text "Length:", 10, 6 194 21 8

  edit "", 11, 29 193 44 10, read autohs

  text "Rating:", 12, 78 194 19 8

  edit "", 13, 101 193 50 10, read autohs

  text "Date Added:", 14, 6 205 32 8

  edit "", 15, 44 204 107 10, read autohs

  text "Author:", 16, 78 215 21 8

  edit "", 17, 101 214 50 10, read autohs

  link "", 18, 23 225 109 9

  text "Total Views:", 19, 6 215 30 8

  edit "", 20, 39 214 35 10, read autohs

}

on *:dialog:yvs:*:*: {

  if ($devent == init &amp;&amp; !$isdir($mircdirYoutube Videos)) { mkdir "Youtube Videos" }

  elseif ($devent == sclick) {

    if ($did == 3 &amp;&amp; $did(2) &amp;&amp; !$sock(yvs.yt)) {

      dialog -s yvs -1 -1 314 344

      did -ra yvs 4 Searching www.youtube.com

      did -r yvs 6

      did -ra YVS 5 Results

      if ($hget(YVS)) .hfree YVS

      if ($hget(YTS)) .hfree YTS

      sockopen yvs.yt youtube.com 80

      sockmark yvs.yt $replace($did(2),$chr(32),+)

    }

    elseif ($did == 6) {

      dialog -s yvs -1 -1 314 472

      var %a = 11 18 20 9 17 15 13,%b = 1

      did -ra YVS $replace(%a,$chr(32),$chr(44))

      while ($gettok(%a,%b,32)) {

        did -ra YVS $v1 $iif($gettok($hget(YVS,$did(6).sel),%b,9),$v1,Not Found.)

        inc %b

      }

    }

    elseif ($did == 18) { url -an $did(18) }

  }

  elseif ($devent == dclick &amp;&amp; $did(6).sel) {

    yt.s $gettok($hget(YVS,$did(6).sel),2,9)

    .hadd -m YTS Name $did(6).seltext

  }

}

on *:sockopen:yvs.yt: {

  sockwrite -nt $sockname GET $+(/results?search_query=,$sock($sockname).mark,&amp;search_type=&amp;aq=f) HTTP/1.1

  sockwrite -n $sockname HOST: youtube.com $+ $crlf $+ $crlf

}

on *:sockread:yvs.yt: {

  var %yt | sockread %yt

  if (No videos found for isin %yt) {

    sockclose $sockname

    did -ra YVS 4 No Videos Found.

    dialog -s YVS -1 -1 314 96

  }

  elseif ($regex(%yt,/<img title="(.*?)" did yvs results .hinc total .hadd elseif no rating isin views alt=""><p></p></pre>
]]></description><guid isPermaLink="false">57</guid><pubDate>Tue, 09 Feb 2010 17:51:47 +0000</pubDate></item></channel></rss>
