On $*:Text:/^[@!]Urban/Si:#:{ If ($Sock($+(Urban.,$Nick))) { Sockclose $+(Urban.,$Nick) } Sockopen $+(Urban.,$Nick) www.urbandictionary.com 80 Sockmark $+(Urban.,$Nick) $Urlencode($2-) } Alias Urban { If ($Sock($+(Urban.,$Me))) { Sockclose $+(Urban.,$Me) } Sockopen $+(Urban.,$Me) www.urbandictionary.com 80 Sockmark $+(Urban.,$Me) $Urlencode($1-) } On *:Sockopen:Urban.*:{ Sockwrite -nt $Sockname GET /define.php?term= $+ $Sock($Sockname).Mark HTTP/1.0 Sockwrite -nt $Sockname Host: www.urbandictionary.com Sockwrite -nt $Sockname $Crlf } On *:Sockread:Urban.*:{ Sockread %Urban If (!%Text) { If ($Regex(%Urban,
(.*?)
)) { Set -u5 %Text $Htmlfree($Regml(1)) } } If (!%Author) { If $Regex(%Urban,author=(.*?)">) { Set -u5 %Author $Regml(1) } } If (!%Term) { If ($Regex(%Urban,(.*?)
)) { Set -u5 %Example $Htmlfree($Regml(1)) } } If ($Regex(%Urban,(.*?) (.*?) 250,Definition too long,%text) $iif(%example,EXAMPLE) %Example AUTHOR $Replace(%Author,+,$Chr(32)) } Else { .Notice $Gettok($Sock($Sockname),2,46) URBAN $iif($Len(%Exists) > 250,Term too long,%Exists) } } Alias -l Htmlfree { Var %x, %i = $Regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$Null,%x), %x = $Remove(%x,&,$Chr(9)) Return $Regsubex(%x,/\quot;/gSi,") } Alias -l Urlencode { Var %a = $Regsubex($$1,/([^\w\s])/Sg,$+(%,$Base($Asc(\t),10,16,2))) Return $Replace(%a,$Chr(32),$Chr(43)) }