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.
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);
}
Anahtar Kelimeler:
IRC Logger > IRC Logger kurma > IRC Logger kurulumuYorum yapın
Kategori : UnrealIRCD
Şikayet Et!

