-
Posts
580 -
Joined
-
Last visited
-
Days Won
7
Content Type
Profiles
Forums
Downloads
Gallery
Events
Articles
Everything posted by coders-irc_Bot
-
NERDEN KODU GÜNCEL KİŞİNİN NERDEN OLDUNU GÖREBİLİRSİNİZ ÜLKE ŞEHİR İSP GİBİ SONUCLARI GÖSTERİR Kullanımı: !nerden IP/NICK on *:text:*:#:{ if $regex($1,/^[!.-]nerden$/Si) { if !$2 { msg # Lütfen !Nerden IP/Nick Olarak Belirtiniz. | return } set %:kanal # if $regex($2,/(\d+\.\d+\.\d+\.\d+)) { _nerden $2 } else { .enable #nerdenbul | .who +I $2 } } } on *:input:#:{ if $regex($1,/^[!.-]nerden$/Si) { if !$2 { msg # Lütfen !Nerden IP/Nick Olarak Belirtiniz. | return } set %:kanal # if $regex($2,/(\d+\.\d+\.\d+\.\d+)) { _nerden $2 } else { .enable #nerdenbul | .who +I $2 } } } #nerdenbul off raw 352:*: _nerden $4 raw 315:*:.disable #nerdenbul #nerdenbul end alias _nerden { var %:r $r(1000,99999) | sockopen $+(yerbul,%:r) www.ipaddresslocation.org 80 | sockmark $+(yerbul,%:r) $1 } alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } } on *:sockopen:yerbul*:{ sockwrite -n $sockname GET $+(/ip-address-locator.php?lookup=,$sock($sockname).mark) HTTP/1.1 sockwrite -n $sockname Host: www.ipaddresslocation.org sockwrite -n $sockname Connection: keep-alive sockwrite -n $sockname Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 sockwrite -n $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 -n $sockname $crlf } on *:sockread:yerbul*:{ var %:yerbul | sockread -f %:yerbul if (Hostname: isin %:yerbul) { msg %:kanal Hostname:4 $iif(!$token($htmlfree(%:yerbul),3,58),Belirsiz,$token($htmlfree(%:yerbul),3,58)) } if (IP Country: isin %:yerbul) { msg %:kanal Ülke:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) } if (IP Country Code: isin %:yerbul) { msg %:kanal Ülke Kodu:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) } if (IP Continent: isin %:yerbul) { msg %:kanal Kıta:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) } if (IP City: isin %:yerbul) { msg %:kanal Şehir:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) } if (IP Latitude: isin %:yerbul) { msg %:kanal Enlem:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) } if (IP Longitude: isin %:yerbul) { msg %:kanal Boylam:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) } if (ISP Provider: isin %:yerbul) { msg %:kanal ISP:4 $iif(!$token($htmlfree(%:yerbul),2,58),Belirsiz,$token($htmlfree(%:yerbul),2,58)) | sockclose $sockname } }
-
Gelişmiş bir nick/ip takip kodu Kırmızı olarak mobil ve web portu işaretledim onu kendinize göre düzenleyiniz. on *:input:#:{ if $regex($1,/^[!.&-][ıiİ]p$/Si) { if !$2 { msg # Lütfen Nick/IP belirtiniz. Kullanımı:4 !ip [IP|NICK] } elseif $regex($2,/\d+\.\d+\.\d+\.\d+/Si) { if !$isfile($+(IP/,$strip($2),.txt)) { msg # $+(,$strip($2),) IP'ine ait kayıt bulunamadı. | return } msg # =====" 2Nick "=====" 2Ident "=====" 2Action "=====" 2Saat "===== " 2Tarih "===== msg # - var %:_ar = $lines($+(IP/,$strip($2),.txt)) | while %:_ar { var %:read = $read($+(IP/,$strip($2),.txt),%:_ar) msg # 2-4 $token(%:read,2,32) - ID:2 $token(%:read,3,32) - Aksiyon:2 $token(%:read,4-,32) - Zaman:2 $token($token(%:read,1,32),2,191) -5 $iif($date == $token($token(%:read,1,32),1,191),Bugün,$token($token(%:read,1,32),1,191)) dec %:_ar } msg # - msg # 4* Bilgi: $+(2,$strip($2),) IP'sine ait $+(4,$lines($+(IP/,$strip($2),.txt)),) adet kayıt sıralanmıştır. msg # =============================================================== msg # - .hadd -ms Ns-list $strip($2) # ns list $+(*@,$strip($2)) } else { if !$isfile($+(IP/,$strip($2),.txt)) { msg # $+(,$strip($5),) Nick'ine ait kayıt bulunamadı. | return } msg # =====" 2IP "=====" 2Ident "=====" 2Action "=====" 2Saat "===== " 2Tarih "===== msg # - var %:_ar = $lines($+(IP/,$strip($2),.txt)) | while %:_ar { var %:read = $read($+(IP/,$strip($2),.txt),%:_ar) msg # 2-4 $token(%:read,2,32) - ID:2 $token(%:read,3,32) - Aksiyon:2 $token(%:read,4-,32) - Zaman:2 $token($token(%:read,1,32),2,191) -5 $iif($date == $token($token(%:read,1,32),1,191),Bugün,$token($token(%:read,1,32),1,191)) dec %:_ar } msg # - msg # 4* Bilgi: $+(2,$strip($2),) Nick'ine ait $+(4,$lines($+(IP/,$strip($2),.txt)),) adet kayıt sıralanmıştır. msg # =============================================================== msg # - } } } on *:notice:*:?:{ if ($nick == NickServ) { if $regex($1-,/uyan veriler:/Si) && $regex($1-,/(\d+\.\d+\.\d+\.\d+)/Si) { msg $hget(Ns-list,$regml(1)) $+(2,$regml(1),) IP'ine ait NickServ kayıtları. } elseif $regex($1-,/(\d+\.\d+\.\d+\.\d+)/Si) && $hget(Ns-list,$regml(1)) { msg # $hget(Ns-list,$regml(1)) Nick:4 $strip($1) } elseif $regex($1-,/liste sonu/Si) { $iif($4 == 0/0,msg $hget(NS-list,1).data NickServ de identify edilmiş nick bulunmamaktadır.) .hfree -sw Ns-list } } } on *:snotice:*:{ if $regex($1-,/Client connecting (on port|at) (.+)\: (.+) \((.+)@(.+)\)/Si) { var %_port = $regml(2), %_nick $regml(3), %_ident $regml(4), %_ip $regml(5), %_hub $regml(1) var %_girs = $iif(%_hub == at,%_port HUB,$iif(%_port == 7005,Mobil,$iif(%_port == 1985,Web,IRC))) Girişi $iif(!$isdir(IP),.mkdir IP) .write $+(IP/,%_ip,.txt) $+($date,¿,$time) %_nick %_ident %_girs .write $+(IP/,%_nick,.txt) $+($date,¿,$time) %_ip %_ident %_girs } elseif $regex($1-,/his\/her nickname to/Si) { var %_nk = $token($1-,-1,32), %_it $token($token($1-,1,64),2,40), %_ips $token($token($1-,2,64),1,41) $iif(!$isdir(IP),.mkdir IP) .write $+(IP/,%_ips,.txt) $+($date,¿,$time) %_nk %_it Nick Değişimi .write $+(IP/,%_nk,.txt) $+($date,¿,$time) %_ips %_it Nick Değişimi } elseif $regex($1-,/Permanent (.+) added for .+@(.+) on.+from (.+)!.+/Si) { .hadd -msu15 IRC-Giris $regml(2) $regml(3) $regml(1) Uyguladı. } elseif $regex($1-,/Client exiting/Si) { if $regex($1-,/Client exiting\: (.+) \((.+)@(.+)\) .+/Si) { var %_cnk = $regml(1), %_cit $regml(2), %_cip $regml(3) } elseif $regex($1-,/Client exiting at .+: (.+)!(.+)@(.+)/Si) { var %_cnk = $regml(1), %_cit $regml(2), %_cip $token($regml(3),1,32) } var %:ban = $hget(IRC-Giris,%_cip) $iif(!$isdir(IP),.mkdir IP) .write $+(IP/,%_cip,.txt) $+($date,¿,$time) %_cnk %_cit $iif(%:ban,%:ban,Sunucudan Çıkış) .write $+(IP/,%_cnk,.txt) $+($date,¿,$time) %_cip %_cit $iif(%:ban,%:ban,Sunucudan Çıkış) $iif($hget(IRC-Giris,%_cip),.hdel -ms IRC-Giris %_cip) } }
-
on $*:snotice:/client connecting.+\x20(\S+)\x3A\x20(\S+)\x20\x28(\S+)@(\S+)\x29/Si: { var %port = $regml(1), %nick = $regml(2), %ident = $regml(3), %ip = $regml(4) if $regex(%ip,^(78\.834\.|78\.824\.|78\.50\.)) { echo -a giris 02nick:04 %nick 02ident:05 %ident 02ip:06 %ip msg #Opers girişyapan nick:4 %nick } }
-
BU Addon giren kullanıcıların nick, ident ve hostunu kontrol edip eklediğiniz nick , ident ve hostlara gzline atmanıza yarayan Mirc Addonudur ### /lamer komutu ile korumayı açabilirsiniz ### lamerler forum alias lamer { /dialog -m start start } dialog start { title "Ident Nick Ekstra Korumaları" size -1 -1 467 274 option pixels box "", 11, 19 13 430 256 text "Güvenlik Giriş Ayarları", 1, 136 3 167 20 edit "", 3, 125 37 186 20, center button "Nick gzline liste ekle", 8, 30 70 190 30, flat button "İdent gzline liste ekle", 4, 30 108 190 30, flat button "Host gzline liste ekle", 5, 30 148 190 30, flat button "Host gzline list'en sil", 2, 240 148 190 30, flat button "İdent gzline list'en sil", 6, 241 108 190 30, flat button "Nick gzline list'en sil", 7, 240 70 190 30, flat button "Kapat", 9, 125 190 192 29, flat text " Bu koruma sunucuya hep aynı nick yada ident ile saldırıları önlemek için yazılmıştır.", 10, 24 228 413 16 } on 1:dialog:start:*:*: { if ($devent == init) { did -a start 3 $null } if ($devent == sclick) { if ($did == 8 ) { /auser gzline $did(3) | /echo -a 0,4 $did(3) 0,1 Nicki Gzline Liste eklendi } } if ($devent == sclick) { if ($did == 9 ) { /dialog -c start start } } if ($devent == sclick) { if ($did == 7 ) { /ruser gzline $did(3) | /echo -a 0,4 $did(3) 0,1 Nicki Gzline List'en silindi } } if ($devent == sclick) { if ($did == 2 ) { /ruser gzline *!*@ $+ $did(3) | /echo -a 0,4 $did(3) 0,1 hostu Gzline List'en silindi } } if ($devent == sclick) { if ($did == 4 ) { /auser gzline *! $+ $did(3) $+ @* | /echo -a 0,4 $did(3) 0,1 identi Gzline Liste eklendi } } if ($devent == sclick) { if ($did == 6 ) { /ruser gzline *! $+ $did(3) $+ @* | /echo -a 0,4 $did(3) 0,1 identi Gzline Listen silindi } } if ($devent == sclick) { if ($did == 5 ) { /auser gzline *!*@ $+ $did(3) | /echo -a 0,4 $did(3) 0,1 hostu Gzline Liste eklendi } } } on gzline:join:#:{ gzline $nick : 4,1 Security Korumasi 4 $time - }
-
Merhaba, sizlerle paylaşacağım kod /ignore nick kullanmadan kişinin yazılarını engellemek ve kişi nick değiştirdiği zaman otomatik olarak engelli listesine ekliyen bir calışmadır. on *:input:#kanal: { if ($regex($1,/[\.!][iı]gnore\s/Si) && !$2) { echo -a Nick belirtmelisiniz. ( .ignore nick ) } | elseif ($regex($2,/\d+|\s/i)) { echo -a hatalı kullanım } | elseif ($regex($1,/([\.!][iı]gnore)$/Si)) && $2) { write ignore.txt $2 | echo -a $2 ignore listesine eklendi. } | elseif ($regex($1,/([\.!][ıi]gnores[ıi]l)$/Si) && $2) { write $+(-dl,$readn) ignore.txt | echo -a $2 ignore listesinden silindi. } } on *:open:?: { if ($read(ignore.txt,w,$nick)) { echo -a ignore listesinde $nick mesajı: $1- closemsg $nick } } on *:nick: { if $read(ignore.txt,w,$nick) { echo -a ignore listesinde mevcut kişi $newnick nickini aldı ve engelli listesine eklendi. | write ignore.txt $newnick } } Kullanım amacı; IRCd sunucularında çok fazla karşılaştığımız ve /ignore nick komutunun yetersiz kaldığı durumları giderdiğim bir kod calışmasıdır. Engellediğiniz kişinin yazılarını aktif pencerede görürsünüz ve konuşma penceresi otomatik olarak kapanır. Bildiğiniz üzere /ignore nick komutunda sürekli olarak kişiyi ignore etmeniz gerekir ve nick değiştirip sürekli yazma imkanı doğar bir sürkilasyon oluşur yani bir nevi döngü oluşur tam olarak bunu engelleme amaclı tek seferde eklediğiniz kişi eğer nick değiştirirse otomatik olarak engellenmiş listesine alınır. Not: Engelli listesine aldığınız bir kişiyi mirc i kapatıp actığınızda tekrar engel listesine almanız gerekmez kalıcıdır. Siz onu o listeden cıkarmadığınız sürece tabiki.. Kullanım; .ignore nick .ignoresil nick
-
OTO SELAM ALMA ADDONU Her kullanıcıdan 1 kere selam alır. Kodlari ekledikten sonra status bölümünde Selam seceneği cıkar ordan acıp kapatabilirsiniz. #selam off On *:text:*:#:{ if $istok(slm slmm slmmm s.a selamm selam. selam,$1-,32) && !$istok(#help #helpegitim #helpteam #helpstaff #yokk,$chan,32) { if $read(muafnick.txt,w,$nick) { return } inc -eu9000 $+(%,$nick,#,$network) 1 if $($+(%,$nick,#,$network),2) == 1 { timer 1 6 msg # Aleyküm Selam $nick } } } #selam end menu status { Selam .Açık:/.enable #selam | echo -a ** Açıldı! .Kapalı:/.disable #selam | echo -a ** Kapatıldı! }
-
#snotice on on ^1:SNOTICE:*:{ if (/whois isin $1-) { if ($window [USER=5345]Who[/USER]is) == $null) { window -ne [USER=5345]Who[/USER]is } echo 13 -t [USER=5345]Who[/USER]is $1- | halt } if (his/her isin $1-) || (Failed isin $1-) || (Denied isin $1-) || (tkl isin $1-) || (Q: isin $1-) || (used isin $1-) || (OperOverride isin $1-) || (Mismatch: isin $1-) || (is now isin $1-) || (Received isin $1-) || (GECOS isin $1-) { if ($window(@Opers) == $null) { window -ne @Opers } echo 12 -t @Opers $1- | halt } if (Locops isin $1-) { if ($window(@UyarI) == $null) { window -ne @UyarI } echo 4 -t @UyarI $1- | halt } if (G:Line isin $1-) || (Z:line isin $1-) || (K:line isin $1-) { if ($window(@XLine) == $null) { window -ne @XLine } echo 12 -t @XLine $1- | halt } if (removed isin $1-) { if ($window(@XLine) == $null) { window -ne @XLine } if (%unbanip isin $1-) || (%xlinex isin $1-) { echo -a *** 12 $+ %xlinex 5Adresinin Banı Açıldı. | unset %xline* | unset %unban* } echo 4 -t @XLine $1- | halt } if (tried isin $1-) { if ($window(@baskakanal) == $null) { window -ne @baskakanal } echo 12 -t @baskakanal $1- | halt } if (banned isin $1-) { if ($window(@Giris/Cikis) == $null) { window -ne @Giris/Cikis } echo 12 -t @Giris/Cikis $1- | halt } if (obtained isin $1-) { if ($window(@SupasGirdi) == $null) { window -ne @SupasGirdi } echo 12 -t @SupasGirdi $1- | halt } if (Unauthorized isin $1-) || (Connecting isin $1-) { if ($window(@Giris/Cikis) == $null) { window -ne @Giris/Cikis } if (iaaaan isin $9) { zline $9 +3600 Spybot Detected! [url]http://www.LAMERLER.Com/rules.html[/url] ~ } if (*ian@* iswm $10) { zline $9 +3600 Spybot Detected! [url]http://www.LAMERLER.Com/rules.html[/url] ~ } if (%whoistara == on) { .timer 1 2 whois $9 } echo 12 -t @Giris/Cikis $1- | halt } if (exiting isin $1-) { if ($window(@Giris/Cikis) == $null) { window -ne @Giris/Cikis } echo 4 -t @Giris/Cikis $1- | halt } if (Forbidding isin $1-) || (Q:lined isin $1-) { if ($window(@Q-Lined) == $null) { window -ne @Q-Lined } echo 12 -t @Q-Lined $1- | halt } if (Expiring isin $1-) || (Shun isin $1-) { if ($window(@XLine) == $null) { window -ne @XLine } echo 12 -t @XLine $1- | halt } if (Spamfilter isin $1-) { if ($window(@Spam) == $null) { window -ne @Spam } echo 12 -t @Spam $1- halt } if (is now isin $1-) { write oper.txt $date $timestamp $1- } } #snotice end
-
SUNUCUDA Akil ekleme ve Silme Addonu Menübarda akıil listesini görebilirsiniz ekleyebilir ve silebilirsiniz on ^1:NOTICE:*:*:{ if (*@* iswm $1) && (%akilnotice == on) { write akill.txt $gettok($1,2,64) did -a aklist 1 $regsubex(akill,$gettok($1,2,64),/(\*)$/S,) } } dialog aklist { title "Akill Listesi - Liste Otomatik Akill Yer" size -1 -1 123 169 option dbu list 1, 2 16 119 104, size edit "", 2, 46 124 57 10, multi autohs text " IP Girin :", 3, 3 125 43 8 button "Ekle", 7, 105 123 16 26 button "KAPAT", 6, 1 152 120 14, ok text "Örnek: 78.161.*", 4, 3 139 98 9 box "", 8, 2 135 101 14 box "", 9, 2 121 42 13 box "", 10, 2 0 119 13 text " Silmek icin ipin uzerine Cift tiklayin", 11, 3 4 111 8 } on *:dialog:aklist:*:*:{ if $devent == init { ;mdx MarkDialog $dname //set %akilnotice on | .os akill list .timer 1 1 //set %akilnotice off ; mdx MarkDialog $dname ; mdx SetDialog $dname bgcolor $rgb(237,241,219) ; mdx SetFont $dname 1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 +b Turkish 13 950 Verdana ; mdx SetColor $dname 1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 textbg $rgb(237,241,219) ; mdx SetColor $dname 1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 background $rgb(237,241,219) ; mdx SetColor $dname 1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 text $rgb(0,0,0) ; mdx SetColor $dname 11,13,10,12 background $rgb(237,241,219) ; mdx SetColor $dname 11,13,12,10 textbg $rgb(237,241,219) ; mdx SetFont $dname 2,7,6,11,13,12,10,14,15,16 13 950 Tahoma ; mdx SetColor $dname 11,4l text $rgb(199,92,2) } if $devent == dclick { if $did == 1 { .os akill del $+(*@, $did(1).seltext,*) did -d $dname 1 $did(1).sel } } if $devent == sclick && $did == 7 { haltdef .os akill add +0 *@ $+ $did(2) $+ * Sunucu Kurallarini İhlal Ettiniz.. | did -a aklist 1 $did(2) } if $devent == sclick && $did == 4 { dialog -m xbilgi xbilgi } if $devent == close { write -c akill.txt set %akilnotice off } } alias xakil { dialog -m aklist aklist }
-
10 saniye içerisinde aynı IP adresi üzerinden 3 giriş yapıldığı anda giriş yapan nickleri KILL ile sunucudan uzaklaştırır. bu olay 100 saniye içerisinde 2 defa tekrar edildiğinde bu IP adresi üzerine GZLINE atılmaktadır. Mevcut proxy koruması üzerinden parçalayıp, alelacele koyduğum için meydana gelebilecek olan aksaklıkları bu konunun altına ileten arkadaşlara yardımcı olabilirim. clone korumasından etkilenmesini istemediğiniz ip veya ip maskesini !ipekle muaf IP veya !ipekle muaf IPMASK komutlarıyla muaf olarak ekleyebilirsiniz. ayrıca bu korumadan etkilenmesini istemediğiniz portları belirtilen satırda ekleyebilirsiniz. bu korumanın kontrol ve takibinin yapılacağı kanalı da belirtilen satırdan değiştirebilirsiniz. ;FnX Clone Koruması ;alt satırdan kanalı belirleyebilirsiniz. on *:start:{ hmake muaf 1000 | hload -o muaf clone.muaf | set %FnXchan #kanal } on *:exit:{ hsave muaf clone.muaf } on $*:snotice:/Client\sconnecting\son\sport/:{ ;muaf portlar alt satırdan eklenecektir. if $istok(7000 7001 7002 7003,$remove($8,:),32) { return } var %FnXclone $regsubex($10,.+\x40(.+)\x29,\1) if $hget(clonesay,%FnXclone) == 2 { .gzline $+(*@,%FnXclone) 100 :Agresif giriş koruması. .msg %FnXchan $c(12,[CLONE KORUMASI]) $c(3,%FnXclone) numaralı IP adresi iki kez clone korumasına takıldığından dolayı GZLINE ile uzaklaştırılmıştır. Bir IP adresini bu korumadan $c(2,!ipekle muaf 12.12.12.12) örnek komutundaki gibi muaf tutabilirsiniz. return } hadd -mu10 giriş %FnXclone $+($hget(giriş,%FnXclone),$chr(215),$9) if $numtok($hget(giriş,%FnXclone),215) == 3 && !$hfind(muaf,%FnXclone,0,W).item { .msg %FnXchan $c(12,[CLONE KORUMASI]) $c(3,%FnXclone) numaralı IP adresi üzerinden 10 saniye içerisinde 3 giriş yapıldığı tespit edildi ve giriş yaptığı nicklere KILL atıldı. Bir IP adresini bu korumadan $c(2,!ipekle muaf 12.12.12.12) örnek komutundaki gibi muaf tutabilirsiniz. Giriş yapılan nickler: $regsubex($regsubex($regsubex($hget(giriş,%FnXclone),/\xD7/g,$chr(44)),/^\x2C/gU,),/([^\x2C])/g,$+($chr(3),04,\1,$chr(3))) .kill $regsubex($regsubex($hget(giriş,%FnXclone),/\xD7/g,$chr(44)),/^\x2C/gU,) IP adresinizden çok sayıda giriş tespit edildi ve bağlantılarınız yenileniyor. hdel -m giriş %FnXclone hinc -mu100 clonesay %FnXclone return } if $regex($regsubex($10,.+\x40(.+)\x29,\1),/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/g) { var %FnX $regsubex($10,.+\x40(.+)\x29,\1) if $hfind(muaf,%FnX,0,W).item { .msg %FnXchan $c(0x6,MUAF GİRİŞ:) $c(2,[IP:]).b $c(2,%FnX) $c(2,[NICK:]).b $c(2,$9) return } } } ;MUAF IP EKLEME# on $*:text:/^[.!][İiı]pekle/i:%FnXchan:{ if !$2 || !$3 || !$regex($2,/(muaf)$/i) { add-del-hata ipekle | return } elseif $regex($2,/muaf$/i) { hadd -m muaf $strip($3) hsave -o muaf clone.muaf .msg %FnXchan $c(4,$3).b $c(2,numaralı IP adresi) $c(4,muaf).b $c(2,listesine eklenmiştir.) } } ;MUAF IP SİLME# on $*:text:/^[.!][İiı]ps[İiı]l/i:%FnXchan:{ if !$2 || !$3 || !$regex($2,/(muaf)$/i) { add-del-hata ipsil | return } elseif $regex($2,/muaf$/i) { hdel -m muaf $strip($3) hsave -o muaf clone.muaf .msg %FnXchan $c(4,$3).b $c(2,numaralı IP adresi) $c(4,muaf).b $c(2,listesinden silinmiştir.) } } ;MUAF IP LİSTELEME# on $*:text:/^[.!][İiı]pl[İiı]st/i:%FnXchan:{ if !$2 || !$regex($2,/(muaf)$/i) { list-hata iplist | return } elseif $regex($2,/muaf$/i) { if $hget(muaf,0).item == 0 { .msg # Muaf listesi boş! | return } .msg # $+(«,$c(5,Clone Muaf Listesi),») var %m-k 1 | while (%m-k <= $hget(muaf,0).item) { .msg %FnXchan $c(2,$+([,$c(4,$chr(215)).b,$c(2,]))) $hget(muaf,%m-k).item | inc %m-k } .msg # $+(«,$c(5,Clone Muaf Listesi Sonu),») .msg # Herhangi bir kaydı silmek için örnek kullanım: $c(2,!ipsil muaf 185.9.159.247) } } ;KONTROL KODLARI# alias c { if $regex($prop,/^b$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(2),$chr(2),$chr(2),$2-,$chr(3),$chr(2)) } if $regex($prop,/^u$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(31),$chr(2),$chr(2),$2-,$chr(3),$chr(31)) } if $regex($prop,/^(bu)|(ub)$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(31),$chr(2),$chr(2),$chr(2),$2-,$chr(3),$chr(31),$chr(2)) } else { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(2),$chr(2),$2-,$chr(3))) } } ;HATA MESAJLARI# alias add-del-hata { .msg %FnXchan $c(4,<YANLIŞ KULLANIM>) .msg %FnXchan Örnek komut kullanımları: .msg %FnXchan $c(2,$+(!,$1)) $+($c(4,muaf).b).b $iif(!$regex($1,/iplist/),$c(2,185.9.39.77))) .msg %FnXchan $c(2,$+(!,$1)) $+($c(4,muaf).b).b $iif(!$regex($1,/iplist/),$+($c(2,185.9.39.),$c(4,*).b)) } alias list-hata { .msg %FnXchan $c(4,<YANLIŞ KULLANIM>) .msg %FnXchan Örnek komut kullanımı: $c(2,$+(!,$1)) $+($c(4,muaf).b $iif(!$regex($1,/iplist/),$c(2,185.9.39.77))) }
-
Selam değerli lamerler ailesi mirc klasörüne system bir klasör , klasör içine nicks.txt adlı bir text sayfası ve text sayfası içine nicklerinizi alt atla gelecek şekilde yazınız. En son mirciniz açıkken yazı kısmına /botat yazmanız gerekir. RotaSız /botat { /set %server $$?=”Serveriniz” /set %kanal1 $$?=”Botun Gireceği Kanal 1? (Ornek: #lamerler)” /set %kanal2 $$?=”Botun Gireceği Kanal 2? (Ornek: #lamerler)” /set %kanal3 $$?=”Botun Gireceği Kanal 3? (Ornek: #lamerler)” /set %kanal4 $$?=”Botun Gireceği Kanal 4? (Ornek: #lamerler)” /set %kanal5 $$?=”Botun Gireceği Kanal 5? (Ornek: #lamerler)” /set %kanal6 $$?=”Botun Gireceği Kanal 6? (Ornek: #lamerler)” /set %kanal7 $$?=”Botun Gireceği Kanal 7? (Ornek: #lamerler)” /set %kanal8 $$?=”Botun Gireceği Kanal 8? (Ornek: #lamerler)” /set %kanal9 $$?=”Botun Gireceği Kanal 9? (Ornek: #lamerler)” /set %kanal10 $$?=”Botun Gireceği Kanal 10? (Ornek: #lamerler)” /set %os-timer $$?=”Kaç tane services bot oluşturulacak? (Ornek: 25)” /timer %os-timer 4 /bot-2 } /bot-2 { //set %nicks $read(“system/nicks.txt” //botserv bot add %nicks LaMeR %server 7©lamerler.com© | //msg #bot.raw %nicks Nickinde Bot Oluşturuldu. Zaman: $time \ $date dir. LaMeR //timer 0 15 //msg operserv raw : $+ %nicks join %kanal1 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal1 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal2 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal2 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal3 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal3 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal4 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal4 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal5 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal5 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal6 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal6 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal7 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal7 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal8 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal8 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal9 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal9 kanalına girdi. //timer 0 15 //msg operserv raw : $+ %nicks join %kanal10 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal10 kanalına girdi. //timer 0 110 //msg operserv raw : $+ %nicks part %kanal1 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal1 kanalına çıktı. //timer 0 120 //msg operserv raw : $+ %nicks part %kanal2 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal2 kanalına çıktı. //timer 0 130 //msg operserv raw : $+ %nicks part %kanal3 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal3 kanalına çıktı. //timer 0 140 //msg operserv raw : $+ %nicks part %kanal4 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal4 kanalına çıktı. //timer 0 150 //msg operserv raw : $+ %nicks part %kanal5 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal5 kanalına çıktı. //timer 0 160 //msg operserv raw : $+ %nicks part %kanal6 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal6 kanalına çıktı. //timer 0 170 //msg operserv raw : $+ %nicks part %kanal7 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal7 kanalına çıktı. //timer 0 180 //msg operserv raw : $+ %nicks part %kanal8 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal8 kanalına çıktı. //timer 0 190 //msg operserv raw : $+ %nicks part %kanal9 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal9 kanalına çıktı. //timer 0 200 //msg operserv raw : $+ %nicks part %kanal10 | //timer 0 1 //msg #bot.raw %nicks Nicki %kanal10 kanalına çıktı. } Bunu Alias Bölümüne Yazıp Statüse /botat yazın karşınıza gelen bölümleri doldurun ve serverınıza istediğiniz kadar kanallara çıkıp giren bot yapın. #bot.raw da hangi botun nereye girdiğini görebilirsiniz.Ama bir nicks.txt olması lazım bunu oluşturup system die bir klasöre atın
-
on *:start:{ $iif(!$isfile(kufur.tprk),.write kufur.tprk) | .hmake kufur 100 | .hload kufur kufur.tprk } on *:text:*:#:{ if $regex(#,/^#operlog$/i) { if $regex($1,/^[!\.]k[uüÜ]f[uüÜ]r$/Si) { if !$regex($2,/^(ekle|s[ıiİ]l|l[ıiİ]st)/Si) { msg # Lütfen 4!küfür 2<ekle|sil|list> olarak belirtiniz. } elseif $regex($2,/^ekle$/Si) { if (!$3) { msg # 12Lütfen kelime belirtiniz. } elseif $hfind(kufur,$strip($3-),0,W).data { msg # Eklemeye çalıştığınız küfür zaten $+([,$chr(32),$hget(kufur,$hfind(kufur,$strip($3-),1,W).data),$chr(32),]) maskesi ile uyuşmakta. } else { var %n = $left($calc($ctime * $rand(1000,9999)),7) .hadd -m kufur %n $strip($3-) .hsave -o kufur kufur.tprk msg # $strip($3-) 12Küfür 4Listesine 12Eklendi. } } elseif $regex($2,/^s[ıiİ]l$/Si) { if (!$3) { msg # 12Lütfen kelime belirtiniz. } elseif !$hfind(kufur,$strip($3-),0,W).data { msg # 12Küfür listesinde bulunmamaktadir. } else { .hdel -m kufur $hfind(kufur,$strip($3-),1,W).data .hsave -o kufur kufur.tprk msg # $strip($3-) 12Küfür 4Listesinden 12Silindi. } } elseif $regex($2,/^l[ıiİ]st$/Si) { if ($hget(kufur,0).data == 0) { msg # 12Küfür listesi boş. } else { msg # Küfür listesi msg # - var %i = 1 | while (%i <= $hget(kufur,0).data) { msg # %i $+ .4) [ $hget(kufur,%i).data ] | inc %i } msg # - msg # Küfür listesi sonu } } } } elseif $hfind(kufur,$strip($1-),1,W).data && !$regex($nick(#,$nick).pnick,/^[%@&~.]/) { ;- Muaf kanal satırı if $regex(#,/^#(OperHelp|Admin|Log|Services)$/i) { return } ;- Muaf nick satırı elseif $regex($nick,/^(nick|nick1|nick2|nick3)$/i) { return } ;- Muaf host satırı elseif $regex($site,/^(Root|Network|Services|Admin|IRCop)/i) { return } else { mode # +b $nick | kick # $nick 3Küfür Yasak. } } }
-
Kullanımı: REGEX eklemek için /Bw +r (g[o0]g*[Il][e3]\sy[a4]z) zline silmek için /Bw -r (g[o0]g*[Il][e3]\sy[a4]z) WILDCARD eklemek için /Bw +w *g??gle* kickban silmek için /Bw -w *g??gle* ekleyeceğiniz kelimenin eşleşebileceği bir kayıt varmı kontrol için /bw ? google şeklinde kontrol edebilirsiniz. on *:TEXT:*:#: { if $me isop $chan { if ($bw($1-).?) { ;$1<eslesme> $2<tespit edilen kelime> $3<ceza tipi> tokenize 32 $v1 if $3 == Kickban { ban -ku600 # $nick 2 küfür yaraktır! echo # $nick $qt($1) ile eşleşen $qt($2) yasaklı kelimesini kullandı! } } } } on *:start: b:load alias b:def return $iif($1,$1,KickBan) alias b:save $iif($hget(bw~,0),.hsave bw~ badword.db) | $iif($hget(br~,0),.hsave br~ badword.db) alias b:load { if !$hget(bw~,0) || !$hget(br~,0) { if (!$isfile(badword.db)) write badword.db if ($isfile(badword.db)) { hmake bw~ 10000 | hload bw~ badword.db | hmake br~ 10000 | hload br~ badword.db } } } alias bw { if $regex($1,/([-+][wr])/) && $b:def($3) { if $1 == +r { if $hget(br~,$2) { echo 4 *** Bu Kelime ekli | return } else hadd -m br~ $2 $b:def($3) | echo 3 ** Kelime eklendi | b:save | return } if $1 == -r { if $hget(br~,$2) { hdel br~ $2 | echo 4 ** Kelime silindi | b:save | return } else echo 4 ** Kelime bulunamadı | return } if $1 == +w { if $hget(bw~,$2) { echo 4 *** Bu Kelime ekli | return } else hadd -m bw~ $2 $b:def($3) | echo 3 ** Kelime eklendi | b:save | return } if $1 == -w { if $hget(bw~,$2) { hdel bw~ $2 | echo 4 ** Kelime silindi | b:save | return } else echo 4 ** Kelime bulunamadı | return } } if $1 == ? { noop $hfind(br~,$2,0,R,echo Regex: $1-) | noop $hfind(bw~,$2,0,W,echo WildCard: $1-) | return } if ($regex($1,/(cr|cw)/ig)) { echo * liste temizlendi | $iif($regml(1) == cw,hfree bw~,hfree br~) | b:save | return } elseif $prop == ? { var %r~ = $gettok($1-,0,32) while (%r~) { if ($hfind(br~,$gettok($1-,%r~,32),0,R,var %i $1)) return %i $gettok($1-,%r~,32) $hget(br~,%i) | dec %r~ } var %w~ $gettok($1-,0,32) while (%w~) { if ($hfind(bw~,$gettok($1-,%w~,32),0,W,var %i $1)) return %i $gettok($1-,%w~,32) $hget(bw~,%i) | dec %w~ } } else { echo 5 *** hatalı ve eksik parametre echo 5 * /bw [+|-][W|R|CR|WR]? (wildcard|regex|kontrol|kayıt temizleme) [wildcard|regex|text] <opsiyonel ExData: [Kick|kickban|zline|glizne|sqline..]> echo 5 * orn: /bw +R ([pb][i!İı1][cç\[]) echo 5 * orn: /bw +R (\b[pb][i!I1İü][çc]\b) ban echo 5 * orn: /bw -R (\b[pb][i!I1İü][çc]\b) (eklenen kaydı siler) echo 5 * orn: /bw +R (\bw{3}\.\w+\.w*\b) Sizin_ceza_tipiniz echo 5 * orn: /bw +W *bitch* kickBan echo 5 * orn: /bw +W *g0ogle* kill echo 5 * orn: /bw -W *g0ogle* (eklenen kaydı siler) echo 5 * orn: /bw +W *y?nd?x* Sizin_ceza_tipiniz echo 5 * orn: /bw ? bitch (bu kelimeye uygun eşleşme var mı sorgular ) echo 5 * orn: /bw CR (tüm Regex kayıtlarını siler) echo 5 * orn: /bw CW (tüm wildcard kayıtlarını siler) } }
-
Sunucuya giriş yapan kullanıcının ülke/şehir/isp adresini @Giriş penceresine yansıtır. En az oper yetkiniz olması gerek ve sunucuya giriş/çıkış(snotice)'leri görmeniz gerekmektedir.. NOT : ALT BOLÜMDE KANALDA YANSITMA HEM ÖZELDE YANSITMA İÇİN KODLARIDA BULUNMAKTADIR on *:snotice:*Client connecting on port*:if !$hget(giris,$9) { who +I $9 } on ^*:join:#: { if $nick == $me { return } if o isin $usermode { if $hget(giris,$nick) { echo # $+($chr(3),$color(join)) $timestamp *** Giriş: $nick $hget(giris,$nick) 1 $hget(sehir,$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 | haltdef alias bul { sockopen $+(nrdbul,$1) www.ipaddresslocation.org 80 sockmark $+(nrdbul,$1) $+($1,*,$2) } 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,1,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,/<i>IP Country:</i> <b>(.*?)</b>/i) { hadd -mu5 $sockname webulke $iif($regml(1),$v1,Belirsiz) } if $regex(%x,/<i>IP City: <b>(.*?)</b>/i) { hadd -mu5 $sockname websehir $iif($regml(1),$v1,Belirsiz) } if $regex(%x,/<i>ISP Provider:</i> <b>(.*?)</b>/i) { hadd -mu5 $sockname webisp $regml(1) hadd -mu5 $sockname webnick $token($sock($sockname).mark,2,42) hadd -mu5 $sockname webip $token($sock($sockname).mark,1,42) hadd -mu5 $sockname webchan $hget(chan,$hget($sockname,webnick)) hdel -m chan $hget($sockname,webnick) 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)) tokenize 32 $hget($sockname,webchan) echo $* $+($chr(3),$color(join)) $timestamp *** Giriş: $hget($sockname,webnick) $hget(giris,$hget($sockname,webnick)) 1 $hget(sehir,$hget($sockname,webnick)) } } alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } } on *:snotice:*Client connecting on port*:who +I $9 raw 352:*:var %:r $r(1000,99999) | sockopen $+(pro,%:r) www.ipaddresslocation.org 80 | sockmark $+(pro,%:r) $+($4,¿,$6) alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } } on *:sockopen:pro*:{ sockwrite -nt $sockname GET $+(/ip-address-locator.php?lookup=,$token($sock($sockname).mark,1,191)) 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:pro*:{ if ($sockerr) { .sockclose $sockname | return } var %:pro | sockread -f %:pro if (IP Country: isin %:pro) { .hadd -ms $token($sock($sockname).mark,2,191) Ülke $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) } if (IP City: isin %:pro) { .hadd -ms $token($sock($sockname).mark,2,191) Sehir $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) } if (ISP Provider: isin %:pro) { var %:isp $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) var %:n $token($sock($sockname).mark,2,191), %ip $token($sock($sockname).mark,1,191), %ülke $hget(%:n,Ülke), %sehir $hget(%:n,Sehir) $iif(!$window(@Giriş),window -e @Giriş) .echo @Giriş Nick:4 %:n - IP:4 %ip - Ulke:4 %ülke - Sehir:4 %sehir - ISP:4 %:isp .hfree -sw %:n sockclose $sockname } } ÜLKE ŞEHİR GÖSTERİMİ KANALDA YANSITMAK İÇİN #giriste on on *:snotice:*Client connecting on port*:who +I $9 raw 352:*:var %:r $r(1000,99999) | sockopen $+(pro,%:r) www.ipaddresslocation.org 80 | sockmark $+(pro,%:r) $+($4,¿,$6) alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } } on *:sockopen:pro*:{ sockwrite -nt $sockname GET $+(/ip-address-locator.php?lookup=,$token($sock($sockname).mark,1,191)) 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:pro*:{ if ($sockerr) { .sockclose $sockname | return } var %:pro | sockread -f %:pro if (IP Country: isin %:pro) { .hadd -ms $token($sock($sockname).mark,2,191) Ülke $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) } if (IP City: isin %:pro) { .hadd -ms $token($sock($sockname).mark,2,191) Sehir $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) } if (ISP Provider: isin %:pro) { var %:isp $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) var %:n $token($sock($sockname).mark,2,191), %ip $token($sock($sockname).mark,1,191), %ülke $hget(%:n,Ülke), %sehir $hget(%:n,Sehir) msg #Şehir Nick:2 %:n - IP:2 %ip - Ulke:2 %ülke - Sehir:2 %sehir - ISP:2 %:isp .hfree -sw %:n sockclose $sockname } } #giriste end menu menubar { +> IP GIRIS ..Aç:!if $group(#giriste).status = on { echo 4 -tgae IP NERDEN Zaten AÇIK } | else { /.enable #giriste | echo 4 -tgae IP NERDEN AÇILDI | set %giriste on } ..Kapat:!if $group(#giriste).status = off { echo 4 -tgae IP NERDEN Zaten KAPALI } | else { /.disable #giriste | echo 4 -tgae IP NERDEN KAPATILDI | set %giriste off } ..Durum < $replace($group(#giriste).status, off, Kapalı, on, Açık) >:. } ÜLKE ŞEHİR GÖSTERİMİ HEM ÖZELDE HEM KANALDA on *:snotice:*Client connecting on port*:who +I $9 raw 352:*:var %:r $r(1000,99999) | sockopen $+(pro,%:r) www.ipaddresslocation.org 80 | sockmark $+(pro,%:r) $+($4,¿,$6) alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } } on *:sockopen:pro*:{ sockwrite -nt $sockname GET $+(/ip-address-locator.php?lookup=,$token($sock($sockname).mark,1,191)) 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:pro*:{ if ($sockerr) { .sockclose $sockname | return } var %:pro | sockread -f %:pro if (IP Country: isin %:pro) { .hadd -ms $token($sock($sockname).mark,2,191) Ülke $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) } if (IP City: isin %:pro) { .hadd -ms $token($sock($sockname).mark,2,191) Sehir $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) } if (ISP Provider: isin %:pro) { var %:isp $iif($token($htmlfree(%:pro),2,58) == $null,Belirsiz,$token($htmlfree(%:pro),2,58)) var %:n $token($sock($sockname).mark,2,191), %ip $token($sock($sockname).mark,1,191), %ülke $hget(%:n,Ülke), %sehir $hget(%:n,Sehir) $iif(!$window(@Giriş),window -e @Giriş) msg %:n Girişiniz: - IP:4 %ip - Ulke:4 %ülke - Sehir:4 %sehir - ISP:4 %:isp msg #kanal Nick: 4 %:n - IP:4 %ip - Ulke:4 %ülke - Sehir:4 %sehir - ISP:4 %:isp .echo @Şehir Nick:4 %:n - IP:4 %ip - Ulke:4 %ülke - Sehir:4 %sehir - ISP:4 %:isp .hfree -sw %:n sockclose $sockname } }
-
on ^&*:snotice:*Client connecting on port*:if !$hget(giris,$9) { who +I $9 } on ^*:join:#: { if $nick == $me { return } if o isin $usermode { if $hget(giris,$nick) { echo # $+($chr(3),$color(join)) $timestamp *** Giriş: $nick $hget(giris,$nick) 1 $hget(sehir,$nick) "GLINE" - "NICKBAN" - "SHUN" | haltdef } else { hadd -m chan $nick $addtok($hget(chan,$nick),#,32) if !$sock($+(nrdbul,$nick)) { who +I $nick } haltdef } } } raw 352:*:bul $4 $6 | haltdef alias bul { sockopen $+(nrdbul,$2) www.ipaddresslocation.org 80 sockmark $+(nrdbul,$2) $+($1,*,$2) } 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,1,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,/<i>IP Country:</i> <b>(.*?)</b>/i) { hadd -mu5 $sockname webulke $iif($regml(1),$v1,Belirsiz) } if $regex(%x,/<i>IP City: <b>(.*?)</b>/i) { hadd -mu5 $sockname websehir $iif($regml(1),$v1,Belirsiz) } if $regex(%x,/<i>ISP Provider:</i> <b>(.*?)</b>/i) { hadd -mu5 $sockname webisp $regml(1) hadd -mu5 $sockname webnick $token($sock($sockname).mark,2,42) hadd -mu5 $sockname webip $token($sock($sockname).mark,1,42) hadd -mu5 $sockname webchan $hget(chan,$hget($sockname,webnick)) $iif($hget(chan,$hget($sockname,webnick)),hdel -m chan $hget($sockname,webnick)) 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)) tokenize 32 $hget($sockname,webchan) echo $* $+($chr(3),$color(join)) $timestamp *** Giriş: $hget($sockname,webnick) $hget(giris,$hget($sockname,webnick)) 1 $hget(sehir,$hget($sockname,webnick)) } } alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } }
-
We have been grabbing the snippets from hawkee's website before it disappears as we never want to loose a lot of old snippets from various IRC scripter's
-
IALFILL allows for a safe and consistent updating of mIRC's Internal Address List. This is useful for scripts that need to know user addresses in every channel you join. It is an alternative to the simple and dangerous "On *:JOIN:#:WHO $chan" that may cause you to lag or be disconnected for flooding (Quit: Excess Flood or Quit: RESVQ Exceeded). Exaple uses: /ialfill on (automatically update IAL as you join new channels) /ialfill off (turns off automatic update of IAL) /ialfill (manualy typed command, updates once) /ialfill 0 (temporarily sets the delay between WHO commands to 0 seconds) .ialfill (surpresses all output, use in scripts) ;r_IALFILL.mrc By Raccoon 25-Feb-2012 ;# IALFILL allows for a safe and consistent updating of mIRC's Internal Address List. ;# This is useful for scripts that need to know user addresses in every channel you join. ;# It is an alternative to the simple and dangerous "On *:JOIN:#:WHO $chan" that may cause ;# you to lag or be disconnected for flooding (Quit: Excess Flood or Quit: RESVQ Exceeded). ;# ;# This goes in your Remote Scripts section, mIRC 6.x and 7.x compatable. ;# Written by Raccoon on 25-Feb-2012. EFnet #mIRC. ;# Exaple uses: ;# /ialfill on (automatically update IAL as you join new channels) ;# /ialfill off (turns off automatic update of IAL) ;# /ialfill (manualy typed command, updates once) ;# /ialfill 0 (temporarily sets the delay between WHO commands to 0 seconds) ;# .ialfill (surpresses all output, use in scripts) ALIAS IALFILL { ; By Raccoon 25-Feb-2012 if $1 == on || $1 == auto { .enable #IALFILL_JOIN echo -qtic notice * IALFILL: Automatic Updating enabled. } elseif $1 == off { .disable #IALFILL_JOIN echo -qtic notice * IALFILL: Automatic Updating disabled. } else { ; Permit a custom delay between WHO requests. Default is 2 seconds. if $1 isnum { set -eu300 $+(%,IALFILL.,$cid,.delay) $1 } var %delay = $iif($($+(%,IALFILL.,$cid,.delay),2) isnum,$v1,2) ; Remember if any output should be displayed. (/ialfill vs .ialfill) set -eu300 $+(%,IALFILL.,$cid,.show) $show .timerIALFILL. $+ $cid 1 %delay IALFILL_next } } ; IALFILL_next is a timer and event delayed alias that is called internally. ALIAS IALFILL_next { ; By Raccoon 25-Feb-2012 var %i = 1, %n = $chan(0) ; Find next channel with incomplete IAL. WHILE %i <= %n { if !$chan(%i).ial { var %chan = $chan(%i) | BREAK } | inc %i } if %chan { .enable #IALFILL_WHO .raw WHO %chan ; Add a 30 second timeout to clean-up if WHO never happens. .timerIALFILL. $+ $cid 1 30 IALFILL_done %chan } else { var %show = $($+(%,IALFILL.,$cid,.show),2) if %show { echo -stic info * IALFILL: All channels on $network are up to date. } unset $+(%,IALFILL.,$cid,.*) } } ; Hide our /WHO output from spamming the Status Window. #IALFILL_WHO off RAW 352:*: { haltdef } ; /WHO enumeration. RAW 315:*: { IALFILL_done $2 | haltdef } ; End of /WHO list. #IALFILL_WHO end ; IALFILL_done is a call-back alias that is called internally. ALIAS IALFILL_done { ; By Raccoon 25-Feb-2012 var %chan = $1 var %show = $($+(%,IALFILL.,$cid,.show),2) .disable #IALFILL_WHO ; Make sure the IAL was successfully filled before continuing, otherwise we may try endlessly. ; The !ischan check allows for instances if the channel window is closed during /WHO. if $chan(%chan).ial || (%chan !ischan) { if %show { echo -stic info * IALFILL: %chan updated. } var %delay = $iif($($+(%,IALFILL.,$cid,.delay),2) isnum,$v1,2) .timerIALFILL. $+ $cid 1 %delay IALFILL_next } else { ; This should never, unless a server prohibits /WHO or you are extremely lagged. echo -stic notice * IALFILL: Unexpected error updating %chan $+ , giving up. unset $+(%,IALFILL.,$cid,.*) } } ; Automatcally fill IAL after joining channels, using a safe delay. ; Use /ialfill on|off to enable/disable. #IALFILL_JOIN off RAW 366:*: { .ialfill } ; End of /NAMES list. #IALFILL_JOIN end ; end of script.
-
Automatically rejoin channels you have been banned or blocked from joining. Great for making sure your unattended client stays in all its channels, weathering through netsplits and takeovers or the occasional kick-ban. ; r_autorejoin.mrc * Version 2.2 * 21-Nov-2012 * Raccoon/EFnet ; This script has no dependencies. It belongs in the Remotes section. ;******************************************************************************* ;* Automatically rejoin channels you have been banned or blocked from joining. * ;* The script will keep retrying until you close the channel or get back in. * ;* First 12 tries at +10,+20... seconds, and then between 10-30 minutes random.* ;* Requires 'Rejoin channel when kicked' and 'Keep channels open' are enabled. * ;* Also some extras: Rejoin on Invite, and Rejoin on Freenode's /quote remove * ;* Written by Raccoon on 21-Nov-2012. #mIRC/EFNet #mSL/SwiftIRC www.hawkee.com * ;******************************************************************************* ;----- Begin "Auto-Rejoin When Blocked" by Raccoon ----- RAW 474:*: fail_join $2 until ban is lifted... RAW 471:*: fail_join $2 until limit is increased... RAW 473:*: fail_join $2 until invite-only is removed... RAW 475:*: fail_join $2 until key is removed... RAW 477:*: fail_join $2 until auth-only is removed... RAW 480:*Cannot join channel*: fail_join $2 until SSL-only is removed... RAW 489:*Cannot join channel*: fail_join $2 until SSL-only is removed... RAW 437:*temporarily unavailable*: fail_join $2 until channel becomes available... ALIAS -l fail_join { ; By Raccoon 21-Nov-2012 if ($1 ischan) { inc -eu1830 %FAILJOIN. $+ $cid $+ $1 var %n = $($+(%,FAILJOIN.,$cid,$1),2) var %t = $iif(%n isnum 1-12,$calc(%n * 10),$r(600,1800)) .timerFAILJOIN. $+ $cid $+ $1 1 %t _timer_rejoin $chsafe($1) var %str = Attempting to rejoin $2- if (%n == 1) { .timer 1 0 echo -tic notice $chsafe($1) * %str } else { haltdef } } } ALIAS -l _timer_rejoin { ; By Raccoon 21-Nov-2012 if ($1 ischan) && ($me !ison $1) { !join $1 $chan($1).key } else { unset %FAILJOIN. $+ $cid $+ $1 } } ;366 $me $chan :End of /NAMES list. RAW 366:*: { unset %FAILJOIN. $+ $cid $+ $2 } ;Use in /timers to sanitize channel names like #$($p(hacked!)). By Raccoon. ALIAS -l chsafe { return $iif($ isin $1,$!replace( $replace($1,$,`$) ,`$,$),$1) } ;*** EXTRAS *** ;Auto-rejoin open channel when Invited. Useful for mistake kick-bans. On *:INVITE:#: if ($chan ischan) { !join $chan $chan($chan).key } ;Auto-rejoin on forced part via '/quote remove $chan $nick' command on Freenode. On me:*:PART:#: { ; By Raccoon 18-Nov-2012 if $regex($1-,/requested by (\S+) \(\S+\)/) { var %r = $r(10,30) echo -stic notice * Forcibly Parted from $chan by $regml(1) $+ . Rejoining in %r seconds... .timer 1 %r !join -n $chsafe($chan) } } ;----- End "Auto-Rejoin When Blocked" by Raccoon ----- ;v1.0 27-Aug-2012 - Auto Rejoin when Banned, initial script. ;v1.1 12-Sept-2012 - Added $chsafe() to sanitize potential exploits. ;v2.0 18-Nov-2012 - Rewritten to support all blocks; +b/+l/+i/+k/netsplit. ;v2.1 18-Nov-2012 - Added support for other channel join blocks (auth/ssl/etc). ; Also threw in some extras: Rejoin on Invite, and on /remove. ;v2.2 21-Nov-2012 - Fixed: Instance of %chan should be $1 in timer's name. ;TODO: Attempt retrying channels that haven't been joined yet (no channel window). ; This will require some custom @window listing channels in queue to rejoin. ;http://www.hawkee.com/snippet/9729/ ;http://kthx.net/paste/abpw70srhzc40808ko
-
Show someone's idle times for the server and each channel you share in common. Handy if you're being a nosy stalker. Replaces /whois in most cases. Usage: /idle Raccoon Raccoon signed on 2w1d, idle 1s, @#raccoon[1s] Query[1m5s] Chat[1m12s] @#irchelp[2h9m] +#politics[15h6m] #efnet[2w1d] ; Use: /idle <nickname> ALIAS idle { ; by Raccoon 10-July-2013 13-aug-2013 .raw WHOIS $$1 $1 .enable #idle_whois hinc -mu5 idle_whois cnt 1 .timerIDLE_WHOIS -oi 1 5 .disable #idle_whois $(|) hfree -w idle_whois } #idle_whois off RAW 319:*: { hadd -mu5 idle_whois $cid $+ $2 $+ .chans $hget(idle_whois,$cid $+ $2 $+ .chans) $3- | halt } RAW 317:*: { hadd -mu5 idle_whois $cid $+ $2 $+ .idle $3-4 | halt } RAW 318:*: { VAR %PRECISION = 2 var %nick = $2 var %chans = $hget(idle_whois,$cid $+ $2 $+ .chans) var %idles = $hget(idle_whois,$cid $+ $2 $+ .idle) var %idle = $gettok(%idles,1,32), %signon = $gettok(%idles,2,32) var %i = 1, %cidles, %rchans = %chans if ($query(%nick)) { var %cidles = $query(%nick).idle $+ :Query } if ($chat(%nick)) { var %cidles = %cidles $chat(%nick).idle $+ :Chat } WHILE $gettok(%chans,%i,32) { var %pchan = $v1 var %chan = $regsubex(%pchan,/^[^ $chantypes ]*/x,) var %cidle = $nick(%chan,%nick).idle if (%cidle != $null) { var %cidles = %cidles %cidle $+ : $+ %pchan var %rchans = $remtok(%rchans,%pchan,1,32) } inc %i } var %cidles = $sorttok(%cidles,32,n) var %i = 1, %chanidles WHILE $gettok(%cidles,%i,32) { var %pchan = $gettok($v1,2,58) var %cidle = $gettok($v1,1,58) var %chanidles = %chanidles %pchan $+ [[ $+ $dur(%cidle,%PRECISION) $+ ]] inc %i } echo -atic whois * $2 signed on $dur($calc($ctime - %signon),2) $+ , idle $dur(%idle,2) $+ , %chanidles %rchans hdel -w idle_whois $cid $+ $2 $+ .* hdec -m idle_whois cnt 1 if (!$hget(idle_whois,cnt)) { .disable #idle_whois | hfree -w idle_whois } halt } RAW *:*: halt #idle_whois end ;$duration(12345678) = 20wks 2days 21hrs 21
-
Message Box Rename Buttons by Raccoon on 12-Sept-2013 Allows you to rename the one, two or three buttons of a standard MsgBox dialog, without having to create your own custom GUI. This script is written as a "Standard Library" and belongs in your AutoHotkey\Lib directory. Note that this function gets called immediately PRIOR your MsgBox command. Example Usage: MsgBoxRenBtn("Red","Green","Blue") MsgBox, 0x22, Pick one!, What is your favorite color? ; MsgBoxRenBtn.ahk Library Include. ; This file belongs in the \Lib directory. ;******************************************************************************* ;* Message Box Rename Buttons by Raccoon on 12-Sept-2013 * ;* * ;* Usage: (see examples at bottom) * ;* MsgBoxRenBtn(<"Text for Button 1">,["Optional Button 2"],["Optional 3"]) * ;* MsgBox, <parameters> * ;******************************************************************************* MsgBoxRenBtn(btn1="",btn2="",btn3="") { ; by Raccoon 12-Sept-2013 Static sbtn1:="", sbtn2:="", sbtn3:="", i=0 sbtn1 := btn1, sbtn2 := btn2, sbtn3 := btn3, i=0 SetTimer, MsgBoxRenBtn, 1 Return MsgBoxRenBtn: If (hwnd:=WinActive("ahk_class #32770")) { if (sbtn1) ControlSetText, Button1, % sbtn1, ahk_id %hwnd% if (sbtn2) ControlSetText, Button2, % sbtn2, ahk_id %hwnd% if (sbtn3) ControlSetText, Button3, % sbtn3, ahk_id %hwnd% SetTimer, MsgBoxRenBtn, Off } if (i >= 1000) SetTimer, MsgBoxRenBtn, Off i++ Return } ; *** End of Function *** ; --- Optional Sample Script. --- If (A_ScriptName = "MsgBoxRenBtn.ahk") ; Show Demo { ; Simple Example: Replace "OK" Button with "World". MsgBoxRenBtn("World") MsgBox, Hello ; Two Button Example: Yes/No replaced with Dogs/Cats. MsgBoxRenBtn("Dogs","Cats") MsgBox, 0x4, Pick one!, Which do you like best? IfMsgBox Yes TrayTip,, You chose Dogs! IfMsgBox No TrayTip,, You chose Cats! ; Three Button Example: Abort/Retry/Ignore replaced with Red/Green/Blue. ; Note: 0x2 is Abort/Retry/Ignore, add 0x20 for Icon Question, is 0x22. MsgBoxRenBtn("Red","Green","Blue") MsgBox, 0x22, Pick one!, What is your favorite color? IfMsgBox Abort TrayTip,, You chose Red! IfMsgBox Retry TrayTip,, You chose Green! IfMsgBox Ignore TrayTip,, You chose Blue! Sleep, 3000 } ; --- End of Optional Script Sample. --- ; End of MsgBoxRenBtn.ahk Library Include.
-
Handy menus that display recent activity in mIRC and take you there with a click! More features to come . . . ; Recent Menu by Raccoon Jan 2015 MENU Status,Channel,Query,Menubar,@* { - $menuspeedtest Recently .Opened ..$submenu($recent_menu($1,opened)) .Viewed ..$submenu($recent_menu($1,viewed)) .Typed ..$submenu($recent_menu($1,typed)) .Spoken ..$submenu($recent_menu($1,spoken)) .Highlighted ..$submenu($recent_menu($1,highlighted)) $menuspeedtest } ALIAS -l menuspeedtest { if (!%_menuspeedtest) set -u2 %_menuspeedtest $ticks if ($mouse.key & 4) return $calc(($ticks - %_menuspeedtest) /1000) sec } ALIAS -l recent_menu { ; by Raccoon 2015 if ($1 == begin) set -u %_menu_recent $hget(recent,$2) if ($1 isnum 1-35) { var %a = $gettok(%_menu_recent,$1,32), %wid = $gettok(%a,1,58), %ticks = $gettok(%a,2,58) var %win = $window(%wid), %dur = $dur($calc(($ticks - %ticks)/1000),2) var %net = $iif(!$window(%wid).anysc,$scid($window(%wid).cid).network $(|)) if (%win) return %net %win $+ $chr(9) $+ %dur $+ : window -a %wid ;if (%a) return --- (window closed) --- $+ $chr(9) $+ %dur $+ : noop if (%a) return : } if ($1 isnum) && (!%_menu_recent.done) { set -u %_menu_recent.done $true | return - } if ($1 == end) return Clear: hdel recent $2 } ALIAS -l dur { return $regsubex($gettok($duration($1),1- $+ $2,32),/(\d+\w)\D*/g,\t) } ; by Raccoon On *:ACTIVE:*: recent_add viewed $activewid On *:INPUT:*: recent_add typed $activewid On *:OPEN:*: recent_add opened $window($target).wid On me:*:JOIN:*: recent_add opened $chan($chan).wid ALIAS -l recent_add { ; by Raccoon 2015 var %a = $hget(recent,$$1), %wid = @ $+ $$2 var %a = %wid $+ : $+ $ticks $regsubex(%a,/ %wid :\d+/xg,) if ($len(%a) > 4000) var %a = $deltok(%a,-1,32) hadd -m recent $1 %a } On *:TEXT:*:*: recent_spoke $1- On *:ACTION:*:*: recent_spoke $1- On *:NOTICE:*:#: recent_spoke $1- ALIAS -l recent_spoke { ; by Raccoon 2015 if ($1- !isnum) && ($highlight($1-)) recent_add highlighted $window($target).wid recent_add spoken $window($target).wid }
-
Future ASCII (Unicode) Font for mIRC. ;# Future Font for mIRC. Based on font from TOIlet @ Caca Labs ;# /fut <text> ;# /fut [-m|-n target] <text> -- to message or notice target(s). ;# /fut [-cmd ["]custom["]] <text> -- send by arbitrary command. ;# Bold and Reverse control codes, work. Color support coming... fut { var %cmd = say while (-* iswm $1) { ; -switches if ($1 == -cmd) && ($regex($2-,/(?:"([^"]*)"|\S+)(.*)/)) { var %cmd = $regml(1) | tokenize 32 $regml(2) } elseif ($1 == -m) { var %cmd = msg $2 | tokenize 32 $3- } elseif ($1 == -n) { var %cmd = notice $2 | tokenize 32 $3- } else { break } ; unknown switch. } var %a, %b1, %b2, %b3 %a = $chr(32) $+ !"#$%&'()*+,-./0123456789:;<=>?@ $+ $& ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~ÄÖÜß卐卍†‡…—·☐ $+ $chr(127) %b1 = ..,.╻,╻╻,╺╋╋╸,┏┳┓,┏┓╻,┏┓..,╻,┏╸,╺┓,╻.╻,.╻.,..,...,..,.╻, %b2 = ..,.╹,..,╺╋╋╸,┗╋┓,┏━┛,┃╺╋╸,.,┃.,.┃,╺╋╸,╺╋╸,..,╺━╸,..,┏┛, %b3 = ..,.╹,..,....,┗┻┛,╹┗┛,┗━┛.,.,┗╸,╺┛,╹.╹,.╹.,.┛,...,.╹,╹., %b1 = %b1 $+ ┏━┓,╺┓.,┏━┓,┏━┓,╻.╻,┏━╸,┏━┓,┏━┓,┏━┓,┏━┓,..,..,.┏╸,...,╺┓.,┏━┓,┏━┓, %b2 = %b2 $+ ┃┃┃,.┃.,┏━┛,╺━┫,┗━┫,┗━┓,┣━┓,..┃,┣━┫,┗━┫,.╹,.╹,╺┫.,╺━╸,.┣╸,.╺┛,┃┣┛, %b3 = %b3 $+ ┗━┛,╺┻╸,┗━╸,┗━┛,..╹,┗━┛,┗━┛,..╹,┗━┛,┗━┛,.╹,.┛,.┗╸,╺━╸,╺┛.,.╹.,┗━╸, %b1 = %b1 $+ ┏━┓,┏┓.,┏━╸,╺┳┓,┏━╸,┏━╸,┏━╸,╻.╻,╻,.┏┓,╻┏.,╻..,┏┳┓,┏┓╻,┏━┓,┏━┓,┏━┓,┏━┓, %b2 = %b2 $+ ┣━┫,┣┻┓,┃..,.┃┃,┣╸.,┣╸.,┃╺┓,┣━┫,┃,..┃,┣┻┓,┃..,┃┃┃,┃┗┫,┃.┃,┣━┛,┃┓┃,┣┳┛, %b3 = %b3 $+ ╹.╹,┗━┛,┗━╸,╺┻┛,┗━╸,╹..,┗━┛,╹.╹,╹,┗━┛,╹.╹,┗━╸,╹.╹,╹.╹,┗━┛,╹..,┗┻┛,╹┗╸, %b1 = %b1 $+ ┏━┓,╺┳╸,╻.╻,╻.╻,╻.╻,╻.╻,╻.╻,╺━┓,┏━.,╻.,.━┓,┏┓,...,.┓,.┏╸,╻,╺┓.,..., %b2 = %b2 $+ ┗━┓,.┃.,┃.┃,┃┏┛,┃╻┃,┏╋┛,┗┳┛,┏╋┛,┃..,┗┓,..┃,..,...,..,.┫.,┃,.┣.,┏━┛, %b3 = %b3 $+ ┗━┛,.╹.,┗━┛,┗┛.,┗┻┛,╹.╹,.╹.,┗━╸,┗━.,.╹,.━┛,..,╺━╸,..,.┗╸,╹,╺┛.,..., %b1 = %b1 $+ ┏━┓┏━╸,┏━┓┏━╸,╻.╻┏━╸,┏━┓┏━┓,╻┏╸,╺┓╻,.╻.,.╻.,...,.....,..,...,┏┓ %b2 = %b2 $+ ┣━┫┣╸.,┃.┃┣╸.,┃.┃┣╸.,┗━┓┗━┓,┗╋┓,┏╋┛,╺╋╸,╺╋╸,...,╺━━━╸,┏┓,┏━┓,┃┃ %b3 = %b3 $+ ╹.╹┗━╸,┗━┛┗━╸,┗━┛┗━╸,┗━┛┗━┛,╺┛╹,╹┗╸,.┃.,╺╋╸,╹╹╹,.....,┗┛,┗━┛,┗┛ var %s = $replace($upper($1-),`\,卐,`/,卍,`T,†,--,—,$chr(160),$chr(32)) var %i = 1, %n = 3 while (%i <= %n) { %cmd $replace($regsubex(%s,/(*UTF8)(.)/g, $& $iif($gettok(%b [ $+ [ %i ] ],$poscs(%a,\t),44),$v1,\t)),.,$chr(160)) inc %i } if (!$event) && (!$editbox($active)) editbox -ap /fut } ; by Raccoon 2016
-
;# Emboss Fonts for mIRC. Based on font from TOIlet @ Caca Labs ;# /emb <text> and /enb2 <text> ;# /emb [-m|-n target] <text> -- to message or notice target(s). ;# /emb [-cmd ["]custom["]] <text> -- send by arbitrary command. ;# Bold and Reverse control codes, work. Color support coming... ;# The missing characters # $ % are not a perfect compromise. emb2 { emb -2 $1- } emb { var %cmd = say while (-* iswm $1) { ; -switches if ($1 == -cmd) && ($regex($2-,/(?:"([^"]*)"|\S+)(.*)/)) { var %cmd = $regml(1) | tokenize 32 $regml(2) } elseif ($1 == -m) { var %cmd = msg $2 | tokenize 32 $3- } elseif ($1 == -n) { var %cmd = notice $2 | tokenize 32 $3- } elseif ($1 == -2) { var %emb2 = $true | tokenize 32 $2- } else { break } ; unknown switch. } var %a, %b1, %b2, %b3 %a = $chr(32) $+ !"&'()*+,-./#$%—0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~ %b1 = ..,.┃,┛┛,┏┛┃.,┛,.┛,━.,┛.┛,.┃.,.,..,..,..┛,.╻╻.,┏┳┓,┏┓╻,...., %b2 = ..,.┛,..,┃━┏┛,.,┃.,.┃,━┏┛,━┏┛,.,━┛,..,.┛.,╺┏┏╸,┗╋┓,┏━┛,━━━┛, %b3 = ..,.┛,..,━━┛.,.,.┛,━.,┛.┛,.┛.,┛,..,.┛,┛..,╺┏┏╸,┗┻┛,╹┗┛,...., %b1 = %b1 $+ ┏━┃,━┃.,━━┃,━━┃,┃.┃,┏━┛,┏━┛,┏━┃,┏━┃,┏━┃,..,..,..┛,...,┛..,┏━┃,┏━┃, %b2 = %b2 $+ ┃┛┃,.┃.,┏━┛,━━┃,━━┃,━━┃,┏━┃,..┃,┏━┃,━━┃,.┛,.┛,┛..,━━┛,..┛,..┛,┃┛┛, %b3 = %b3 $+ ━━┛,━━┛,━━┛,━━┛,..┛,━━┛,━━┛,..┛,━━┛,━━┛,.┛,.┛,..┛,━━┛,┛..,.┛.,━━┛, %b1 = %b1 $+ ┏━┃,┏━.,┏━┛,┏━.,┏━┛,┏━┛,┏━┛,┃.┃,┛,.┛,┃.┃,┃..,┏┏.,┏━.,┏━┃,┏━┃,┏━┃.,┏━┃, %b2 = %b2 $+ ┏━┃,┏━┃,┃..,┃.┃,┏━┛,┏━┛,┃.┃,┏━┃,┃,.┃,┏┛.,┃..,┃┃┃,┃.┃,┃.┃,┏━┛,┃.┃.,┏┏┛, %b3 = %b3 $+ ┛.┛,━━.,━━┛,━━.,━━┛,┛..,━━┛,┛.┛,┛,━┛,┛.┛,━━┛,┛┛┛,┛.┛,━━┛,┛..,━━━┛,┛.┛, %b1 = %b1 $+ ┏━┛,━┏┛,┃.┃,┃.┃,┃┃┃,┃.┃,┃.┃,━━┃,┏┛,┛..,━┃,.┛.,...,┛.,.┏┛,┃,━┃.,.┛.┛ %b2 = %b2 $+ ━━┃,.┃.,┃.┃,┃.┃,┃┃┃,.┛.,━┏┛,┏┛.,┃.,.┛.,.┃,┛.┛,...,.┛,━┃.,┃,.┏┛,┛.┛. %b3 = %b3 $+ ━━┛,.┛.,━━┛,.┛.,━━┛,┛.┛,.┛.,━━┛,━┛,..┛,━┛,...,━━┛,..,.━┛,┛,━┛.,.... var %s = $replace($upper($1-),$chr(160),$chr(32),Ä,AE,Ö,OE,Ü,UE,ß,SS,--,—) var %i = 1, %n = 3 while (%i <= %n) { if (%emb2) var %b $+ %i $replace(%b [ $+ [ %i ] ],━,═,┃,║,┏,╔,┛,╝) %cmd $replace($regsubex(%s,/(*UTF8)(.)/g, $& $iif($gettok(%b [ $+ [ %i ] ],$poscs(%a,\t),44),$v1,\t)),.,$chr(160)) inc %i } if (!$event) && (!$editbox($active)) editbox -ap /emb $+ $iif(%emb2,2) } ; by Raccoon 2016
-
Here are two Windows .cmd batch file scripts that will enable you to make your removable flash drives read-only and writeable again. Reasons for doing this?: Prevent a virus infected computer from infecting your files. Prevent a public computer's antivirus program from deleting your files. Prevent some idiot from deleting or corrupting your porn. Your porn should corrupt them! Prevent a smart tv, photo kiosk, car stereo, android, etc from adding folders and shit to your drive. These scripts basically perform a simple series of DISKPART commands, namely ATTRIBUTES DISK SET READONLY and ATTRIBUTES DISK CLEAR READONLY, upon the drive which the scripts are executed from. They must be Run As Administrator -- Right-click the files in Windows Explorer. ProTip: You obviously can't create or modify files when your drive is set to read-only. So, um, copy both files before testing this. Additionally, some drives may appear like files are being written to them, but you're probably just seeing Windows write caching. Eject and reinsert the drive to confirm that changes are impossible and discarded while the drive is set to read-only. file: disk-readonly.cmd @rem disk-readonly.cmd script by Raccoon 2016 @rem DISKPART: ATTR DISK SET/CLEAR READONLY @echo off fltmc >nul 2>&1 && ( goto admin ) || ( goto noadmin ) :noadmin echo This script must be 'Run As Administrator'. echo Exiting... echo. pause exit :admin echo Setting drive %~d0 to READONLY... echo ^>^> ARE YOU SURE? ^<^< echo. pause (echo sel vol %~d0 & echo list vol & echo attr disk set readonly & echo detail disk) | diskpart echo. echo. if %ERRORLEVEL% == 0 ( echo SUCCESS! Drive %~d0 should now be READONLY. ) else ( echo Failure setting %~d0 to READONLY. ) echo. pause end-of-script file: disk-writeable.cmd @rem disk-writeable.cmd script by Raccoon 2016 @rem DISKPART: ATTR DISK SET/CLEAR READONLY @echo off fltmc >nul 2>&1 && ( goto admin ) || ( goto noadmin ) :noadmin echo This script must be 'Run As Administrator'. echo Exiting... echo. pause exit :admin echo Setting drive %~d0 to WRITEABLE... echo ^>^> ARE YOU SURE? ^<^< echo. pause (echo sel vol %~d0 & echo list vol & echo attr disk clear readonly & echo detail disk) | diskpart echo. echo. if %ERRORLEVEL% == 0 ( echo SUCCESS! Drive %~d0 should now be WRITEABLE. ) else ( echo Failure setting %~d0 to WRITEABLE. ) echo. pause end-of-script
-
; filename: r_dns.mrc ; ---------------------------------------------- ; Multi DNS Reverse DNS Lookup. By Raccoon 2016 ; ---------------------------------------------- ; Usage: /dns <address/ip> (like normal) ; Suppliments regular /dns lookups if an address returns more than one IP result. ; ; Usage: /rdns <address/ip> ; Resolves all IPs associated with an address, and performs a reverse NS lookup on each IP. ; You can use optional switches from the /dns command [-46ch]. ; ; Examples: ; ; /dns irc.efnet.org ; ; * Dns resolved irc.efnet.org to 141.213.238.252 91.217.189.5 66.225.225.225 128.39.65.230 193.163.220.3 67.218.118.62 ; 209.222.22.22 198.47.99.99 194.126.217.2 195.140.202.142 ; ; /rdns irc.efnet.org ; ; * RDNS (421ms) irc.efnet.org (10): 128.39.65.230[irc.underworld.no] 195.140.202.142[efnet.port80.se] ; 91.217.189.5[efnet.portlane.se] 141.213.238.252[pegasus.us.itd.umich.edu] 66.225.225.225[irc.servercentral.net] ; 194.126.217.2[irc.efnet.fr] 193.163.220.3[irc.inet.tele.dk] 209.222.22.22[irc.choopa.net] 67.218.118.62[no-rdns] ; 198.47.99.99[irc.mzima.net] ALIAS RDNS { var %switches if (-* iswm $1) { %switches = $1 | tokenize 32 $2- } if (%RDNS) { echo -stic info * RDNS: There is already an RDNS being processed. | return } if ($0 == 0) { echo -stic info * Usage: /rdns <address/ip> or /rdns [-46ch] <address/ip> (see: /help /dns) | return } set -eu120 %RDNS $$1 set -eu120 %RDNS.tries 5 set -eu120 %RDNS.ticks $ticks set -eu120 %RDNS.queue 1 .dns -c .dns %switches %RDNS } ; by Raccoon 2016 On *:DNS: { if (%RDNS) && ( ($dns(0).addr == %RDNS) || ($v1 isin %RDNS.output) || ($dns(0).ip == %RDNS) || ($istok(%RDNS.ips,$v1,32)) ) { if (!%RDNS.addr) set -eu120 %RDNS.addr $dns(0).addr dec -eu120 %RDNS.queue var %i = 1, %n = $dns(0), %ip, %addr while (%i <= %n) { var %ip = $dns(%i).ip var %addr = $dns(%i).addr if (!$istok(%RDNS.ips,%ip,32)) { set -eu120 %RDNS.ips %RDNS.ips %ip set -eu120 %RDNS.output %RDNS.output %ip var %newipfound = $true inc %RDNS.queue 1 .dns %ip } elseif ($istok(%RDNS.output,%ip,32)) { if (%n == 1) { set -eu120 %RDNS.output $reptok(%RDNS.output,%ip,%ip $+ [[ $+ $iif(%addr,$v1,no-rdns) $+ ]],0,32) } else { noop ; not an rdns but a round robin because n > 1 } } else { noop ; discard. } inc %i } if (%newipfound) { inc %RDNS.queue 1 .dns %RDNS.addr } elseif (%RDNS.tries > 0) { if ((%RDNS.queue > 0) && (%addr == %RDNS.addr)) || (%RDNS.queue <= 0) { dec -eu120 %RDNS.tries 1 inc -eu120 %RDNS.queue 1 .dns %RDNS.addr } } elseif (%RDNS.queue <= 0) { var %ticks = $calc($ticks - %RDNS.ticks) echo -atic notice * RDNS ( $+ %ticks $+ ms) %RDNS.addr ( $+ $numtok(%RDNS.output,32) $+ ): %RDNS.output unset %RDNS.* unset %RDNS } haltdef } ; Multi-DNS -- automatically replace regular /dns output if multiple IP results. elseif ($dns(0) > 1) { var %i = 1, %n = $v1 var %address = $dns(0).addr, %ip = $dns(0).ip while (%i <= %n) { var %address = $addtok(%address,$dns(%i).addr,32) var %ip = $addtok(%ip,$dns(%i).ip,32) inc %i } echo -stic other * Dns resolved %address to %ip haltdef } } ; by Raccoon 2016 ; End of Script.
-
############################################################ ## The MasterMind Bot ## ## Version: 1.0 ## ## By: manish17 ## ## irc.lucidchat.net #LoveLife ## ############################################################ on *:LOAD: set %owner $input(Enter name of the bot owner:,e) write admins.txt %owner write kick.txt My master ordered.. And I followed... Nothing beyond that. write kick.txt You are busted. BOOM! BOOM! BOOM! write kick.txt GAME OVER!!!!! ;; A few messages for the compliment command.. write compliments.txt Are you really so much beautiful? Or its just my eyes... write compliments.txt I really can't stop looking at you. write compliments.txt You are like the Nightingale! write compliments.txt There is nobody in the world like you are . write compliments.txt If I had to describe you , words will fall short. ;; A few quotes . You may add more anytime. write quotes.txt We must let go of the life we have planned, so as to accept the one that is waiting for us. write quotes.txt Love is the only force capable of transforming an enemy into a friend. write quotes.txt Life is 10% what happens to you and 90% how you react to it. write quotes.txt Respect is for those who deserve it, not for those who demand it. ;; KICK COMMAND ;; KICK AN USER OUT OF THE CHANNEL on *:TEXT:@ki*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to kick out. } elseif ($2 ison $chan) { if ($3 == $null) { /kick $chan $2 12 $read(kick.txt, n) write recent.txt $nick kicked out $2 from the channel $chan . } else { /kick $chan $2 13 $3- write recent.txt $nick kicked out $2 from the channel $chan . (Reason : $3- ) } } else { notice $nick $2 is not on $chan . } } elseif ($read(admins.txt,w,$2)) { /kick $nick 11 You tried to kick my master huh ? You drunkard!!!!! write recent.txt $nick tried to kick $2 from the channel $chan . } else { notice $nick You are not allowed to use that command , $nick . Please ask any bot admin for assistance. } } ;; KICK BAN COMMAND ;; KICK-BAN AN USER FROM YOUR CHANNEL WITH THIS COMMAND. on *:TEXT:@kb*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to kick-ban. } elseif ($2 ison $chan) { if ($3 == $null) { /kickban $2 10 $read(kick.txt, n) write recent.txt $nick kick-banned $2 from the channel $chan . } else { /kick $chan $2 13 $3- /msg ChanServ $chan ban $2 write recent.txt $nick kick-banned $2 from the channel $chan . (Reason : $3- ) } } else { notice $nick $2 is not on this channel $chan. } } elseif ($read(admins.txt,w,$2)) { /kick $nick 11 You tried to kick-ban my master huh ? You drunkard!!!!! write recent.txt $nick tried to kick-ban $2 . } else { notice $nick You are not allowed to use that command , $nick . Please ask any bot admin for assistance. } } ;;BAN COMMAND ;; BAN THE USERS WHO MISBEHAVE ON YOUR CHANNEL on *:TEXT:@ba*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to uban. } else { timer 1 1 describe $chan follows the orders of the Master. timer 1 3 describe $chan is about to do something. timer 1 5 /msg ChanServ ban $chan $2 write recent.txt $nick banned $2 from $chan . } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;;UNBAN COMMAND ;; UNBAN THE USERS WHOM YOU BANNED BEFORE. on *:TEXT:@ub*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to un-ban. } else { timer 1 1 describe $chan follows the orders of the Master. timer 1 3 describe $chan is about to do something. timer 1 5 /msg ChanServ unban $chan $2 write recent.txt $nick unbanned $2 from $chan . } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; INVITE USERS TO YOUR CHANNEL ;; AN INVITE COMMAND on *:TEXT:@in*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to invite to this channel. } else { . timer 1 1 describe $chan is about to do something. timer 1 3 /invite $2 } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;;MAKE YOUR BOT SAY SOMETHING on *:TEXT:@say*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a message. } else { . msg $chan 5 $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; MAKE YOUR BOT REACT on *:TEXT:@do*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a message. } else { . describe $chan $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; CHAT STAFF (HOP) on *:TEXT:@hop*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a user to give Half-op. } else { timer 1 1 describe $chan is about to do something really nice. timer 1 3 /cs hop #lovelife add $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; CHAT STAFF (OP) on *:TEXT:@op*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a user to give op. } else { timer 1 1 describe $chan is about to do something really nice. timer 1 3 /cs op $chan add $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; ADD OR DELETE ADMINS WHO CAN CONTROL YOUR BOT ;; THIS COMMAND CAN BE USED ONLY BY THE OWNER on *:TEXT:@botadmin*:#: { if ($nick == %owner) { if ($2 == add) { if ($read(admins.txt,w,$3)) { notice $nick $3 is already in the list of Bot Admins. } else { write admins.txt $3 msg $chan 12 $3 is added successfully into the list of bot admins. } } if ($2 == del) { if ($read(admins.txt,w,$3)) { write -dl $+ $3 admins.txt msg $chan 5 $3 is successfully deleted from the list of bot admins. } } } else { notice $nick You are not allowed to use that command, $nick . Please ask any Bot Admin for assistance. } } ;; A FEW COMMANDS FOR EVERYONE TO USE :) on *:TEXT:@greet*:#: { if ($2 == $null) { notice $nick You must type an username to greet someone. } else { describe $chan 9 welcomes $2 with a pleasant smile. How have you been? You look much better :) } } on *:TEXT:@compliment*:#: { if ($2 == $null) { notice $nick You must type an username to compliment someone. } else { msg $chan 3 $2 , $read(compliments.txt,n) } } on *:TEXT:@quote*:#: { msg $chan 3 $read(quotes.txt,n) } ;; ADD QUOTES .. on *:TEXT:@addquote*:#: { if ($nick == %owner) { if ($2 == $null) { notice $nick You must type a quote. } else { write quotes.txt $2- msg $chan 9 Quote has been successfully added. } } else { notice $nick You cannot use this command. } } ;; ADD COMPLIMENTS.. on *:TEXT:@addcompliment*:#: { if ($nick == %owner) { if ($2 == $null) { notice $nick You must type a compliment. } else { write compliments.txt $2- msg $chan 9 Compliment has been successfully added. } } else { notice $nick You cannot use this command. } } ;; RECENT ACTIVITY on *:TEXT:@recent*:#: { %x = $lines(recent.txt) if (%x==0) { notice $nick No new activity } else { var %i = 1 while (%i <= %x) { msg $chan 7 $read(recent.txt,n,%i) inc %i } /write -c recent.txt } } ;; Commands List on *:TEXT:@cmds*:#: { notice $nick @usercmds : For commands that can be used by everyone. notice $nick @admincmds : For commands to be used by bot-admins. notice $nick @ownercmds : For the commands of the bot owner. } on *:TEXT:@usercmds*:#: { notice $nick @greet <user> : Greets an user. notice $nick @compliment <user> : Compliments an user! notice $nick @quote : Displays a random quote. } on *:TEXT:@admincmds*:#: { notice $nick @ki <user> <reason> : Kicks an user . If no reason is mentioned, then it displays a random reason stored. notice $nick @kb <user> <reason> : Kicks and bans an user. Displays random reason if no reason is mentioned. notice $nick @ba <user> : Bans an user. notice $nick @ub <user> : Un-bans an user. notice $nick @in <user> : Invites an user. notice $nick @say <message> : Makes the bot say something. notice $nick @do <message> : Makes the bot react. notice $nick @hop <user> : Gives HOP to an user. notice $nick @op <user> : Gives OP to an user. } on *:TEXT:@ownercmds*:#: { notice $nick @botadmin add <user> : Adds an user to the list of bot-admins. notice $nick @botadmin del <user> : Removes an user from the list of bot-admins. notice $nick @addquote <quote> : Adds a quote to the list of quotes. notice $nick @addcompliment <compliment> : Adds a compliment to the list of compliments. notice $nick @recent : Views the recent activity. } Moderating channels might be a tough job . You might have to face situations where you make some people staff and when you are away, they misuse their powers by kicking/banning innocent people. But here is an awesome bot script that will let you moderate your channel using simple commands and moreover, it will also let you track your channel . By tracking channel , I mean that it will allow you to see who was kicked by whom , etc and stuff . You can always do @cmds for command help. Commands :- @usercmds : For list of commands that can be used by everyone. @admincmds : For list of commands to be used by bot-admins. @ownercmds : For list of the commands of the bot owner. Please paste the snppet on your remotes and then try any of these commands for a detailed list of commands.