Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;; Bing search by Ford_Lawnmower irc.geekshed.net #Script-Help ;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- alias -l Getbingsearch {
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;Start of Simple Setup;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;Change %logo to the logo you want at the start of each line
- var %logo $+($chr(3),02,$chr(44),07,$chr(2),Bing,$chr(15))
- ;Change %maxresults to the number of results you want 1 to 8
- var %maxresults 4
- ;Change %textcolor to the color you want normal text
- var %textcolor $+($chr(3),04)
- ;Change %linkcolor to the color you want for links
- var %linkcolor $+($chr(31))
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;End Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- $1-2 $+(%textcolor,Searching) %logo ........
- var %sockname $+(bingsearch,$network,$2,$ticks)
- sockopen %sockname www.bing.com 80
- svar %sockname output $1-2
- svar %sockname get $+(/search?q=,$urlencode($3-))
- svar %sockname logo %logo
- svar %sockname maxresults %maxresults
- svar %sockname textcolor %textcolor
- svar %sockname linkcolor %linkcolor
- }
- menu Channel,Status {
- .$iif($group(#bingsearch) == On,$style(1)) bingsearch Trigger
- ..$iif($group(#bingsearch) == On,$style(2)) On: .enable #bingsearch
- ..$iif($group(#bingsearch) == Off,$style(2)) Off: .disable #bingsearch
- }
- #bingsearch on
- On $*:Text:/^(\+|-|!|@)bing.*/Si:#: {
- var %action $regml(1)
- if (%action isin +-) && ($regex($nick($chan,$nick).pnick,/(!|~|&|@)/)) {
- if (%action == +) {
- if ($istok(%bingsearchChanList,$+($network,$chan),32)) { msg $chan $nick $chan is already running the bingsearch script }
- else {
- .enable #bingsearch
- Set %bingsearchChanList $addtok(%bingsearchChanList,$+($network,$chan),32)
- msg $chan $nick has activated the bingsearch script for $chan .
- }
- }
- else {
- if (!$istok(%bingsearchChanList,$+($network,$chan),32)) { msg $chan $nick $chan is not running the bingsearch script }
- else {
- Set %bingsearchChanList $remtok(%bingsearchChanList,$+($network,$chan),1,32)
- msg $chan $nick has deactivated the bingsearch script for $chan .
- }
- }
- }
- elseif (!$timer($+(bingsearch,$network,$nick))) && ($istok(%bingsearchChanList,$+($network,$chan),32)) {
- .timer $+ $+(bingsearch,$network,$nick) 1 6 noop
- var %method $iif(%action == !,.notice $nick,$iif($regex($nick($chan,$nick).pnick,/(!|~|&|@|%|\+)/),msg $chan,.notice $nick))
- Getbingsearch %method $2-
- }
- }
- #bingsearch end
- alias bing { Getbingsearch echo -a $1- }
- On *:sockopen:bingsearch*: {
- if (!$sockerr) {
- sockwrite -nt $sockname GET $svar($sockname,get) HTTP/1.0
- sockwrite -n $sockname Host: www.bing.com
- sockwrite -n $sockname $crlf
- }
- else { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
- }
- On *:sockread:bingsearch*: {
- if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
- else {
- sockread -fn &bing
- if $bvar(&bing, 0) {
- bwrite $+($sockname,.dat) -1 -1 &bing
- if ($bfind(&bing, 1, </html>)) {
- bread $+($sockname,.dat) 1 $file($+($sockname,.dat)).size &bing
- .remove $+($sockname,.dat)
- var %count 1
- while ($bintween(&bing, "sb_tlst"><h3><a href=, </a></h3>, %count)) {
- noop $regex(result,$v1,/"(.*?)".*">(.*)/i)
- put $svar($sockname,output) $svar($sockname,logo) $replace($+($svar($sockname,textcolor),$Xchr($regml(result,2))) $&
- $+($chr(15),$svar($sockname,linkcolor),$regml(result,1)),<strong>,$chr(2),</strong>,$chr(2))
- if (%count == $svar($sockname,maxresults)) return
- inc %count
- }
- }
- }
- }
- }
- alias -l urlencode return $regsubex($1-,/([^a-z0-9])/ig,% $+ $base($asc(\t),10,16,2))
- alias -l Svar {
- var %sockname $1, %item $2
- if ($isid) {
- if ($regex($sock(%sockname).mark,/ $+ %item $+ \x01([^\x01]*)/i)) return $regml(1)
- }
- elseif ($3) {
- var %value $3-
- if (!$regex($sock(%sockname).mark,/ $+ %item $+ \x01/i)) { sockmark %sockname $+($sock(%sockname).mark,$chr(1),%item,$chr(1),%value) }
- else { sockmark %sockname $regsubex($sock(%sockname).mark,/( $+ %item $+ \x01[^\x01]*)/i,$+(%item,$chr(1),%value)) }
- }
- }
- 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),$&
- æ,æ,",",<,<,>,>, &,&)
- }
- alias -l Put {
- if (!$regex($1,/(\.|^)(msg|notice|echo)$/Si)) || (!$3) { echo -st **Put error** Syntax /Put msg #channel text - or - /Put notice nickname text | return }
- tokenize 32 $regsubex($1-,/([$\|%\[\]][^\s]*)/g,$+($chr(2),$chr(2),\t))
- var %tokens $0, %Tstart 3, %Dtimer 1500
- if ($timer($+(Put,$2,$network)).secs) { %Dtimer = $calc($v1 * 1000) }
- while ($len($($+($,%Tstart,-,%tokens),2)) > 430) {
- dec %tokens
- if ($len($($+($,%Tstart,-,%tokens),2)) <= 430) {
- .timer -m 1 %Dtimer $1-2 $($+($,%Tstart,-,%tokens),2))
- inc %Dtimer 1500
- %Tstart = $calc(%tokens + 1)
- %tokens = $0
- }
- }
- .timer -m 1 %Dtimer $1-2 $($+($,%Tstart,-,%tokens),2))
- .timer $+ $+(Put,$2,$network) -m 1 $calc(%Dtimer + 1500) noop
- }
- alias -l bintween {
- var %count = 1, %mark = 0, %mark2 = 0
- while (%count <= $4) {
- if ($bfind($1, %mark2, $2).text) {
- %mark = $calc($bfind($1, %mark2, $2).text + $len($2))
- if ($bfind($1, %mark, $3).text) {
- %mark2 = $bfind($1, %mark, $3).text
- }
- else { return 0 }
- }
- else { return 0 }
- inc %count
- }
- return $bvar($1, $iif(%mark > 0,%mark,1), $iif($calc(%mark2 - %mark) < 4130,$calc(%mark2 - %mark),4130)).text
- }
- ;;Input edit
- On *:input:#: {
- if ($regex($1-,/^(\+|-|!|@)bing.*/Si)) {
- var %action $regml(1)
- var %method $iif(%action == !,.notice $me,msg $chan)
- Getbingsearch %method $2-
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement