Updates:
[09/03/2016]
[05/09/2015]
[25/07/2015]
[18/07/2015]
[29/06/2015]
Syntax:
Enter a Pastebin url in channel or query.
Examples:
Paste url:
Credits for $htmltoascii, $ht2chr and $ht2as alias goes to David Schor.
alias -l ht2chr {
if (#x* iswm $1) return $chr($base($mid($1, 3), 16, 10))
elseif (#* iswm $1) return $chr($mid($1, 2))
else return $ht2as($1)
}
alias -l ht2as {
var %A quot amp lt gt nbsp iexcl cent pound curren yen brvbar sect uml copy ordf $&
laquo not shy reg macr deg plusmn sup2 sup3 acute micro para middot cedil sup1 $&
ordm raquo frac14 frac12 frac34 iquest Agrave Aacute Acirc Atilde Auml Aring AElig $&
Ccedil Egrave Eacute Ecirc Euml Igrave Iacute Icirc Iuml ETH Ntilde Ograve Oacute $&
Ocirc Otilde Ouml times Oslash Ugrave Uacute Ucirc Uuml Yacute THORN szlig agrave $&
aacute acirc atilde auml aring aelig ccedil egrave eacute ecirc euml igrave iacute $&
icirc iuml eth ntilde ograve oacute ocirc otilde ouml divide oslash ugrave uacute $&
ucirc uuml yacute thorn yuml
var %B 34 38 60 62 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 $&
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 $&
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 $&
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 $&
243 244 245 246 247 248 249 250 251 252 253 254 255
return $chr($gettok(%B, $findtokcs(%A, $1, 32), 32))
}
alias html2ascii { return $regsubex($1-,/&(.{2,6});/Ug, $ht2chr(\t)) }
alias pastebin {
if ($regex($strip($2-), /^(?:.*?\s)?(?:https?:\/\/)?(?:www\.)?pastebin.com(?:\/(u))?\/(\w+)\/?(?:\s.*)?$/i)) {
if (!%pastebinTimeout. [ $+ [ $nick ] ]) {
sockopen pastebin. [ $+ [ $nick ] ] pastebin.com 80
if ($regml(0) == 2) {
sockmark pastebin. [ $+ [ $nick ] ] $+($1,$chr(07),$regml(2),$chr(07),$regml(1))
}
else {
sockmark pastebin. [ $+ [ $nick ] ] $+($1,$chr(07),$regml(1))
}
set -u10 %pastebinTimeout. $+ $nick 1
}
}
}
on *:TEXT:*:*: { pastebin $iif($left($target,1) == $chr(35), #, $nick) $1- }
on *:INPUT:*: { pastebin $target $1- }
on *:SOCKOPEN:pastebin.*: {
var %id = $gettok($sock($sockname).mark,2,07)
sockwrite -nt $sockname GET / $+ $iif($numtok($sock($sockname).mark,07) == 3,u/ $+ %id,%id) HTTP/1.0
sockwrite -nt $sockname Host: pastebin.com
sockwrite -nt $sockname Connection: close
sockwrite $sockname $crlf
}
on *:SOCKREAD:pastebin.*: {
if ($sockerr) return
var %sockreader
sockread %sockreader
while ($sockbr) {
sockread %sockreader
;// private or deleted
if ($regex(%sockreader, /<div class="content_title">(Private)?(?:.*(removed))?/i)) {
if ($regml(1) == private) {
msg $gettok($sock($sockname).mark,1,07) 12The entered paste is private!
}
if ($regml(1) == removed) {
msg $gettok($sock($sockname).mark,1,07) 12The entered paste does not exist!
}
sockclose $sockname
}
if ($gettok($sock($sockname).mark,3,07) != u) {
;// title
if ($regex(%sockreader, /paste_box_line1" title="(.*?)">(?:<.*? title="(.*?) )?/i)) {
sockmark $sockname $+($sock($sockname).mark,$chr(07),12Title: 04,$html2ascii($regml(1)) ,$chr(124))
}
;// Pro User
if ($regex(%sockreader, /pro_btn2" title="(.*?)"/i)) {
sockmark $sockname $+($sock($sockname).mark,$chr(07),10[,$regml(1),])
}
;// Username/poster
if ($regex(%sockreader, /\/u\/\w+">(\w+)<\/a>/i)) {
var %proUser = $iif($gettok($sock($sockname).mark,4,07), $v1)
sockmark $sockname $deltok($sock($sockname).mark,4,07)
sockmark $sockname $+($sock($sockname).mark,12 By: 04,$regml(1),)
if (%proUser) sockmark $sockname $+($sock($sockname).mark,%proUser,)
sockmark $sockname $+($sock($sockname).mark,$chr(07),$regml(1))
}
;// Date
if ($regex(%sockreader, /CDT">(.*?)<\/span>/ig)) {
if (!$gettok($sock($sockname).mark,4,07)) {
sockmark $sockname $+($sock($sockname).mark,12 By: 04,A GUEST,)
}
else {
sockmark $sockname $deltok($sock($sockname).mark,4,07)
}
var %edited = 10(edited)
sockmark $sockname $+($sock($sockname).mark,$chr(32) $chr(124),12 On: 04,$regml(1) $iif($regml(2), %edited) ,$chr(124))
}
;// Views
if ($regex(%sockreader, /.*te"> (.*)/i)) {
sockmark $sockname $+($sock($sockname).mark,12 Views: 04,$regml(1) ,$chr(124))
}
;// Expires
if ($regex(%sockreader, /.*ed"> (.*)/i)) {
sockmark $sockname $+($sock($sockname).mark,$chr(07), 12 Expires: 04,$regml(1))
}
;// Syntax and Size
if ($regex(%sockreader, /:0">(.*)<\/a><\/span> (.*)/i)) {
var %expires = $iif($gettok($sock($sockname).mark,4,07), $v1)
sockmark $sockname $deltok($sock($sockname).mark,4,07)
sockmark $sockname $+($sock($sockname).mark,12 Syntax: 04,$regml(1) ,$chr(124))
sockmark $sockname $+($sock($sockname).mark,12 Size: 04,$regml(2) ,$chr(124))
sockmark $sockname $+($sock($sockname).mark, %expires)
msg $gettok($sock($sockname).mark,1,07) $gettok($sock($sockname).mark,3,07)
}
}
else {
;// User's Pastebin
if ($regex(%sockreader, /line_u1"><h1>(.*?)<\/h1>/i)) {
sockmark $sockname $+($sock($sockname).mark,$chr(07), 04,$regml(1))
}
;// PRO User!
if ($regex(%sockreader, /title="(PRO User!)"/i)) {
sockmark $sockname $+($sock($sockname).mark,$chr(07),10[,$regml(1),])
sockmark $sockname $+($sock($sockname).mark,$chr(07), 1)
}
;// Location
if ($regex(%sockreader, /location" \/>(.*?)&/i)) {
sockmark $sockname $+($sock($sockname).mark,$chr(07),12Location: 04,$regml(1))
}
;// pastbin hits, pastes hit, joined
if ($regex(%sockreader, /viewed"> (.*?) .*? pastes"> (.*?) .* dotted;">(.*?)</i)) {
if ($numtok($sock($sockname).mark, 07) >= 6) {
var %proUser = $gettok($sock($sockname).mark,5,07)
sockmark $sockname $deltok($sock($sockname).mark,5,07)
sockmark $sockname $deltok($sock($sockname).mark,5,07)
if ($v1 == 7) {
var %location = $gettok($sock($sockname).mark,5,07)
sockmark $sockname $deltok($sock($sockname).mark,5,07)
}
}
else if ($numtok($sock($sockname).mark, 07) == 5) {
var %location = $gettok($sock($sockname).mark,5,07)
sockmark $sockname $deltok($sock($sockname).mark,5,07)
}
if (%proUser) sockmark $sockname $+($sock($sockname).mark,%proUser)
sockmark $sockname $+($sock($sockname).mark,$chr(32) ,$chr(124),12 Pastebin Hits:04 $regml(1) ,$chr(124))
sockmark $sockname $+($sock($sockname).mark,12 Pastes Hits: 04,$regml(2) ,$chr(124))
sockmark $sockname $+($sock($sockname).mark,12 Joined: 04,$regml(3) ago )
if (%location) sockmark $sockname $+($sock($sockname).mark,$chr(124) %location)
msg $gettok($sock($sockname).mark,1,07) $gettok($sock($sockname).mark,4,07)
}
}
}
}