Chat Sohbet Bursa Chat

Reklam Alani.
IRC Logger.
85 views kere okundu.

Tüm İrc Sunucularında Bulunması Gerekli Olan bir eklenti. bilisim uzmanlarının bu konuya destek vermesi ve yasal yollar ile her sohbet sunucusunda mutlaka gerekli bir eklenti.

IRC Üzerinde, chanmsg.log connects.log joins.log parts.log
gibi işlemlerin logunu tutup, Unreal3.2*/logs klasorunde saklar.

1. IRC Üzerinde Tüm Kanal Mesajlarinin Logunu tarih, Kullanici IP ve NICK ile beraber logunu tutar.

2. Sunucu Girişlerinin IP, NICK ve Tarih alarak logunu tutar.

3. Tüm Kanala girişlerin logunu yine aynı sekilde tutar.

4. Tüm Kanala cıkısların logunu yine aynı sekilde tutar.

Kayitlar, Unreal klasörünün icinde, log klasörü icerisindedir.

Kod:
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
DLLFUNC CMD_FUNC(m_part);
#define MSG_PART  "PART"
#define TOK_PART  "D"

aChannel *chptr;
DLLFUNC int m_joinlog(aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_quit(aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_connect(aClient *sptr, int parc, char *parv[]);
DLLFUNC char *m_chanlog(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice, char *parv[]);

ModuleHeader MOD_HEADER(m_logger)
= {
    "m_logger",
    "Sunucudaki ACTIONLARi Loglar.",
    "Sunucudaki ACTIONLARI Loglar. (toXic",
    "3.2-b8-1",
    NULL
};
DLLFUNC int MOD_INIT(m_logger)(ModuleInfo *modinfo)
{
    HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, m_joinlog);
    CommandAdd(modinfo->handle, MSG_PART, TOK_PART, m_part, 2, M_USER);
    HookAddEx(modinfo->handle, HOOKTYPE_SERVER_QUIT, m_quit);
    HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_connect);
    HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_chanlog);
    MARK_AS_OFFICIAL_MODULE(modinfo);
    return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_logger)(int module_load)
{
    return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_logger)(int module_unload)
{
    return MOD_SUCCESS;
}
DLLFUNC int m_joinlog(aClient *sptr, int parc, char *parv[])
{
 time_t irctime;
 struct tm tdate;
 irctime = time(NULL);
 tdate = *localtime(&irctime);
 FILE * pFile;
 pFile = fopen ("logs/joins.log", "a");
 fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d IP: %s Nick: %s Join Kanal: %s \n", tdate.tm_mday, tdate.tm_mon + 1,
        tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->user->realhost, sptr->name, parv[1]);
 fclose (pFile);
return 0;
}

DLLFUNC CMD_FUNC(m_part)
{
 aChannel *chptr;
 time_t irctime;
 struct tm tdate;
 irctime = time(NULL);
 tdate = *localtime(&irctime);
 FILE * pFile;
 pFile = fopen ("logs/parts.log", "a");
 fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d IP: %s Nick: %s Part Kanal: %s \n", tdate.tm_mday, tdate.tm_mon + 1,
        tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->user->realhost, sptr->name, parv[1]);
 fclose (pFile);
return 0;
}
DLLFUNC int m_connect(aClient *sptr, int parc, char *parv[])
{
 time_t irctime;
 struct tm tdate;
 irctime = time(NULL);
 tdate = *localtime(&irctime);
 FILE * pFile;
 pFile = fopen ("logs/connects.log", "a");
 fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d IP: %s Nick: %s Kanal: %s \n", tdate.tm_mday, tdate.tm_mon + 1,
        tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->user->realhost, sptr->name);
 fclose (pFile);
return 0;
}
DLLFUNC int m_quit(aClient *sptr, int parc, char *parv[])
{
 time_t irctime;
 struct tm tdate;
 irctime = time(NULL);
 tdate = *localtime(&irctime);
 FILE * pFile;
 pFile = fopen ("logs/quits.log", "a");
 fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d IP: %s Nick: %s  \n", tdate.tm_mday, tdate.tm_mon + 1,
        tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->user->realhost, sptr->name);
 fclose (pFile);
return 0;
}

DLLFUNC char *m_chanlog(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice, char *parv[])
{
 time_t irc_time;
                 struct tm tdate;
                 irc_time = time(NULL);
                 tdate = *localtime(&irc_time);
                 FILE * pFile;
                 pFile = fopen ("logs/chanmsg.log", "a");
                 fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d Nick: %s  IP: %s Kanal %s Text: %s\n", tdate.tm_mday, tdate.tm_mon + 1,
                 tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name,  sptr->user->realhost,  text);
                 fclose (pFile);
}

Report an Error Şikayet Et!

Anahtar Kelimeler:

> >

Yazı grineX Tarafından 20.Eyl.2010 / 11:28 Tarihinde Eklendi. Yazara Ait Toplam 1093 Yazı Bulunuyor.
Kategori : UnrealIRCD


sohbet