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 Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Kanal konuşmaları kayıt / .logoku #kanal nick tarih (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/1056601-kanal-konusmalari-kayit-logoku-kanal-nick-tarih.html)

Mylife 22 Mart 2025 13:44

Kanal konuşmaları kayıt / .logoku #kanal nick tarih
 
Merhaba,

Benden çok istenilen bir kod olduğu için uygun zamanım olduğundan dolayı yazdım. Kod kanalda konuşmaları kayıt eder ve daha sonra bu kayıt edilen mesajlara ulaşmanızı sağlar.

Kod:

on *:TEXT:*:#: {
  if ($1 != .logoku) {
    var %kanal = $chan
    var %nick = $nick
    var %mesaj = $1-
    var %tarih = $replace($date, /, .) $time
    write kanallog.txt %tarih - %kanal - %nick - %mesaj
  }
; Kırmızı ile işaretlediğim kısıma yönetim|kanal1|kanal2 gibi arttırabilirsiniz.
  if $regex($1,/^[\.\!]logoku/iS) && $regex(#,/yönetim|testmsl/i) {
    if ($nick isop $chan) {
      if ($regex($1-, /^\.logoku\s+#\S+\s+\S+(\s+\d{2}\.\d{2}\.\d{4})?$/i)) {
        msg # 4 $3 2 ait loglar 4 $2 2 kanalı için aranıyor...
        var %hedefKanal = $lower($gettok($1-, 2, 32)), %hedefNick = $lower($gettok($1-, 3, 32)),  %tarih = $iif($gettok($1-, 4, 32), $gettok($1-, 4, 32), $replace($date, /, .))
        var %bulundu = 0, %satir = 1
        while ($read(kanallog.txt, %satir)) {
          var %logSatiri = $ifmatch
          if ($regex(%logSatiri, /^(\d{2}\.\d{2}\.\d{4}) \d{2}:\d{2}:\d{2} - (\S+) - (\S+) - (.+)$/i)) {
            if ($regml(1) == %tarih && $lower($regml(2)) == %hedefKanal && $lower($regml(3)) == %hedefNick) {
              .timer 1 2 msg # 4Tarih: 2 $regml(1) 4 Kanal: 2 $regml(2) 4 Nick: 2 $regml(3) 4 Mesaj: 2 $regml(4)
              inc %bulundu
            }
          }
          inc %satir
        }       
        if (%bulundu == 0) {
          .timer 1 1  msg # 10 "Belirtilen kritere uygun log bulunamadı."
        }
      }
      else {
        .timer 1 1 msg # 10 "Hatalı komut formatı! Doğru kullanım: .logoku #kanal nick [gg.aa.yyyy]"
      }
    }
    else {
      .timer 1 1 msg # 10 "Bu komutu kullanmak için yeterli yetkiye sahip değilsiniz."
    }
  }
}

Çalışma şekli;

Eklediğiniz bot veya kendiniz her ne ise bulunduğu kanallarda konuşmaları kayıt eder formata uygun şekilde arama yapmanıza olanak tanır. Kod içerisinde kanal yetkilendirme sistemi var ben yönetim ve testmsl deneme kanalı için ayarladım siz sorgunun hangi kanalda olduğunu kırmızı ile işaretleyeceğim oraya eklersiniz kanalda op yetkisinde olan herkes sorunsuz kullanabilir.

Kullanım;

.logoku #kanal nick tarih

Tarih belirtmesseniz o günün tarihini esas alır.

Örnek görünüm;

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Çok detaylı bir çalışma değil. Dilediğiniz gibi kullanabilir, değiştirebilirsiniz. İyi forumlar.

maviii 20 Nisan 2025 13:28

Cevap: Kanal konuşmaları kayıt / .logoku #kanal nick tarih
 
on *:TEXT:*:#: {
if ($1 != .logoku) {
var %kanal = $chan
var %nick = $nick
var %mesaj = $1-
var %tarih = $replace($date, /, .) $time
write kanallog.txt %tarih - %kanal - %nick - %mesaj
}
; Kırmızı ile işaretlediğim kısıma yönetim|kanal1|kanal2 gibi arttırabilirsiniz.
if $regex($1,/^[\.\!]logoku/iS) && $regex(#,/hayhay|datasystem/i) {
if ($nick isop $chan) {
if ($regex($1-, /^\.logoku\s+#\S+\s+\S+(\s+\d{2}\.\d{2}\.\d{4})?$/i)) {
msg # 4 $3 2 ait loglar 4 $2 2 kanalı için aranıyor...
var %hedefKanal = $lower($gettok($1-, 2, 32)), %hedefNick = $lower($gettok($1-, 3, 32)), %tarih = $iif($gettok($1-, 4, 32), $gettok($1-, 4, 32), $replace($date, /, .))
var %bulundu = 0, %satir = 1
while ($read(kanallog.txt, %satir)) {
var %logSatiri = $ifmatch
if ($regex(%logSatiri, /^(\d{2}\.\d{2}\.\d{4}) \d{2}:\d{2}:\d{2} - (\S+) - (\S+) - (.+)$/i)) {
if ($regml(1) == %tarih && $lower($regml(2)) == %hedefKanal && $lower($regml(3)) == %hedefNick) {
.timer 1 2 msg # 6Tarih: 1 $regml(1) 6 Kanal: 1 $regml(2) 6 Nick: 1 $regml(3) 6 Mesaj: 1 $regml(4)
inc %bulundu
}
}
inc %satir
}
if (%bulundu == 0) {
.timer 1 1 msg # 10 "Belirtilen kritere uygun log bulunamadı."
}
}
else {
.timer 1 1 msg # 10 "Hatalı komut formatı! Doğru kullanım: .logoku #kanal nick [gg.aa.yyyy]"
}
}
else {
.timer 1 1 msg # 10 "Bu komutu kullanmak için yeterli yetkiye sahip değilsiniz."
}
}
}

Hocam bende bu komut çalışmama ihtimali nedendir acaba ? kanal sahibi oldugum kkanalda denedim , herhangi bir olumsuzluk mesajı yada log dökümü yapmamaktadır. Bu konuda dönüş yapabilir misiniz.

Coderlab 20 Nisan 2025 14:12

Cevap: Kanal konuşmaları kayıt / .logoku #kanal nick tarih
 
Kod:


on *:TEXT:*:#: {
  if ($1 != .logoku) {
    var %kanal = $chan, %nick = $nick, %mesaj = $1-, %tarih = $replace($date, /, .) $+ $time
    write kanallog.txt %tarih - %kanal - %nick - %mesaj
  }

  if ($regex($1, /^[\.\!]logoku/iS) && $regex(#, /hayhay|datasystem/i)) {
    if ($nick isop $chan) {
      if ($regex($1-, /^\.logoku\s+#\S+\s+\S+(\s+\d{2}\.\d{2}\.\d{4})?$/i)) {
        msg # 4 $gettok($1-,3,32) 2 ait loglar 4 $gettok($1-,2,32) 2 kanalı için aranıyor...
        var %hedefKanal = $lower($gettok($1-, 2, 32))
        var %hedefNick = $lower($gettok($1-, 3, 32))
        var %tarih = $iif($gettok($1-, 4, 32), $gettok($1-, 4, 32), $replace($date, /, .))
        var %bulundu = 0, %satir = 1

        while ($read(kanallog.txt, %satir)) {
          var %logSatiri = $ifmatch
          if ($regex(%logSatiri, /^(\d{2}\.\d{2}\.\d{4}) \d{2}:\d{2}:\d{2} - (\S+) - (\S+) - (.+)$/i)) {
            if ($regml(1) == %tarih && $lower($regml(2)) == %hedefKanal && $lower($regml(3)) == %hedefNick) {
              .timer 1 2 msg # 6Tarih: 1 $regml(1) 6 Kanal: 1 $regml(2) 6 Nick: 1 $regml(3) 6 Mesaj: 1 $regml(4)
              inc %bulundu
            }
          }
          inc %satir
        }

        if (%bulundu == 0) {
          .timer 1 1 msg # 10 "Belirtilen kritere uygun log bulunamadı."
        }

      }
      else {
        .timer 1 1 msg # 10 "Hatalı komut formatı! Doğru kullanım: .logoku #kanal nick [gg.aa.yyyy]"
      }
    }
    else {
      .timer 1 1 msg # 10 "Bu komutu kullanmak için yeterli yetkiye sahip değilsiniz."
    }
  }
}

Böyle dene 1 kac hata vardi duzelttim denemedim ama calismasi lazim

zAZ 20 Nisan 2025 22:46

Cevap: Kanal konuşmaları kayıt / .logoku #kanal nick tarih
 
Güzel hoş fakat unreal6 ve inspircd belirlediğiniz süre ve satıra göre kanal loglarini kayıt edebilirsiniz tek farkı herkes erişebilir

İlgili modül:

304 *** chanmodes/history - Channel Mode +H - by UnrealIRCd Team

/mode #channel 20:1d

Son 20 satır 1 gün boyunca..

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

/mode #channel +H 20:1d


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

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