IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi

IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi (https://www.ircrehberi.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircrehberi.net/mirc-scripting-hazir-kodlar/)
-   -   Kanal konuşmaları kayıt / .logoku #kanal nick tarih (https://www.ircrehberi.net/mirc-scripting-hazir-kodlar/214000-kanal-konusmalari-kayit-logoku-kanal-nick-tarih.html)

Mylife 22 Mart 2025 14:16

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. Lütfen Üye Olmak için TIKLAYIN...]

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

Toprak 22 Mart 2025 14:21

Eline sağlık, yalnız aşırı büyük dosyalarda "while" baya bir kastıracaktır, onun yerine filter kullanabilirsin böylelikle sadece aradığın kısımları getirebilirsin.

//window @test | filter -f kanallog.txt @test * Mylife *

Chloe 22 Mart 2025 14:21

Emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...] :yildiz:

Nichts 22 Mart 2025 14:22

Eline sağlık @[Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...] , my rules. :))

Raina 22 Mart 2025 15:05

Emeğine sağlık

Leon 22 Mart 2025 15:22

Emeğine sağlık


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.

Copyright ©2019 - 2025 | IRCRehberi.Net