Kod
;----- Ayar Kısmı -----
alias _nbot return WEB-KAYIT
alias _pass return şifre
alias _oper return opernick operpass
alias _supass return sohbetlove
alias _sunucu return irc.SohbetLove.Com
alias _sunucuip return 178.33.135.19
alias _port return 6667
alias _services return #Services
;----- (The End) -----
alias _nick return $remove($gettok($1,1,33),:)
alias swnbot $iif($sock(nbot).status == active,sockwrite -nt nbot $1-)
on *:sockclose:nbot:$+(.timer,nbot) 1 2 sockopen nbot $_sunucuip $_port
on *:sockopen:nbot:{
if ($sockerr) { sockclose nbot | $+(.timer,nbot) 1 2 sockopen nbot $_sunucuip $_port | returnex }
swnbot NICK $+($_nbot,$r(100,9999))
swnbot USER Paradox "" " $+ $iif($host,$host,$ip) 2By 4Toprak
sockmark $sockname $_nbot
unset %:nkayıt
}
on *:sockread:nbot:{
if ($sockerr) { sockclose nbot | $+(.timer,nbot) 1 2 sockopen nbot $_sunucuip $_port | returnex }
var %;nbot | sockread %;nbot | tokenize 32 %;nbot
if ($1 = ping) swnbot pong $remove($2,:)
if ($regex($2,/001|433|376)) { swnbot oper $_oper | swnbot ns ghost $_nbot $_pass | swnbot ns release $_nbot $_pass | swnbot join #0,0 | $+(.timer,_pnicks) 1 3 swnbot nick $_nbot }
if $1 == error && $2 == :closing { sockclose nbot | $+(.timer,nbot) 1 3 sockopen nbot $_sunucuip $_port }
if ($regex($2,/473|475|471|474)) { swnbot sajoin $_nbot $4 }
if ($regex($2,/481|411)) { swnbot oper $_oper | swnbot nick $_nbot | swnbot nickserv identify $_pass }
if $regex($2,/(PRIVMSG|NOTICE|ACTION)) && ($left($3,1) != $chr(35)) {
if $4 == :VERSION { swnbot NOTICE $_nick($1) VERSION mIRC v6.35 Khaled Mardam-Bey | swnbot NOTICE $_nick($1) VERSION 2By 4Toprak | return }
if $4 == :FINGER { swnbot NOTICE $_nick($1) FINGER 2By 4Toprak (Paradox@) Idle $r(1,4) seconds | return }
if $4 == :PING { swnbot NOTICE $_nick($1) PONG $5- | return }
}
if ($2 == NICK) {
if ($_nick($1) == $_nbot) && %:nkayıt != on { swnbot ns ghost $_nbot $_pass | swnbot ns release $_nbot $_pass | $+(.timer,_pnicks) 1 3 swnbot nick $_nbot }
if ($right($3,-1) == $_nbot) && %:nkayıt != on {
swnbot nickserv identify $_pass
swnbot oper $_oper
$iif($_supass,swnbot os su $_supass)
swnbot join #0,0
swnbot mode $right($3,-1) +qHp-h
$+(.timer,_ngir) 1 3 swnbot sajoin $right($3,-1) $+($_services,$chr(44),#Bot)
$+(.timer,_nsqline) 1 20 swnbot os sqline list
}
}
if ($2 == 366) && !$istok($_services #Bot,$4,32) { swnbot part $4 }
if ($2 == PART) && $_nick($1) == $_nbot && $istok($_services #Bot,$3,32) { swnbot sajoin $_nick($1) $3 }
if ($2 == KICK) && $4 == $_nbot && $istok($_services #Bot,$3,32) {
swnbot os raw :chanserv mode $3 -qaoh+v $str($+($_nick($1),$chr(32)),5)
swnbot sajoin $4 $3
return
}
if ($2 == JOIN) {
if $_nick($1) == $_nbot && $right($3,-1) == #Bot {
swnbot mode $right($3,-1) -qao+h $str($+($_nick($1),$chr(32)),5)
swnbot os raw :nickserv join $right($3,-1)
swnbot mode $right($3,-1) +OAsmntrk-GfjTV 65tyhgfhdfgdf
swnbot mode $_nick($1) +qHpN-h
swnbot mode $right($3,-1) -qao+h $str($+(NickServ,$chr(32)),5)
swnbot os raw svsmode NickServ +iowgraAsxNWqHtp-Sd
return
}
if $_nick($1) == $_nbot && $istok($_services,$right($3,-1),32) {
swnbot mode $right($3,-1) -qao+h $str($+($_nick($1),$chr(32)),5)
swnbot mode $_nick($1) +qHpN-h
return
}
if $right($3,-1) == #Bot && !$istok($_nbot NickServ,$_nick($1),32) {
if $regex($gettok($1,2,64),/(Root|netadmin|services|oper|admin|staff)/i) { return }
swnbot mode $right($3,-1) +b $_nick($1) | swnbot kick $right($3,-1) $_nick($1) Bu kanalda bulunamazsın!
}
}
if ($2 == MODE) && $left($3,1) == $chr(35) {
if (!$5) { return }
if $regex($4,\+(b)) && ($+(*,$_nbot,*) iswm $5-) { swnbot mode $3 -b $_nbot | return }
if $regex($4,\-(h)) || $regex($4,\+(a|o|q)) && ($+(*,$_nbot,*) iswm $5-) { swnbot mode $3 -qao+h $str($+($_nbot,$chr(32)),5) }
}
if ($2 == 440) {
var %:syok = 1 | while %:syok <= $hget(Nick-Kayıt,0).data {
sw $token($hget(Nick-Kayıt,%:syok).data,1,191) <center>Sunucumuz üzerinde şuan'da Servicesler bulunmamaktadır. (Bakim Modu)<br />
sw $token($hget(Nick-Kayıt,%:syok).data,1,191) Lütfen daha sonra tekrar deneyiniz..</center>
sockclose $token($hget(Nick-Kayıt,%:syok).data,1,191)
inc %:syok
}
}
if ($2 == 352) {
if $hget(Nick-Kayıt,$8) {
if $token($hget(Nick-Kayıt,$8),4,191) == $6 {
swnbot sendraw #Bot $+(::,$8) PRIVMSG NickServ :register $token($hget(Nick-Kayıt,$8),3,191) $token($hget(Nick-Kayıt,$8),2,191)
sw $token($hget(Nick-Kayıt,$8),1,191) <center><font color="#FF0000"> $8 </font> nick'iniz başarılı bir şekilde kayıt edildi.<br />
sw $token($hget(Nick-Kayıt,$8),1,191) Nick sifreniz:<font color="#FF0000"> $token($hget(Nick-Kayıt,$8),3,191) </font></center>
sockclose $token($hget(Nick-Kayıt,$8),1,191)
_hata [ Nick Kayit ] [Nick: $8 ] [IP: $token($hget(Nick-Kayıt,$8),4,191) ] [Şifre: $token($hget(Nick-Kayıt,$8),3,191) ] [Mail: $token($hget(Nick-Kayıt,$8),2,191) ]
.hinc -msu150 NFlood $token($hget(Nick-Kayıt,$8),4,191)
.hdel -ms Nick-Kayıt $8
return
}
else {
sw $token($hget(Nick-Kayıt,$8),1,191) <center><font color="#FF0000"> $8 </font> nick'i şuan sunucuda kullanılmakda..(1. tekil kişi)<br />
sw $token($hget(Nick-Kayıt,$8),1,191) Lütfen başka bir nick seçiniz.. <br /><br />
sw $token($hget(Nick-Kayıt,$8),1,191) Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $token($hget(Nick-Kayıt,$8),1,191) $_yonles
sockclose $token($hget(Nick-Kayıt,$8),1,191)
_hata [ Online Nick ] [Nick: $8 ] [IP: $token($hget(Nick-Kayıt,$8),4,191) ] [Sebep: Nick Sunucuda Online (1. tekil kişi) ]
.hdel -ms Nick-Kayıt $8
return
}
}
}
if ($2 == 315) {
if $hget(Nick-Kayıt,$4) {
set %:nkayıt on
swnbot nick $4
$+(.timer,$4) 1 1 swnbot nickserv register $token($hget(Nick-Kayıt,$4),3,191) $token($hget(Nick-Kayıt,$4),2,191)
$+(.timer,_pnicks) 1 10 swnbot nick $_nbot
}
}
if ($2 == NOTICE) {
if (*Link * -> * established* iswm $strip($4-)) { sockclose $sockname | .timer 1 2 _socksbak }
if (*added an SQLINE for* iswm $strip($4-)) { swnbot os sqline list }
if $_nick($1) == OperServ {
if (Aktüel liste: isin $4-) { .hfree -sw Sqline | return }
else { .hadd -ms Sqline $remove($4,:) Yasak }
}
if $_nick($1) == NickServ {
if (*kayitli bir nick degil* iswm $strip($4-)) { if $hget(Nick-Kayıt,$remove($strip($4),:)) { swnbot who +I $remove($strip($4),:) } }
if (isim: isin $strip($4-)) {
if $hget(Nick-Kayıt,$strip($5)) {
sw $token($hget(Nick-Kayıt,$strip($5)),1,191) <center><font color="#FF0000"> $strip($5) </font>Kayıtlı nick!<br />
sw $token($hget(Nick-Kayıt,$strip($5)),1,191) Lütfen başka bir nick seçiniz..<br /><br />
sw $token($hget(Nick-Kayıt,$strip($5)),1,191) Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $token($hget(Nick-Kayıt,$strip($5)),1,191) $_yonles | sockclose $token($hget(Nick-Kayıt,$strip($5)),1,191)
_hata [ Kayit Tekrar ] [Nick: $strip($5) ] [IP: $token($hget(Nick-Kayıt,$strip($5)),4,191) ] [Sebep: Kayıtlı Nick ]
.hdel -ms Nick-Kayıt $strip($5)
}
}
if (*Cok fazla kayitli nicke sahipsiniz* iswm $strip($4-)) {
sw $token($hget(Nick-Kayıt,$remove($strip($3),:)),1,191) <center>Lütfen başka bir mail adresi belirtiniz. Bu mail adresi daha önce kullanılmış.<br /><br />
sw $token($hget(Nick-Kayıt,$remove($strip($3),:)),1,191) Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $token($hget(Nick-Kayıt,$remove($strip($3),:)),1,191) $_yonles
sockclose $token($hget(Nick-Kayıt,$remove($strip($3),:)),1,191)
set %:nkayıt on
swnbot nick $_nbot
_hata [ Mail Tekrar ] [Nick: $remove($strip($3),:) ] [IP: $token($hget(Nick-Kayıt,$remove($strip($3),:)),4,191) ] [Şifre: $token($hget(Nick-Kayıt,$remove($strip($3),:)),3,191) ] [Mail: $token($hget(Nick-Kayıt,$remove($strip($3),:)),2,191) ]
.hdel -ms Nick-Kayıt $remove($strip($3),:)
return
}
if (*kaydedilemez ve/veya kullanilamaz* iswm $strip($4-)) {
if $hget(Nick-Kayıt,$remove($strip($4),:)) {
sw $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191) <center><font color="#FF0000"> $remove($strip($4),:) </font> $strip($5-) (Forbidden)<br />
sw $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191) Lütfen başka bir nick seçiniz.. <br /><br />
sw $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191) Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191) $_yonles
sockclose $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191)
_hata [ Yasaklı Nick ] [Nick: $remove($strip($4),:) ] [IP: $token($hget(Nick-Kayıt,$remove($strip($4),:)),4,191) ] [Sebep: Forbid Nick ]
.hdel -ms Nick-Kayıt $remove($strip($4),:)
}
}
if (*nick'i basari ile kaydedilmistir* iswm $strip($4-)) {
if $hget(Nick-Kayıt,$remove($strip($4),:)) {
set %:nkayıt on
sw $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191) <center><font color="#FF0000"> $remove($strip($4),:) </font> nick'iniz başarılı bir şekilde kayıt edildi.<br />
sw $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191) Nick sifreniz:<font color="#FF0000"> $token($hget(Nick-Kayıt,$remove($strip($4),:)),3,191) </font></center>
swnbot nick $_nbot
sockclose $token($hget(Nick-Kayıt,$remove($strip($4),:)),1,191)
_hata [ Nick Kayit ] [Nick: $remove($strip($4),:) ] [IP: $token($hget(Nick-Kayıt,$remove($strip($4),:)),4,191) ] [Şifre: $token($hget(Nick-Kayıt,$remove($strip($4),:)),3,191) ] [Mail: $token($hget(Nick-Kayıt,$remove($strip($4),:)),2,191) ]
.hinc -msu150 NFlood $token($hget(Nick-Kayıt,$remove($strip($4),:)),4,191)
.hdel -ms Nick-Kayıt $remove($strip($4),:)
swnbot nickserv identify $_pass
return
}
}
}
}
}
on *:start:.socklisten nickkayit 1991 | $+(.timer,_socksbak) 0 20 _socksbak | _socksbak
alias _socksbak {
if !$sock(nbot) { sockopen nbot $_sunucuip $_port }
}
alias sw $iif($sock($1),sockwrite -nt $1-)
alias _yonles return <head><meta http-equiv="refresh" content="3;URL=index.php"></head>
alias _hata swnbot privmsg $_services $1-
on *:socklisten:nickkayit:{ var %:sockname $+(nickkayit-,$md5($ticks,$rand(a,Z))) | if !$sock(%:sockname) { .sockaccept %:sockname } }
on *:sockread:nickkayit-*:{
var %:kayit | sockread -f %:kayit | tokenize 32 %:kayit | echo -a %:kayit
if $token(%:kayit,1,62) === [Nick-kayit] {
var %:nick $token(%:kayit,2,62), %:sifre $token(%:kayit,3,62), %:mail $token(%:kayit,4,62), %:ip $token(%:kayit,5,62)
if !$sock(nbot) {
sockopen nbot $_sunucuip $_port
sw $sockname <center>Bir sorun oluştu lütfen tekrar deneyiniz.<br /><br />
sw $sockname Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $sockname $_yonles | sockclose $sockname
bagla
return
}
if $hget(NFlood,%:ip) {
sw $sockname <center>Lütfen tekrar kayit için<font color="#FF0000"> $replace($duration($hget(NFlood,%:ip).unset),mins,$+($chr(32),dakika),secs,$+($chr(32),saniye),hr,$+($chr(32),saat)) </font>bekleyiniz.</center>
sockclose $sockname
_hata [ Flood Kayit ] [Nick: %:nick ] [IP: %:ip ] [Sebep: Flood ] [Kalan süre: $replace($duration($hget(NFlood,%:ip).unset),mins,$+($chr(32),dakika),secs,$+($chr(32),saniye),hr,$+($chr(32),saat)) ]
return
}
if !$regex(%:nick,/^([a-zA-Z_^\133\135}{][a-zA-Z0-9_|^}\{\133\135`-]{1,30})$/i) {
sw $sockname <center>Lütfen nick'inizi doğru giriniz. Uygunsuz karekter(ler);<font color="#FF0000">[ $regsubex(%:nick,/([][A-Za-z_\\^`{|}][][\w\\^`{|}-]*)/gi,) ]</font><br /><br />
sw $sockname Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $sockname $_yonles | sockclose $sockname
_hata [ Hatalı Kayit ] [Nick: %:nick ] [IP: %:ip ] [Sebep: Uygunsuz Karekter ] [Karekter(ler): $regsubex(%:nick,/([][A-Za-z_\\^`{|}][][\w\\^`{|}-]*)/gi,) ]
return
}
if $hfind(Sqline,%:nick,1,W).item {
sw $sockname <center><font color="#FF0000"> %:nick </font> kaydedilemez ve/veya kullanilamaz.(SQLINE List) <br />
sw $sockname Lütfen başka bir nick seçiniz.. <br /><br />
sw $sockname Nick kayit sayfasına yönlendiriliyorsunuz..</center>
sw $sockname $_yonles | sockclose $sockname
_hata [ Yasaklı Nick ] [Nick: %:nick ] [IP: %:ip ] [Sebep: Sqline List ]
return
}
.hadd -msu60 Nick-Kayıt %:nick $+($sockname,¿,%:mail,¿,%:sifre,¿,%:ip)
swnbot ns info %:nick all
}
}
Yapılması gereken sadece botun kurulu olduğu pc'de 1991 port açmak ve kontrol.php 'ye ip adresini yazmak..
Not: Paylaşmamdaki amaç ortaya birseyler katmanız kurcalarsanız bir çok şey yapabilirsiniz..
KoD ; @Toprak Aittir.