mIRC Kanal Yetki Koruması

Aytac

nicktag
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
379
Tepkime puanı
50
Puanları
28
Konum
ircland
Web sitesi
www.ircalem.net
Sunucu içerisinde yetkili olan adminlerin bazen kanallarda yetkilerinin alınması mümkün olabiliyor. Zamanında yazdığım aşağıdaki kodla bunun takibini yapmak isteyenler için ideal bir kod olacaktır.
- @Yetki penceresinde hangi kanalda hangi nickin ne zaman hangi yetkiyi aldığını gösterir.
- İşlem yapılan kanalda o an işlemi yapan kişinin mevcut yetkileri alınır.
- İşlem yapılan kanalda tekrar eski yetkiye geçilir.
- İşlem yapıldığında Away isek idle süresi bozulmaması adına sadece alınan yetkilerin tekrar alınmasını sağlar.
- İşlem yapıldığında away değilsek, kişinin yetkileri alınıp, notice uyarı mesajı çekilip alınan yetkileri tekrar geri vermesini sağlar.
- Muaf tutulmak istenen kanallar veya nickler kodda belirtilen yerlere yazılabilir. (#muafkanal1 ve nickserv|chanserv kısımları.)
-----

Kod:
on *:rawmode:#: {
  if ($regex($1,/([+])([eIxqoahv|\-o|\-h\|\-v]{1,})/) && ($2 == $me) && ($nick != $me) && ($chr(45) isin $1)) { mode $chan $replace($regml(2),-,+) $str($+($me,$chr(32)),$len($regml(2))) }
  if ($regex($1,/([-])([qaohv]{1,})/) && ($2 == $me)) && ($nick != $me) && $away {
    mode $chan $regml(2) $str($+($me,$chr(32)),$len($regml(2)))
    echo -a $+($chr(3),6) $timestamp $nick nicki $chan kanalında Yetki ALDI: $1-
    $iif(!$window(@Yetki),window -en @Yetki)
    echo 6 @Yetki $timestamp  $nick nicki $chan kanalında Yetki ALDI: $1-
  }
  elseif ($regex($1,/([-])([qaohv]{1,})/) && ($2 == $me)) && ($nick != $me) && !$away && !$istok(#MuafKanal1 #MuafKanal2,$chan,32) && !$regex($nick,/(ChanServ|Operserv|services\.Sunucu.Net)/i) {
    mode $chan $regml(2) $str($+($me,$chr(32)),$len($regml(2)))
    mode $chan -aohv $str($+($,nick,$chr(32)),4)
    Notice $nick $nick Mod Koruma Özelliğim Devrede!
    echo -a $+($chr(3),6) $timestamp $nick nicki $chan kanalında Yetki ALDI: $1-
    $iif(!$window(@Yetki),window -en @Yetki)
    echo 6 @Yetki $timestamp  $nick nicki ve $chan kanalında Yetki ALDI: $1-
  }
  if ($regex($1,/([+])([qaohv]{1,})/) && ($2 == $me)) && ($nick != $me) && ($1 != +oq) {
    echo -a $+($chr(3),6) $timestamp $chan kanalında $nick nicki sana $1 yetkisi verdi.
    $iif(!$window(@Yetki),window -en @Yetki)
    echo 6 @Yetki $timestamp $chan kanalında $nick nicki sana $1 yetkisi verdi.
  }
}
 
Üst