IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Parça Kodlar (https://www.ircforumlari.net/mirc-parca-kodlar/)
-   -   Oper/Admin Ceza Ekle/Sil/Listele (https://www.ircforumlari.net/mirc-parca-kodlar/983008-oper-admin-ceza-ekle-sil-listele.html)

Vision 22 Eylül 2025 09:56

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Opers kanalına girmediği sürece istediği gibi yine takılabilir gibi görünüyor bu ceza eklenen vatandaş opers kanalına giriyor mu çünkü orayı kontrol ediyor sanırım.


Alıntı:

AutomatiC Nickli Üyeden Alıntı (Mesaj 1043073321)
Öncelikle emegın ıcın tsk ederım. Ama sorun aynı yanı ceza eklıyorum sonra tekrardan gırıs yapıp nıck alabılıyor ve herhangı bır ıslem yapmıyor. tek sorun bu tekrar bı kontrol edebılırmısın rıca etsem
tskler


SNOOPY 22 Eylül 2025 17:01

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Alıntı:

AutomatiC Nickli Üyeden Alıntı (Mesaj 1043073321)
Öncelikle emegın ıcın tsk ederım. Ama sorun aynı yanı ceza eklıyorum sonra tekrardan gırıs yapıp nıck alabılıyor ve herhangı bır ıslem yapmıyor. tek sorun bu tekrar bı kontrol edebılırmısın rıca etsem
tskler

Kod:

on *:JOIN:#opers: {
  var %found 0, %i 1
  while (%i <= $lines(cezalist.txt)) {
    var %line = $read(cezalist.txt,nt,%i)
    var %nick = $gettok(%line,1,124)
    var %bitis = $gettok(%line,2,124)
    if ($lower(%nick) == $lower($nick)) {
      if (%bitis > $ctime) {
        var %kalan $duration($calc(%bitis - $ctime))
        msg #opers Cezalı Oper/Admin girişi yapıldı! Nick: $nick — Kalan ceza süresi: %kalan
        .kill $nick Ceza süreniz devam ediyor. Lütfen %kalan bekleyin.
        %found = 1
        break
      }
      else {
        ; Ceza süresi bitmişse otomatik temizle
        write -dl %i cezalist.txt
        write -dl $readn cban.txt
      }
    }
    inc %i
  }
  ; Eğer cezalist.txt’de bulunamadıysa ama cban.txt’de varsa yine kill at
  if (!%found) && ($read(cban.txt,w,$nick)) {
    msg #opers Cezalı Oper/Admin girişi yapıldı! Nick: $nick
    .kill $nick Ceza süreniz devam ediyor.
  }
}

Bir de böyle dener misin test edemiyorum.

AutomatiC 23 Eylül 2025 00:04

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Selam
son verdıgınde olmadı herhangı bır ıslem yapmıyor. Oncekı vermıs oldugun kod sorunsuz olarak ekleme sılme yapıyor hatta ceza eklendıgınde oper/admın kıll atıyor ve tek eksıgı ceza alan operın tekrar sıfresı ıle gırıs yapması ve #opers kanalına gırıs yapmasıydı.

o kısmı cozbılırsek baska bır sorunu kalmıyor. Yanı ceza alan oper pass gırınce otomatık olarak kıll atacak sekılde ayarlanabılırse sorun cozulecektır.
tsk ederım emegın ıcın..

Coderlab 23 Eylül 2025 00:13

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
oper nickinin snoticeden okunması lazım. #opers kanalına giren nicke göre kontrol olmaz. adamın operi A nicki ile kayıtlı ise adam B Nickiyle de operini girebilir. bu durumda A nickini botun statüste ki snotice üzerinden okuyup B nickine kill atması lazım..

bunun içinde statüste ki notice bilgisini görmemiz lazım oper girişi yapıldıgında yani.

SNOOPY 23 Eylül 2025 10:14

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Alıntı:

AutomatiC Nickli Üyeden Alıntı (Mesaj 1043073637)
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Selam
son verdıgınde olmadı herhangı bır ıslem yapmıyor. Oncekı vermıs oldugun kod sorunsuz olarak ekleme sılme yapıyor hatta ceza eklendıgınde oper/admın kıll atıyor ve tek eksıgı ceza alan operın tekrar sıfresı ıle gırıs yapması ve #opers kanalına gırıs yapmasıydı.

o kısmı cozbılırsek baska bır sorunu kalmıyor. Yanı ceza alan oper pass gırınce otomatık olarak kıll atacak sekılde ayarlanabılırse sorun cozulecektır.
tsk ederım emegın ıcın..

Kod:

on *:TEXT:*:#opers: {
  if $regex($1-,/^[\.!]cezaekle/Si) {
    if (!$2) { msg # Hatalı kullanım. .cezaekle nick gün sebep olarak deneyin. | halt }
    if (!$istok(Mylife wrath nick3 nick4 nick5,$nick,32)) { msg # Oper/admin ceza eklemek için yetkili değilsiniz. | halt }
    if ($2 !ison #opers) { msg # Üzgünüm $qt($2) #opers kanalında bulunmuyor. | halt }
    if (!$regex($3,/^\d+$/)) { msg # Hatalı kullanım. .cezaekle nick gün sebep olarak deneyin. | halt }
    var %bitis $calc($ctime + ($3 * 86400))
    var %sebep $iif($4-, $4-, Belirtilmedi)
    write cban.txt $2
    write cezalist.txt $2|%bitis|%sebep (Ekleyen: $nick)
    msg # $2 nickine $3 gün ceza eklendi. Sebep: %sebep
    .kill $2 reconnect
    halt
  }

  if $regex($1-,/^[\.!]cezalist/Si) {
    if ($lines(cezalist.txt) == 0) { msg # Herhangi bir Oper/Admin ceza almamış. | halt }
    msg # Oper/Admin ceza listesi sıralanıyor.
    .play # cezalist.txt 2000
    halt
  }

  if $regex($1-,/^[\.!]cezasil/Si) {
    if (!$2) { msg # Hatalı kullanım. .cezasil nick olarak deneyin. | halt }
    if (!$istok(Mylife wrath nick3 nick4 nick5,$nick,32)) { msg # Oper/admin ceza silebilmek için yetkili değilsiniz. | halt }
    var %found $read(cezalist.txt, w, $2*)
    if (%found) { write -dl $readn cezalist.txt }
    var %found2 $read(cban.txt, w, $2*)
    if (%found2) { write -dl $readn cban.txt }
    msg # $2 nickine verilen ceza kaldırıldı.
    halt
  }
}

on *:SNOTICE:*: {
  if (is now isin $1-) {
    $iif(!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]),.window -zne @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
    .echo -em @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] $_gri($_tarih) $+(,$1) $+(,$3) ID'ini Kullanarak Oper Oldu : $oflags($remove($right($1-,3),$chr(40),$chr(41))))

    var %nick $gettok($1-,1,32)
    var %i 1
    while (%i <= $lines(cezalist.txt)) {
      var %line = $read(cezalist.txt,nt,%i)
      var %cnick = $gettok(%line,1,124)
      var %bitis = $gettok(%line,2,124)
      if ($lower(%cnick) == $lower(%nick)) {
        if (%bitis > $ctime) {
          var %kalan $duration($calc(%bitis - $ctime))
          .echo -em @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [CEZA] %nick OPER olmaya çalıştı, kalan süre: %kalan
          .kill %nick Ceza süreniz devam ediyor. Lütfen %kalan bekleyin.
          halt
        }
        else {
          write -dl %i cezalist.txt
          write -dl $readn cban.txt
        }
      }
      inc %i
    }
  }
}

on *:JOIN:#opers: {
  var %i 1
  while (%i <= $lines(cezalist.txt)) {
    var %line = $read(cezalist.txt,nt,%i)
    var %nick = $gettok(%line,1,124)
    var %bitis = $gettok(%line,2,124)
    if ($lower(%nick) == $lower($nick)) {
      if (%bitis > $ctime) {
        var %kalan $duration($calc(%bitis - $ctime))
        msg #opers Cezalı Oper/Admin girişi yapıldı! Nick: $nick — Kalan ceza süresi: %kalan
        .kill $nick Ceza süreniz devam ediyor. Lütfen %kalan bekleyin.
      }
      else {
        write -dl %i cezalist.txt
        write -dl $readn cban.txt
      }
      break
    }
    inc %i
  }
}

Kodu test edemedim ama çalışacaktır @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Coderlab 23 Eylül 2025 22:54

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Alıntı:

SNOOPY Nickli Üyeden Alıntı (Mesaj 1043073687)
Kod:

on *:TEXT:*:#opers: {
  if $regex($1-,/^[\.!]cezaekle/Si) {
    if (!$2) { msg # Hatalı kullanım. .cezaekle nick gün sebep olarak deneyin. | halt }
    if (!$istok(Mylife wrath nick3 nick4 nick5,$nick,32)) { msg # Oper/admin ceza eklemek için yetkili değilsiniz. | halt }
    if ($2 !ison #opers) { msg # Üzgünüm $qt($2) #opers kanalında bulunmuyor. | halt }
    if (!$regex($3,/^\d+$/)) { msg # Hatalı kullanım. .cezaekle nick gün sebep olarak deneyin. | halt }
    var %bitis $calc($ctime + ($3 * 86400))
    var %sebep $iif($4-, $4-, Belirtilmedi)
    write cban.txt $2
    write cezalist.txt $2|%bitis|%sebep (Ekleyen: $nick)
    msg # $2 nickine $3 gün ceza eklendi. Sebep: %sebep
    .kill $2 reconnect
    halt
  }

  if $regex($1-,/^[\.!]cezalist/Si) {
    if ($lines(cezalist.txt) == 0) { msg # Herhangi bir Oper/Admin ceza almamış. | halt }
    msg # Oper/Admin ceza listesi sıralanıyor.
    .play # cezalist.txt 2000
    halt
  }

  if $regex($1-,/^[\.!]cezasil/Si) {
    if (!$2) { msg # Hatalı kullanım. .cezasil nick olarak deneyin. | halt }
    if (!$istok(Mylife wrath nick3 nick4 nick5,$nick,32)) { msg # Oper/admin ceza silebilmek için yetkili değilsiniz. | halt }
    var %found $read(cezalist.txt, w, $2*)
    if (%found) { write -dl $readn cezalist.txt }
    var %found2 $read(cban.txt, w, $2*)
    if (%found2) { write -dl $readn cban.txt }
    msg # $2 nickine verilen ceza kaldırıldı.
    halt
  }
}

on *:SNOTICE:*: {
  if (is now isin $1-) {
    $iif(!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]),.window -zne @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
    .echo -em @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] $_gri($_tarih) $+(,$1) $+(,$3) ID'ini Kullanarak Oper Oldu : $oflags($remove($right($1-,3),$chr(40),$chr(41))))

    var %nick $gettok($1-,1,32)
    var %i 1
    while (%i <= $lines(cezalist.txt)) {
      var %line = $read(cezalist.txt,nt,%i)
      var %cnick = $gettok(%line,1,124)
      var %bitis = $gettok(%line,2,124)
      if ($lower(%cnick) == $lower(%nick)) {
        if (%bitis > $ctime) {
          var %kalan $duration($calc(%bitis - $ctime))
          .echo -em @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [CEZA] %nick OPER olmaya çalıştı, kalan süre: %kalan
          .kill %nick Ceza süreniz devam ediyor. Lütfen %kalan bekleyin.
          halt
        }
        else {
          write -dl %i cezalist.txt
          write -dl $readn cban.txt
        }
      }
      inc %i
    }
  }
}

on *:JOIN:#opers: {
  var %i 1
  while (%i <= $lines(cezalist.txt)) {
    var %line = $read(cezalist.txt,nt,%i)
    var %nick = $gettok(%line,1,124)
    var %bitis = $gettok(%line,2,124)
    if ($lower(%nick) == $lower($nick)) {
      if (%bitis > $ctime) {
        var %kalan $duration($calc(%bitis - $ctime))
        msg #opers Cezalı Oper/Admin girişi yapıldı! Nick: $nick — Kalan ceza süresi: %kalan
        .kill $nick Ceza süreniz devam ediyor. Lütfen %kalan bekleyin.
      }
      else {
        write -dl %i cezalist.txt
        write -dl $readn cban.txt
      }
      break
    }
    inc %i
  }
}

Kodu test edemedim ama çalışacaktır @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Kod:

[22:44] -irc.test.net- Ahmet (test@185.111.22.33) [Mehmet] is now a root administrator (X)
-
echo %nick= Ahmet
-

Sen Ahmet i Aldırmışsın @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Mehmet i Aldırmalısın :)

yukardaki snotice Unreal3.2.10.7 ye göre gelmiştir. Unreal version farkına göre değişim gösterebilir ondan dolayı snotice yi görmek lazım diye yukarda belirtmiştim özellikle.

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 22:50 -->-> Daha önceki mesaj 22:46 --

Alıntı:

Coderlab Nickli Üyeden Alıntı (Mesaj 1043073866)
Kod:

[22:44] -irc.test.net- Ahmet (test@185.111.22.33) [Mehmet] is now a root administrator (X)
-
echo %nick= Ahmet
echo %cnick = boş
-

Sen Ahmet i Aldırmışsın @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Mehmet i Aldırmalısın :)
echo %cnick boş gelmekte.

yukardaki snotice Unreal3.2.10.7 ye göre gelmiştir. Unreal version farkına göre değişim gösterebilir ondan dolayı unrealinizden gelen snotice yi görmek lazım diye yukarda belirtmiştim özellikle.

sdgsdg testt deneme meneme testtttt

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 22:54 -->-> Daha önceki mesaj 22:50 --

Alıntı:

Coderlab Nickli Üyeden Alıntı (Mesaj 1043073866)
Kod:

[22:44] -irc.test.net- Ahmet (test@185.111.22.33) [Mehmet] is now a root administrator (X)
-
echo %nick= Ahmet
-

Sen Ahmet i Aldırmışsın @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Mehmet i Aldırmalısın :)

yukardaki snotice Unreal3.2.10.7 ye göre gelmiştir. Unreal version farkına göre değişim gösterebilir ondan dolayı snotice yi görmek lazım diye yukarda belirtmiştim özellikle.

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 22:50 -->-> Daha önceki mesaj 22:46 --



sdgsdg testt deneme meneme testtttt

Kod:

[22:44] -irc.test.net- Ahmet (test@185.111.22.33) [Mehmet] is now a root administrator (X)
Ayrıca extra #Opers join kontrolüne gerek yok. yukardaki snotice ile Mehmet cezalist.txt de ise Ahmet i kille yapılabilir. kestirmeden.

Fikir amaçlı yazıyorum arkadaşa sen yardımcı oldugun için önüne geçip extra kodlama yapmak istemedim. Sürç-i lisanımız oldu ise affola.

SNOOPY 23 Eylül 2025 23:41

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Güzel çalışma @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] keşke düzenlenmiş hali ile paylaşsaydın. Bende bir arkadaştan aldığım oper giriş uyarı snotice'ini esas alarak hazırlamıştım. Tam halini de paylaşırsan arkadaşlara daha yardımcı olacaktır ayrıca hatalarımı belirttiğin için teşekkür ederim.

Coderlab 24 Eylül 2025 16:00

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Alıntı:

SNOOPY Nickli Üyeden Alıntı (Mesaj 1043073900)
Güzel çalışma @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] keşke düzenlenmiş hali ile paylaşsaydın. Bende bir arkadaştan aldığım oper giriş uyarı snotice'ini esas alarak hazırlamıştım. Tam halini de paylaşırsan arkadaşlara daha yardımcı olacaktır ayrıca hatalarımı belirttiğin için teşekkür ederim.


Akşam eve geçince kodlamasini yapar paylaşırım. Ben hani arkadaşa sen yardimci olmaya calisiyosun diye önüne geçmek istemedim üstad.

Coderlab 25 Eylül 2025 01:28

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Alıntı:

SNOOPY Nickli Üyeden Alıntı (Mesaj 1043073900)
Güzel çalışma @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] keşke düzenlenmiş hali ile paylaşsaydın. Bende bir arkadaştan aldığım oper giriş uyarı snotice'ini esas alarak hazırlamıştım. Tam halini de paylaşırsan arkadaşlara daha yardımcı olacaktır ayrıca hatalarımı belirttiğin için teşekkür ederim.

Merhaba ,


Kod:

on *:text:*:#Opers: {
  var %coderlab = $remove($1,.,!)
  var %nick  = $2
  if (%coderlab == cezalist) {
    if ($lines(cezalist.txt) == 0) {
      msg #Opers Herhangi bir Oper/Admin ceza almamış.
    }
    else {
      msg #Opers Oper/Admin ceza listesi sıralanıyor.
      .play #Opers cezalist.txt 2000
    }
  }

  elseif (%coderlab == cezasil) {
    if (!%nick) {
      msg #Opers Hatalı kullanım: .cezasil nick
    }
    elseif (!$read(cban.txt, ntw, %nick)) {
      msg #Opers %nick nickine ait herhangi bir ceza bulunamadı.
    }
    else {
      write -dl $+ $readn cban.txt
      write -dl $+ $readn cezalist.txt
      msg #Opers %nick nickine verilen ceza başarıyla kaldırıldı.
    }
  }
  elseif (%coderlab == cezabul) {
    if (!%nick) {
      msg #Opers Hatalı kullanım: .cezabul <nick>
    }
    elseif (!$read(cban.txt, ntw, %nick)) {
      msg #Opers %nick nickine ait herhangi bir ceza bulunmamaktadır. Büyük/Küçük Harfe Dikkat!!
    }
    else {
      var %satir = "", %i = 1
      while (%i <= $lines(cezalist.txt)) {
        var %line = $read(cezalist.txt, %i)
        if ($istokcs(%line, %nick, 32)) {
          var %satir = %line
          break
        }
        inc %i
      }

      if (%satir != $null) {
        msg #Opers %nick kullanıcısının ceza bilgisi: %satir
      }
      else {
        msg #Opers %nick nickine ait ceza bilgisi bulunamadı.
      }
    }
  }
  elseif (%coderlab == cezaekle) {
    if (!%nick || !$3 || !$4-) {
      msg #Opers Hatalı kullanım. .cezaekle nick gün sebep olarak deneyin.
    }
    elseif (!$istok(Mylife testt nick3 nick4 nick5, $nick, 32)) {
      msg #Opers Ceza eklemek için yetkili değilsiniz.
    }
    elseif ($read(cban.txt, ntw, %nick)) {
      msg #Opers %nick zaten cezalı. İkinci kez ceza eklenemez.
    }
    elseif (!$regex($3,/^\d+$/)) {
      msg #Opers Hatalı gün sayısı. Lütfen sayı girin.
    }
    else {
      var %bitis = $asctime($calc($ctime + ($3 * 86400)),dd.mm.yyyy)
      msg #Opers %nick nickine $3 gün $4- sebebi ile ceza eklendi. Ceza bitiş: %bitis
      .kill %nick reconnect
      write cban.txt %nick
      write cezalist.txt %nick - $4- sebebiyle $3 gün ceza verildi. Ekleyen: $nick - Bitiş: %bitis
    }
  }

}


on ^*:SNOTICE:*is now a*:{
  if ($regex($1-,/^(.*?) \((.*?)\) \[(.*?)\] is now a /i)) {
    var %grsnick = $regml(1)
    var %grsip  = $regml(2)
    var %oprnick = $regml(3)
    var %ipgrs = $gettok(%grsip,2,64)

    if ($read(cban.txt, ntw, %oprnick)) {
      kill %grsnick : Cezalısınız! 4 [ %oprnick ]
      os raw svskill %grsnick : Cezalısınız! - SVS-KILL 4 [ %oprnick ]
      msg #Opers 3 %grsnick 1 Nicki Cezalı Olan 4 %oprnick 1 ile giriş yapmaya çalıştı, Killendi. IP: %ipgrs
    }
  }
}

Kod:

!cezaekle nick süre sebep
!cezasil nick
!cezalist
!cezabul nick

seklinde kullanılabilir.

Not: Kodlama Unreal3.210.7 nin

Kod:

[01:22] -irc.test.net- testnick (test@182.244.145.***) [Testoper] is now a root administrator (X)
snoticesine göre yazılmıştır. Farklı sürüm ve Editlenmiş versiyonlarda farklılık gösterebilir.

Hayırlı IF'ler dilerim.

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 01:28 -->-> Daha önceki mesaj 01:25 --

Extra Not : ceza eklenen nickte Büyük Küçük Harf Duyarlılıgı vardır. Oper Nickini nasıl eklediyseniz opers.conf a o şekilde ekle/sil/ara yın.

AutomatiC 30 Eylül 2025 23:54

Cevap: Oper/Admin Ceza Ekle/Sil/Listele
 
Kolay gelsın oncelıkle emeklerınıze saglık tsk ederım
benım sunucu versıyonum UnrealIRCd-4.2.4.1 bu sıstemde yazdıgınız calısır mı acaba denemedım ama farklılık gosterır mı?


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 08:19.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk