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 Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Çözüldü kanalın sadece giriş/çıkış loglarını tutmak istiyorum (https://www.ircforumlari.net/mirc-scripting-sorunlari/1057579-kanalin-sadece-giris-cikis-loglarini-tutmak-istiyorum.html)

Giant 04 Nisan 2025 13:34

kanalın sadece giriş/çıkış loglarını tutmak istiyorum
 
merhaba arkadaşlar kanal logunda aradığım kelimeyi nicki ip'i anında bulamıyorum sadece giriş çıkış log kayıtı tutsun istiyorum.



[13:32] *** Giriş: Damla_ (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
)
[13:32] *** IRC`den Çıktı: gulcan36_ (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
) (Client exited)


not defterinde sadece bu şekil olmasını istiyorum biri ayar çekebilir mi

Mylife 04 Nisan 2025 16:33

Cevap: kanalın sadece giriş/çıkış loglarını tutmak istiyorum
 
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...],

İstediğinizi join eventi ve Quit eventi kullanarak write ile bir text dosyasına kayıt ettirebilirsiniz.

OperServ 04 Nisan 2025 21:55

Cevap: kanalın sadece giriş/çıkış loglarını tutmak istiyorum
 
Alıntı:

Giant Nickli Üyeden Alıntı (Mesaj 1043001009)
merhaba arkadaşlar kanal logunda aradığım kelimeyi nicki ip'i anında bulamıyorum sadece giriş çıkış log kayıtı tutsun istiyorum.



[13:32] *** Giriş: Damla_ (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
)
[13:32] *** IRC`den Çıktı: gulcan36_ (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
) (Client exited)


not defterinde sadece bu şekil olmasını istiyorum biri ayar çekebilir mi

Kod:

on *:JOIN:#: {
  write "kanal_log.txt" $+([,$time(dd.mm.yyyy hh:nn),]) *** Giriş: $nick ( $+ $iaddress($nick) $+ )
}


on *:QUIT: {
  write "kanal_log.txt" $+([,$time(dd.mm.yyyy hh:nn),]) *** IRC'den Çıktı: $nick ( $+ $iaddress($nick) $+ ) (Client exited)
}


CoCoRiCo 07 Nisan 2025 10:06

Cevap: kanalın sadece giriş/çıkış loglarını tutmak istiyorum
 
Alıntı:

OperServ Nickli Üyeden Alıntı (Mesaj 1043001252)
Kod:

on *:JOIN:#: {
  write "kanal_log.txt" $+([,$time(dd.mm.yyyy hh:nn),]) *** Giriş: $nick ( $+ $iaddress($nick) $+ )
}


on *:QUIT: {
  write "kanal_log.txt" $+([,$time(dd.mm.yyyy hh:nn),]) *** IRC'den Çıktı: $nick ( $+ $iaddress($nick) $+ ) (Client exited)
}



"kanal_log.txt" bu kısmı aşağıdaki gibi yapmakta fayda var, log çok fazla büyüdüğünde, yazma ve okuma mIRC'in çalışmasını yavaşlatır.



Kod:

$qt($+(kanal_log_,$date(yyyy_mm_dd),.txt))

"kanal_log_2025_04_07.txt" gibi görünür.

OperServ 07 Nisan 2025 18:42

Cevap: kanalın sadece giriş/çıkış loglarını tutmak istiyorum
 
Alıntı:

CoCoRiCo Nickli Üyeden Alıntı (Mesaj 1043002644)
"kanal_log.txt" bu kısmı aşağıdaki gibi yapmakta fayda var, log çok fazla büyüdüğünde, yazma ve okuma mIRC'in çalışmasını yavaşlatır.



Kod:

$qt($+(kanal_log_,$date(yyyy_mm_dd),.txt))

"kanal_log_2025_04_07.txt" gibi görünür.

Evet hocam orasını düşünmemiştim

Coderlab 12 Nisan 2025 18:51

Cevap: kanalın sadece giriş/çıkış loglarını tutmak istiyorum
 
Istersen modul olarak yapalim.

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 18:51 -->-> Daha önceki mesaj 18:42 --

Kod:

#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "msg.h"
#include "proto.h"
#include "numeric.h"
#include "modules.h"
#include <time.h>

ModuleHeader MOD_HEADER(m_chanlog_joinpart) = {
    "m_chanlog_joinpart",
    "$Id$",
    "Sadece JOIN/PART loglar, günlük dosyaya yazar",
    "Coderlab",
    "3.2-b8-1",
    NULL
};

// Dosya yolu oluşturur: logs/kanal/gun-ay-yil.log
const char *log_dosyasi_yolu() {
    static char path[256];
    time_t now = time(NULL);
    struct tm *tm_info = localtime(&now);
    snprintf(path, sizeof(path), "logs/kanal/%02d-%02d-%04d.log",
        tm_info->tm_mday, tm_info->tm_mon + 1, tm_info->tm_year + 1900);
    return path;
}

// Log yaz
void log_yaz(const char *format, ...) {
    const char *filename = log_dosyasi_yolu();

    FILE *fp = fopen(filename, "a");
    if (!fp) {
        mkdir("logs/kanal", 0755); // klasör yoksa oluştur
        fp = fopen(filename, "a");
        if (!fp) return;
    }

    va_list args;
    va_start(args, format);
    vfprintf(fp, format, args);
    va_end(args);

    fprintf(fp, "\n");
    fclose(fp);
}

// JOIN log
int log_join(aClient *cptr, aClient *sptr, aChannel *chptr) {
    if (MyClient(sptr)) {
        log_yaz("[JOIN] %s joined %s", sptr->name, chptr->chname);
    }
    return 0;
}

// PART log
int log_part(aClient *cptr, aClient *sptr, aChannel *chptr, const char *comment) {
    if (MyClient(sptr)) {
        log_yaz("[PART] %s left %s (%s)", sptr->name, chptr->chname, comment ? comment : "");
    }
    return 0;
}

MOD_INIT(m_chanlog_joinpart) {
    add_JoinHook(log_join);
    add_PartHook(log_part);
    return MOD_SUCCESS;
}



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

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