SHOW:
|
|
- or go back to the newest paste.
1 | - | ; -------------- |
1 | + | |
2 | - | alias -l api_key { return REGISTER_ON_EMBED_LY } |
2 | + | |
3 | - | ; -------------- |
3 | + | |
4 | ON *:TEXT:*:#: { | |
5 | tokenize 32 $strip($1-) | |
6 | ||
7 | var %t = $numtok($1-,32) | |
8 | var %i = 1 | |
9 | ||
10 | while (%i <= %t) { | |
11 | var %w = $gettok($1-,%i,32) | |
12 | ||
13 | if (%w) && ($isurl(%w)) { get_title $chan %w } | |
14 | ||
15 | inc %i | |
16 | } | |
17 | - | if (%w) && ($isurl(%w)) { scan_url $chan %w } |
17 | + | |
18 | ||
19 | alias get_title { | |
20 | if (!$1) && (!$2) { return } | |
21 | ||
22 | var %dom = $gettok($2-,2,47) | |
23 | - | alias scan_url { |
23 | + | var %url = $gettok($2-,3-,47) |
24 | ||
25 | - | if ($me !ison $1) { return } |
25 | + | :start |
26 | var %s = URL_SEARCH_ $+ $ticks $+ $rand(1,100000) | |
27 | - | var %v = URL_SEARCH_ $+ $ticks $+ $rand(1,100000000) |
27 | + | |
28 | - | var %u = https://api.embed.ly/1/extract?key= $+ $api_key $+ &format=json&nojsoncallback=1&url= $+ $urldecode($2-) |
28 | + | if ($sock(%s)) { goto start } |
29 | ||
30 | - | JSONOpen -ud %v %u |
30 | + | if (*https://* iswm $1-) { sockopen -e %s %dom 443 } |
31 | - | if ($jsonerror) { return } |
31 | + | else { sockopen %s %dom 80 } |
32 | ||
33 | - | var %title = $json(%v,description).value |
33 | + | sockmark %s $1 %url |
34 | ||
35 | - | if (%title) { msg $1 Title: %title } |
35 | + | socklist |
36 | } | |
37 | ||
38 | ON *:SOCKOPEN:URL_SEARCH_*: { | |
39 | if ($sockerr) { return } | |
40 | ||
41 | sockwrite -nt $sockname GET / $+ $gettok($sock($sockname).mark,2-,32) HTTP/1.1 | |
42 | sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows NT 10.0 $+ $chr(59) Win64 $+ $chr(59) x64 $+ $chr(59) rv:61.0) Gecko/20100101 Firefox/61.0 | |
43 | sockwrite -nt $sockname Host: $sock($sockname).addr | |
44 | sockwrite -nt $sockname Connection: Close | |
45 | sockwrite -nt $sockname $crlf | |
46 | } | |
47 | ||
48 | ON *:SOCKREAD:URL_SEARCH_*: { | |
49 | if ($sockerr) { return } | |
50 | ||
51 | var %r | |
52 | sockread %r | |
53 | ||
54 | ; echo 2 -s DEBUG: %r | |
55 | ||
56 | if ($regex(%r,/\<title\>(.*)\<\/title\>/i)) { | |
57 | var %title = $regml(1) | |
58 | var %c = $gettok($sock($sockname).mark,1,32) | |
59 | ||
60 | if (%title) && ($me ison %c) { msg %c Title: %title } | |
61 | ||
62 | sockclose $sockname | |
63 | } | |
64 | } |