1. sorun için, sen kanala girdiğinde 2 saniye aralıklı bir timer açıp o timerla bir aliası çağırıp kanalda kaç kişi olduğunu anlayıp, istediğini yapabilirsin, eğer 1'e eşitse ($nick(#kanal,0)) , sen op değilsen ve $usermode içinde o varsa samode'la kanalda op olunabilir, eğer 1'den büyükse ve sen o kanalda opsan kendini deop edebilirsin. Kanaldan çıktığında da güvenlik olsun diye timerı kapatabilirsin. Bunlar için bilmen gereken en önemli şeyler on JOIN, on PART, $nick(#kanal,0) (kanalda kaç kişi olduğu), $usermode..
on me:*:join:#deneme:{ $+(.timer,$chan) 0 2 kontrolet $chan } on me:*:part:#deneme:{ if $timer($chan) { $+(.timer,$chan) off } } alias kontrolet { if $1 ischan { if ($nick($1,0) = 1) && ($me !isop $1) && (o isin $usermode) { samode $1 +o $me } | elseif ($nick($1,0) > 1) && ($me isop $1) { mode $1 -o $me } } }
İkinci sorunu anlayamadım, botun olduğu kanallarda 15 dakika önce atılmış banları samode ile açacak demişsin, Bu biraz saçma olur çünkü her dakika kontrol edilse kaç dk önce atıldı banlar diye, her dakika ban atılabileceği için, her dakika ban açmak gereksiz yere flood olur, onun yerine her 15 dakikada bir tüm banlar açılabilir.
Üçüncü soruna gelince, sen servera bağlandığında her 20 dakikada bir tüm kanallara sırayla /who çekip, gelen who cevabına göre, 7. cümlede G harfi olanlara whois çekip, away mesajlarını kontrol edebilirsin, eğer away mesajlarında reklam varsa kline atabilirsin.. (Kalınla yazdığım yerler who çekilmesini istemediğin kanallar)
alias awaykontrol { var %ş = $chan(0) | while %ş { if !$istok(#deneme #help #operhelp,$chan(%ş),32) { who $chan(%ş) } | dec %ş } } raw 352:*:{ if (G isincs $7) && ($6 isreg $2) { whois $6 | set -u60 $+(%,wcheck.,$6) $4 } } raw 301:*:{ var %ğ = $remove($strip($3-),$chr(32)) if ($($+(%,wcheck.,$2),2)) && (*http:* iswm %ğ) || (*ftp:* iswm %ğ) || (*irc.* iswm %ğ) || (*/server* iswm %ğ) || (*.com iswm %ğ) || (*[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] iswm %ğ) { kline $+(*@,$($+(%,wcheck.,$2),2)) Away mesajında reklam yapmak yasaktır. } }
Umarım anlamışsındır ve mIRC Scripting hakkında bir fikrin olmuştur.
(Not: kodların hiç birini denemedim.)