Coders-IRC
IRC for Coders
Nick - IP - Sehir -
on *:snotice:*Client connecting on port*:if !$hget(giris,$9) { who +I $9 }
on ^*:join:#: {
if o isin $usermode && $nick !== $me {
if $hget(giris,$nick) { echo # $+($chr(3),$color(join)) $timestamp ** Giris: $nick $tam($hget(ident,$nick),$hget(giris,$nick))) 1 $hget(sehir,$nick) $cesitler($hget(ulke,$nick)) | haltdef }
else {
hadd -m chan $nick $addtok($hget(chan,$nick),#,32)
if !$sock($+(nrdbul,$nick)) { who +I $nick }
haltdef
}
}
}
raw 352:*:bul $4 $6 $3 | hadd -m ident $6 $3 | haltdef
alias bul {
sockopen $+(nrdbul,$2) www.ipaddresslocation.org 80
sockmark $+(nrdbul,$2) $+($2,*,$1,*,$3)
}
alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } }
on *:sockopen:nrdbul*:{
sockwrite -nt $sockname GET $+(/ip-address-locator.php?lookup=,$token($sock($sockname).mark,2,42)) HTTP/1.1
sockwrite -nt $sockname Host: www.ipaddresslocation.org
sockwrite -nt $sockname Connection: keep-alive
sockwrite -nt $sockname Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
sockwrite -nt $sockname $crlf
}
on *:sockread:nrdbul*:{
var %x | sockread %x
if $regex(%x,/IP Country: (.*?)/i) { hadd -mu5 $sockname webulke $iif($regml(1),$v1,Belirsiz) }
if $regex(%x,/IP City: (.*?)/i) { hadd -mu5 $sockname websehir $iif($regml(1),$v1,Belirsiz) }
if $regex(%x,/ISP Provider: (.*?)/i) {
hadd -mu5 $sockname webisp $regml(1)
hadd -mu5 $sockname webnick $token($sock($sockname).mark,1,42)
hadd -mu5 $sockname webip $token($sock($sockname).mark,2,42)
hadd -mu5 $sockname webident $token($sock($sockname).mark,3,42)
hadd -mu5 $sockname webchan $hget(chan,$hget($sockname,webnick))
if $hget(chan,$hget($sockname,webnick)) {
hdel -m chan $v1
hadd -m giris $hget($sockname,webnick) $hget($sockname,webip)
hadd -m sehir $hget($sockname,webnick) $+($chr(40),,$hget($sockname,webulke),-,$hget($sockname,websehir),,$chr(41))
hadd -m ulke $hget($sockname,webnick) $hget($sockname,webulke)
tokenize 32 $hget($sockname,webchan)
echo $* $+($chr(3),$color(join)) $timestamp Giris: ** $hget($sockname,webnick) $tam($hget($sockname,webident),$hget(giris,$hget($sockname,webnick))) 1 $hget(sehir,$hget($sockname,webnick)) $cesitler($hget($sockname,webulke))
}
sockclose $sockname
}
}
alias cesitler { return - 4"Nick-Ban" 2&4 "IP-Banla" 2&4 "Shun" 2&4 "Gzline" 2&4 $iif(!$ulkekont($1),"Ulke-Ekle","Ulke-Sil" - "Tum-Kanallardan-At") - }
alias ulkekont {
if $hfind(banulke,$1,1,W).data { return 1 }
}
alias tam { return $+($chr(40),$1,@,$2,$chr(41)) }
alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } }
on ^*:hotlink:*"*:#:if ($regex($1,/"(Nick|IP|Gzline|Shun|Ulke)(.+)"$/)) return
on *:hotlink:*:*: {
var %nick $token($hotline,5,32), %islem $remove($1,")
if (%islem == nick-ban) { ban -k $active %nick 1 4 Nick-Ban }
if (%islem == ip-banla) { ban -k $active %nick 2 4IP-Ban }
if (%islem == shun) { echo -a shun %nick 4Shunlandin }
if (%islem == tum-kanallardan-at) {
tokenize 32 $regsubex($str(a,$comchan(%nick,0)),/./g,$chr(32) $comchan(%nick,\n) )
ban -k $* %nick 4Tum kanallardan ban.
}
if (%islem == gzline) { gzline %nick +0 4sunucudan uzaklastirildiniz. }
if (%islem == ulke-ekle) { var %rand $rand(0,9999)
if $hfind(banulke,$hget(ulke,%nick),1,W).data { echo -a $hget(ulke,%nick) - zaten yasakli ulke listesinde. | return }
hadd -m banulke %rand $hget(ulke,%nick)
hsave -m banulke banulke.63
echo -a ** $hget(ulke,%nick) - banli listeye eklendi.
}
if (%islem == ulke-sil) { var %rand $rand(0,9999)
if !$hfind(banulke,$hget(ulke,%nick),1,W).data { echo -a $hget(ulke,%nick) - zaten yasakli ulke listesinde bulunmuyor. | return }
hadd -m banulke $hfind(banulke,$hget(ulke,%nick),1,W).data
hsave -m banulke banulke.63
echo -a ** $hget(ulke,%nick) - ban listesinden silindi.
}
}
on *:start: {
if $isfile(banluke.63) { hmake banulke | hload banulke banulke.63 }
}
Simple Seen Snippet
ON *:TEXT:*:#: {
hadd seen $nick text $chan $ctime $1-
if ($1 = !seen) {
if ($count($2, ?, *)) {
var %max = 5 | ; maximum number of results
var %i = 1, %n = $hfind(seen, $2, 0, w)
msg $chan $nick $+ : %n result $+ $iif(%n != 1, s) for $2. $iif(%n > %max, Showing first %max)
while (%i <= %max) && ($hfind(seen, $2, %i, w)) {
msg $chan $nick $+ : $seenparse($v1)
inc %i
}
}
elseif ($2 ison $chan) { msg $chan $2 is right here. }
else { msg $chan $nick $+ : $seenparse($2) }
}
}
Instant /help
/*
{
Instant /help by jaytea
Displays information from the help file to the active
window. Ideal for a quick syntax reference or copying
and pasting excerpts from the help file to users in
a format that closely resembles the original.
Use /hf <search term> to look up '<search term>' and
display the matching section in the active window. By
default, /help has been overwritten to allow you to
use /help <search term> which might have become habit.
<search term> can contain wildcards; if more than one
result is found, you will be prompted to clarify which
one you want to view. For example:
/help /*
Prompts you to select a command to view information on.
/help /draw*
Choose a /draw command to view information on.
For questions, suggestions or comments related to this
snippet, please drop by #mSL on irc.swiftirc.net and
let me know.
Thanks to my man FiberOPtics for $_htmlconv().
}
*/
alias help hf $1- | if ($isid) returnex $chr(32) | ; Comment out or delete this line to get your old /help back.
alias hf {
if (!$isfile($scriptdirhf\mirc.hhk)) {
echo -eagc info Unable to find mirc.hhk. Try /hf_init to (re)initialize
return
}
if (!$hf_find($1-)) {
echo -eagc info No matches found.
}
}
on *:load:{
hf_init
}
alias hf_init {
if ($1 == 2) {
if ($isfile($scriptdirhf\mirc.hhk)) {
.timer $+ $ctimer off
echo -agc info2 Preparing data files ...
noop $findfile($scriptdirhf, *.htm, 0, hf_parse $1-)
hf_hhk
echo -agc info2 Initialization successfully completed.
}
return
}
var %chm = $findfile(., mirc.chm, 1).shortfn
if (!%chm) %chm = $findfile($nofile($mircini), mirc.chm, 1).shortfn
if (!%chm) {
echo -eagc info * Error: mirc.chm not found. Cannot proceed.
return
}
mkdir $qt($scriptdirhf)
if ($isfile($scriptdirhf\mirc.hhk)) .remove $qt($scriptdirhf\mirc.hhk)
run hh -decompile $shortfn($scriptdirhf) mirc.chm
echo -agc info2 Unpacking mirc.chm. Please wait ...
.timerhf -m 0 500 hf_init 2
}
; $hf_find(search term)
alias hf_find {
if (" isin $1) || ($1 == $null) return 0
if ($fopen(hff)) .fclose hff
if (!$isfile($scriptdirhf\mirc.hhk)) {
echo -eagc info * /hf_find: no such file $scriptdirhf\mirc.hhk
goto end
}
.fopen hff $qt($scriptdirhf\mirc.hhk)
var %search = $1"*"*, %result
.fseek -w hff %search
while (!$feof) {
tokenize 34 $fread(hff)
%result = %result $+ , $+ $iif($!?* iswm $1, $!! $+ $mid($1, 2), $1)
if ($len(%result) > 4000) break
.fseek -w hff %search
}
%result = $mid(%result, 2)
if (, isin %result) {
%result = $input(Multiple results found. Please select one:, m, Help!, , [ %result ] )
}
else %result = $eval(%result, 2)
if (!%result) return 0
.fseek hff 0
.fseek -w hff %result $+ "*
tokenize 34 $fread(hff)
.fclose hff
return $hf_load($2, $3)
:end
.fclose hff
}
; $hf_load(file, label)
alias hf_load {
if ($fopen(hfl)) .fclose hfl
if (!$isfile($scriptdirhf\ $+ $1)) {
echo -eagc info * /hf_load: no such file $scriptdirhf\ $+ $1
return 0
}
var %first
if ($2) {
noop $read($scriptdirhf\ $+ $1, wn, $qt($2))
if (!$readn) return 0
%first = $readn + 1
}
else %first = 1
noop $read($scriptdirhf\ $+ $1, wn, "*", %first)
loadbuf $+(%first, -, $iif($readn, $calc($v1 - 1), $lines($scriptdirhf\ $+ $1))) -ap $qt($scriptdirhf\ $+ $1)
return 1
}
; /hf_hhk
alias hf_hhk {
if ($fopen(hfh)) .fclose hfh
if (!$isfile($scriptdirhf\mirc.hhk)) {
echo -eagc info * /hf_hhk: no such file $scriptdirhf\mirc.hhk
goto end
}
.fopen hfh $qt($scriptdirhf\mirc.hhk)
noop $fread(hfh, $file($scriptdirhf\mirc.hhk).size, &hfh)
.fseek hfh 0
var %i = 1, %name
while ($bfind(&hfh, %i, name="Name")) {
%name = $gettok($bvar(&hfh, $v1, 100).text, 4, 34)
%i = $bfind(&hfh, $v1, name="Local")
tokenize 35 $gettok($bvar(&hfh, %i, 100).text, 4, 34)
.fwrite -n hfh $replace($+(%name, ", $1, ", $2), &, &, <, <, >, >, , $chr(32))
}
btrunc $qt($scriptdirhf\mirc.hhk) $fopen(hfh).pos
:end
.fclose hfh
}
; /hf_parse <file>
alias hf_parse {
if ($fopen(hfp)) .fclose hfp
if (!$isfile($1-)) {
echo -eagc info * /hf_parse: no such file $1-
goto end
}
.fopen hfp $qt($1-)
bunset &hfp
noop $fread(hfp, $file($1-).size, &hfp)
var %i = 1
while ($bfind(&hfp, %i, <a name=)) {
%i = 1 + $v1
bset &hfp $v1 < ! ! ! > < p >
if ($bfind(&hfp, $v1, ></a>)) {
bset &hfp $v1 < b r 32 >
%i = $v1
}
else {
echo -eagc info * /hf_parse: error #1 with $1-
goto end
}
}
var %list = f_Bolddefault,48 50,f_Heading1,50 31,f_Highlight,49 50,f_Subheading,48 52
var %i = 1
while ($bfind(&hfp, %i, <span class=")) {
var %label = $gettok($bvar(&hfp, $v1, 100).text, 2, 34)
%i = $v1
if (?? ?? iswm $replace(%label, [ %list ] )) {
%i = $bfind(&hfp, %i, >) - 5
bset &hfp %i " > 2 3 $v2
%i = $bfind(&hfp, %i, </span>)
bset &hfp %i 15 $iif($bvar(&hfp, %i, 11).text == </span></p>, < p > 160 32 32, < ! > < ! >)
}
else {
echo -eagc info * /hf_parse: error #2 with $1-
goto end
}
}
.fseek hfp 0
.fwrite -b hfp &hfp
.fclose hfp
if (!$_htmlconv($1-)) echo -eagc info * /hf_parse: error #3 with $1-
return
:end
.fclose hfp
}
; $_htmlconv
; Author: FiberOPtics - mirc.fiberoptics@gmail.com
;
alias _htmlconv {
if (!$isfile($1)) || ($os isin 9598) return 0
var %in = $shortfn($1), %out = $shortfn($2), %mss = mss $+ $ticks
if ($2 == $null) %out = %in
.comopen %mss MSScriptControl.ScriptControl
if ($comerr) return 0
var %t, %n = $crlf
%t = $com(%mss,language,4,bstr*,vbscript)
%t = $&
set html = createobject("htmlfile") %n $&
set fso = createobject("scripting.filesystemobject") %n $&
set inf = fso.opentextfile( $+(",%in,") ) %n $&
src = inf.readall %n $&
inf.close %n $&
html.write "<html><body>" & src & "</body></html>" %n $&
set outf = fso.createtextfile( $+(",%out,") ,true) %n $&
outf.write html.body.innertext %n $&
outf.close
%t = $com(%mss,executestatement,1,bstr*,%t)
.comclose %mss
return %t
:error
if ($com(%mss)) .comclose %mss
return 0
}