Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Googlism by Ford_Lawnmower irc.geekshed.net #Script-Help
- menu Channel,Status {
- .$iif($group(#Googlism) == On,$style(1)) Googlism Trigger
- ..$iif($group(#Googlism) == On,$style(2)) On: .enable #Googlism
- ..$iif($group(#Googlism) == Off,$style(2)) Off: .disable #Googlism
- }
- #Googlism on
- On $*:Text:/^(\+|-|!|@)G(ooglism|wh(o|at|en|ere))\s?(.*)/Si:#: {
- ;;;;;;;;;;;;;;;;;;;;;;;;;Setup Start;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;Change %delim if you want a different delimiter
- var %delim 09«09»
- ;;Change %textcolor to change the text color
- var %textcolor 04
- ;;Change %maxresults for more or less results
- var %maxresults 10
- ;;;;;;;;;;;;;;;;;;;;;;;;;;End Setup;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- var %action $regml(1), %searchtext $regml(4)
- var %searchdir $+($replacex($regml(3),o,/who_is/,at,/what_is/,en,/when_is/,ere,/where_is/),$left($NoIsWas($regml(4)),1),/,$urlencode($NoIsWas($regml(4))),/))
- if (%action isin +-) && ($regex($nick($chan,$nick).pnick,/(!|~|&|@)/)) {
- if (%action == +) {
- if ($istok(%GooglismChanList,$+($network,$chan),32)) { .msg $chan $nick $chan is already running the Googlism script }
- else {
- .enable #Googlism
- Set %GooglismChanList $addtok(%GooglismChanList,$+($network,$chan),32)
- .msg $chan $nick has activated the Googlism script for $chan .
- }
- }
- else {
- if (!$istok(%GooglismChanList,$+($network,$chan),32)) { .msg $chan $nick $chan is not running the Googlism script }
- else {
- Set %GooglismChanList $remtok(%GooglismChanList,$+($network,$chan),1,32)
- .msg $chan $nick has deactivated the Googlism script for $chan .
- }
- }
- }
- elseif (!$timer($+(Googlism,$network,$nick))) && ($istok(%GooglismChanList,$+($network,$chan),32)) {
- .timer $+ $+(Googlism,$network,$nick) 1 6 noop
- var %method $iif(%action == !,.notice $nick,$iif($regex($nick($chan,$nick).pnick,/(!|~|&|@|%)/),.msg $chan,.notice $nick))
- if (%searchtext) GetGooglism %method %searchdir %delim %textcolor %maxresults 0
- else %method %textcolor Please provide some search terms!!
- }
- }
- #Googlism end
- alias Googlism { GetGooglism echo -a $1- }
- alias -l GetGooglism {
- $1-2 Searching........
- var %sockname $+(Googlism,$network,$2,$ticks)
- sockopen %sockname www.googlism.com 80
- sockmark %sockname $1-
- }
- On *:sockopen:Googlism*: {
- if (!$sockerr) {
- sockwrite -nt $sockname GET $gettok($sock($sockname).mark,3,32) HTTP/1.0
- sockwrite -n $sockname Host: www.googlism.com
- sockwrite -n $sockname User-Agent: Opera 9.6
- sockwrite -n $sockname $crlf
- }
- else { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
- }
- On *:sockread:Googlism*: {
- if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
- else {
- var %Googlism | sockread %Googlism
- if ($gettok($sock($sockname).mark,7,32) >= $gettok($sock($sockname).mark,6,32) || (</html> isin %Googlism)) {
- tokenize 32 $sock($sockname).mark
- put $1-2 $5 $iif($8-,$v1,Nothing Found)
- sockclose $sockname
- return
- }
- elseif ($regex(%Googlism,/Googlism for:.*<b>(.*)</p>/)) {
- $gettok($sock($sockname).mark,1-2,32) $gettok($sock($sockname).mark,5,32) $regml(1)
- sockclose $sockname
- return
- }
- elseif ($regex(%Googlism,/Googlism for:.*<br>(.*)<br\s\/>/)) {
- tokenize 32 $sock($sockname).mark
- sockmark $sockname $1-6 1 $+($5,$replace($regml(1),$chr(9), ,","))
- }
- elseif ($gettok($sock($sockname).mark,7,32)) {
- tokenize 32 $sock($sockname).mark
- if (%Googlism == <p>) {
- put $1-2 $5 $iif($8-,$v1,Nothing Found)
- sockclose $sockname
- return
- }
- else { sockmark $sockname $1-6 $calc($7 + 1) $+($8-,$4,$5,$remove($replace(%Googlism,$chr(9), ,","),<br />)) }
- }
- }
- }
- alias -l NoIsWas {
- tokenize 32 $strip($1)
- return $iif($istok(is was,$1,32),$2-,$1-)
- }
- alias -l urlencode return $regsubex($replace($1-,$chr(32),_),/([^a-z0-9_])/ig,% $+ $base($asc(\t),10,16,2))
- 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 }
- var %tokens $0, %Tstart 4, %Dtimer 1500
- if ($timer($+(Put,$2,$network)).secs) { %Dtimer = $calc($v1 * 1000) }
- while ($len($($+($,%Tstart,-,%tokens),2)) > 300) {
- dec %tokens
- if ($len($($+($,%Tstart,-,%tokens),2)) <= 300) {
- .timer -m 1 %Dtimer $1-3 $($+($,%Tstart,-,%tokens),2))
- inc %Dtimer 1500
- %Tstart = $calc(%tokens + 1)
- %tokens = $0
- }
- }
- .timer -m 1 %Dtimer $1-3 $($+($,%Tstart,-,%tokens),2))
- .timer $+ $+(Put,$2,$network) -m 1 $calc(%Dtimer + 1500) noop
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement