Kod:
on *:connect: { if !$ial { .ial on } }
alias nbdll {
var %check = $dll($qt($+($scriptdir,db.dll)),Open,nblist $shortfn($+($scriptdir,nblist.db))))
if !$regex(%check,(S_OK|E_LABEL_IN_USE)) { echo $color(info text) *** nblist error: %check | halt }
%check = $dll($qt($+($scriptdir,db.dll)),Query,nblist $1-)
if $isid { return %check }
elseif $show && !$isid { echo $color(info text) *** nblist: %check }
}
alias nbsave {
.nbdll DELETE FROM list WHERE (strftime('%J','now') - strftime('%J',ctime) > 100)
if $regex($nbdll(select * FROM list WHERE nick = $+(',$1,') and network = $+(',$2,') and ip LIKE $+(',$regsubex($3,^.*@,$+($chr(37),@)),')),S_OK [^0]) {
.nbdll UPDATE list SET ctime = julianday('now') where nick = $+(',$1,') and network = $+(',$2,') and ip = $+(',$3,')
}
else {
.nbdll insert into list values( $+(',$1,') , $+(',$2,') , $+(',$3,') ,julianday('now'))
}
}
alias nbsrc { return $gettok($nbdll(SELECT * FROM list WHERE network = $+(',$1,') AND ip LIKE $+(',$replace($2,*,%),') AND $+(nick!=,',$3,')),2,32) }
alias nbget {
var %x = $remove($dll($qt($+($scriptdir,db.dll)),fetchrow,nblist $1),S_OK)
return $gettok(%x,$2,9)
}
#1 on
raw 340:*: {
set %userip *!*@ $+ $gettok($gettok($2-,2,64),1-3,46) $+ .IP
nbsave %nik $iif($network,$network,$server) $puttok(%fulladdress,$gettok(%userip,2,64),2,64)
halt
}
#1 end
#2 off
raw 340:*: {
set %userip *!*@ $+ $gettok($gettok($2-,2,64),1-3,46) $+ .IP
nbsave %nik $network $puttok(%D,$gettok(%userip,2,64),2,64)
halt
}
#2 end
on *:quit: { if $nick != $me { nbsave $nick $iif($network,$network,$server) $fulladdress } }
on !*:join:#sohbet: { .enable #1 | .disable #2
unset %userip | set %fulladdress $fulladdress | userip $nick | set %nik $nick
if $istok(Check SozBot T-BoT,$nick,32) { return }
if $nick != $me {
var %outstr = $null
if $nbsrc($iif($network,$network,$server),%userip) {
var %i = $v1
if #sohbet == $chan {
$iif(!$window(@AynıNickler),window -e @AynıNickler)
echo -t @AynıNickler $+($str($chr(160),3),->) $nick 4NickininDaha Onceki nickleri $+($chr(40),%i,$chr(41),:)
}
echo -t $chan $+($str($chr(160),3),->) 4Daha Onceki nickleri $+($chr(40),%i,$chr(41),:)
while %i > 0 {
if $len(%outstr $nbget(%i,1)) <= 750 {
%outstr = $+(%outstr,$iif(%outstr,$+(4 $+ $chr(44) $+ 3,$chr(32)),$null),$nbget(%i,1))
}
else {
echo -t $chan $+($str($chr(160),3),->) 3 %outstr
if #sohbet == $chan {
echo -te @AynıNickler $+($str($chr(160),3),->) 3 %outstr
}
%outstr = $null
}
dec %i 1
}
if %outstr {
echo -t $chan $+($str($chr(160),3),->) 3 %outstr
if #sohbet == $chan {
.timer 1 1 echo -te @AynıNickler $+($str($chr(160),3),->) 3 %outstr
}
}
echo $chan $chr(160)
}
}
}
on *:open:?:*: { .enable #1 | .disable #2
unset %userip | set %fulladdress $fulladdress | userip $nick | set %nik $nick
var %outstr = $null
if $nbsrc($iif($network,$network,$server),%userip) {
var %i = $v1
echo -t $nick Daha önceki nickleri $+($chr(40),%i,$chr(41),:)
while %i > 0 {
if $len(%outstr $nbget(%i,1)) <= 750 {
%outstr = $+(%outstr,$iif(%outstr,$+($chr(44),$chr(32)),$null),$nbget(%i,1))
}
else { echo -t $nick $+($chr(160),->) %outstr | %outstr = $null }
dec %i 1
}
if %outstr { echo -t $nick $+($chr(160),->) %outstr }
echo $nick $chr(160)
}
echo -a 3orjinal4 $nick $iif($network,$network,$server) $fulladdress
}
alias query { .enable #2 | .disable #1
unset %userip | set %D $address($1,5) | userip $1 | set %nik $1
var %outstr = $null
!query $1
if $nbsrc($iif($network,$network,$server),%userip) {
var %i = $v1
echo -t $1 Daha önceki nickleri $+($chr(40),%i,$chr(41),:)
while %i > 0 {
if $len(%outstr $nbget(%i,1)) <= 750 {
%outstr = $+(%outstr,$iif(%outstr,$+($chr(44),$chr(32)),$null),$nbget(%i,1))
}
else { echo -t $1 $+($chr(160),->) %outstr | %outstr = $null }
dec %i 1
}
if %outstr { echo -t $1 $+($chr(160),->) %outstr }
echo $1 $chr(160)
}
}