Advertisement
Ford

bing bot/user edit

Feb 8th, 2013
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 6.63 KB | None | 0 0
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;;;;;;;;                               Bing search by Ford_Lawnmower irc.geekshed.net #Script-Help                                              ;;;;;;;
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. alias -l Getbingsearch {
  5.   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6.   ;;;;;;;;;;;;;;;Start of Simple Setup;;;;;;;;;;;;;;;
  7.   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  8.   ;Change %logo to the logo you want at the start of each line
  9.   var %logo $+($chr(3),02,$chr(44),07,$chr(2),Bing,$chr(15))
  10.   ;Change %maxresults to the number of results you want 1 to 8
  11.   var %maxresults 4
  12.   ;Change %textcolor to the color you want normal text
  13.   var %textcolor $+($chr(3),04)
  14.   ;Change %linkcolor to the color you want for links
  15.   var %linkcolor $+($chr(31))
  16.   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17.   ;;;;;;;;;;;;;;;;;;;;End Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;
  18.   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;      
  19.   $1-2 $+(%textcolor,Searching) %logo ........
  20.   var %sockname $+(bingsearch,$network,$2,$ticks)
  21.   sockopen %sockname www.bing.com 80
  22.   svar %sockname output $1-2
  23.   svar %sockname get $+(/search?q=,$urlencode($3-))
  24.   svar %sockname logo %logo
  25.   svar %sockname maxresults %maxresults
  26.   svar %sockname textcolor %textcolor
  27.   svar %sockname linkcolor %linkcolor
  28. }
  29. menu Channel,Status {
  30.   .$iif($group(#bingsearch) == On,$style(1)) bingsearch Trigger
  31.   ..$iif($group(#bingsearch) == On,$style(2)) On: .enable #bingsearch
  32.   ..$iif($group(#bingsearch) == Off,$style(2)) Off: .disable #bingsearch
  33. }
  34. #bingsearch on
  35. On $*:Text:/^(\+|-|!|@)bing.*/Si:#: {
  36.   var %action $regml(1)
  37.   if (%action isin +-) && ($regex($nick($chan,$nick).pnick,/(!|~|&|@)/)) {
  38.     if (%action == +) {
  39.       if ($istok(%bingsearchChanList,$+($network,$chan),32)) { msg $chan $nick $chan is already running the bingsearch script }
  40.       else {
  41.         .enable #bingsearch
  42.         Set %bingsearchChanList $addtok(%bingsearchChanList,$+($network,$chan),32)
  43.         msg $chan $nick has activated the bingsearch script for $chan .
  44.       }
  45.     }
  46.     else {
  47.       if (!$istok(%bingsearchChanList,$+($network,$chan),32)) { msg $chan $nick $chan is not running the bingsearch script }
  48.       else {
  49.         Set %bingsearchChanList $remtok(%bingsearchChanList,$+($network,$chan),1,32)
  50.         msg $chan $nick has deactivated the bingsearch script for $chan .
  51.       }
  52.     }
  53.   }
  54.   elseif (!$timer($+(bingsearch,$network,$nick))) && ($istok(%bingsearchChanList,$+($network,$chan),32)) {
  55.     .timer $+ $+(bingsearch,$network,$nick) 1 6 noop
  56.     var %method $iif(%action == !,.notice $nick,$iif($regex($nick($chan,$nick).pnick,/(!|~|&|@|%|\+)/),msg $chan,.notice $nick))
  57.     Getbingsearch %method $2-
  58.   }
  59. }
  60. #bingsearch end
  61. alias bing { Getbingsearch echo -a $1- }
  62. On *:sockopen:bingsearch*: {
  63.   if (!$sockerr) {
  64.     sockwrite -nt $sockname GET $svar($sockname,get) HTTP/1.0
  65.     sockwrite -n $sockname Host: www.bing.com
  66.     sockwrite -n $sockname $crlf
  67.   }
  68.   else { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
  69. }
  70. On *:sockread:bingsearch*: {
  71.   if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
  72.   else {
  73.     sockread -fn &bing
  74.     if $bvar(&bing, 0) {
  75.       bwrite $+($sockname,.dat) -1 -1 &bing
  76.       if ($bfind(&bing, 1, </html>)) {
  77.         bread $+($sockname,.dat) 1 $file($+($sockname,.dat)).size &bing
  78.         .remove $+($sockname,.dat)
  79.         var %count 1
  80.         while ($bintween(&bing, "sb_tlst"><h3><a href=, </a></h3>, %count)) {
  81.           noop $regex(result,$v1,/"(.*?)".*">(.*)/i)
  82.           put $svar($sockname,output) $svar($sockname,logo) $replace($+($svar($sockname,textcolor),$Xchr($regml(result,2))) $&
  83.             $+($chr(15),$svar($sockname,linkcolor),$regml(result,1)),<strong>,$chr(2),</strong>,$chr(2))
  84.           if (%count == $svar($sockname,maxresults)) return
  85.           inc %count
  86.         }
  87.       }
  88.     }
  89.   }
  90. }
  91. alias -l urlencode return $regsubex($1-,/([^a-z0-9])/ig,% $+ $base($asc(\t),10,16,2))
  92. alias -l Svar {
  93.   var %sockname $1, %item $2
  94.   if ($isid) {
  95.     if ($regex($sock(%sockname).mark,/ $+ %item $+ \x01([^\x01]*)/i)) return $regml(1)
  96.   }
  97.   elseif ($3)  {
  98.     var %value $3-
  99.     if (!$regex($sock(%sockname).mark,/ $+ %item $+ \x01/i)) { sockmark %sockname $+($sock(%sockname).mark,$chr(1),%item,$chr(1),%value) }
  100.     else { sockmark %sockname $regsubex($sock(%sockname).mark,/( $+ %item $+ \x01[^\x01]*)/i,$+(%item,$chr(1),%value)) }
  101.   }
  102. }
  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;,",&lt;,<,&gt;,>, &amp;,&)
  108. }
  109. alias -l Put {
  110.   if (!$regex($1,/(\.|^)(msg|notice|echo)$/Si)) || (!$3) { echo -st **Put error** Syntax /Put msg #channel text - or - /Put notice nickname text  | return }
  111.   tokenize 32 $regsubex($1-,/([$\|%\[\]][^\s]*)/g,$+($chr(2),$chr(2),\t))
  112.   var %tokens $0, %Tstart 3, %Dtimer 1500
  113.   if ($timer($+(Put,$2,$network)).secs) { %Dtimer = $calc($v1 * 1000) }  
  114.   while ($len($($+($,%Tstart,-,%tokens),2)) > 430) {
  115.     dec %tokens
  116.     if ($len($($+($,%Tstart,-,%tokens),2)) <= 430) {
  117.       .timer -m 1 %Dtimer $1-2 $($+($,%Tstart,-,%tokens),2))
  118.       inc %Dtimer 1500
  119.       %Tstart = $calc(%tokens + 1)
  120.       %tokens = $0
  121.     }
  122.   }
  123.   .timer -m 1 %Dtimer $1-2 $($+($,%Tstart,-,%tokens),2))
  124.   .timer $+ $+(Put,$2,$network) -m 1 $calc(%Dtimer + 1500) noop
  125. }
  126. alias -l bintween {
  127.   var %count = 1, %mark = 0, %mark2 = 0
  128.   while (%count <= $4) {
  129.     if ($bfind($1, %mark2, $2).text) {
  130.       %mark = $calc($bfind($1, %mark2, $2).text + $len($2))
  131.       if ($bfind($1, %mark, $3).text) {
  132.         %mark2 = $bfind($1, %mark, $3).text
  133.       }
  134.       else { return 0 }
  135.     }
  136.     else { return 0 }
  137.     inc %count
  138.   }
  139.   return $bvar($1, $iif(%mark > 0,%mark,1), $iif($calc(%mark2 - %mark) < 4130,$calc(%mark2 - %mark),4130)).text
  140. }
  141. ;;Input edit
  142. On *:input:#: {
  143.   if ($regex($1-,/^(\+|-|!|@)bing.*/Si)) {
  144.     var %action $regml(1)
  145.     var %method $iif(%action == !,.notice $me,msg $chan)
  146.     Getbingsearch %method $2-
  147.   }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement