Kanal ve Özel Loglama Modülü m_loggit.c

  • Konbuyu başlatan Eqe
  • Başlangıç tarihi
E

Eqe

Guest
/*
* ==================================================================
* Filename: m_loggit.c
* Description: Real-time Logging
* Written by: MartinCo
* ==================================================================
*/

#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include
#include
#include
#include
#include
#include
#include "h.h"
// ==================================================================
// Definitions & macros
// ================================
#define MyMod LoggitModInfo->handle
#define DelHook(x) if (x) HookDel(x); x = NULL
DLLFUNC char *loggit_privmsg(aClient *, aClient *, aClient *, char *, int);
DLLFUNC char *loggit_chanmsg(aClient *, aClient *, aChannel *, char *, int);
// ==================================================================
// Module header
// ==================================================================
ModuleHeader MOD_HEADER(m_loggit)
= {
"Loggit",
"$Id: m_loggit.c,v 3.6 2007 MartinCo Exp $",
"Loggit",
"3.2-b8-1",
NULL
};
ModuleInfo *LoggitModInfo;
static Hook *HookPrivMsg;
static Hook *HookChanMsg;
static FILE *fp;
DLLFUNC int MOD_INIT(m_loggit)(ModuleInfo *modinfo)
{
int ret = MOD_SUCCESS;
LoggitModInfo = modinfo;
HookPrivMsg = HookAddPCharEx(MyMod, HOOKTYPE_USERMSG, loggit_privmsg);
HookChanMsg = HookAddPCharEx(MyMod, HOOKTYPE_CHANMSG, loggit_chanmsg);
return ret;
}
DLLFUNC int MOD_LOAD(m_loggit)(int module_load)
{
return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_loggit)(int module_unload)
{
DelHook(HookChanMsg);
DelHook(HookPrivMsg);
return MOD_SUCCESS;
}
// ==================================================================
// Functions for nicknames, channel names and prefixes
// ==================================================================
DLLFUNC char *loggit_privmsg(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice)
{
time_t calender_time;
struct tm tdate;
calender_time = time(NULL);
tdate = *localtime(&calender_time);
FILE * pFile;
pFile = fopen ("privmsg.log", "a");
fprintf (pFile, "%02d-%02d-%02d %02d:%02d [%s > %s] %s\n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, cptr->name, acptr->name, text);
fclose (pFile);
return text;
}
DLLFUNC char *loggit_chanmsg(aClient *cptr, aClient *sptr, aChannel *chptr, char *text, int notice)
{
time_t calender_time;
struct tm tdate;
calender_time = time(NULL);
tdate = *localtime(&calender_time);
FILE * pFile;
pFile = fopen ("chanmsg.log", "a");
fprintf (pFile, "%02d-%02d-%02d %02d:%02d [%s] [%s] %s\n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, chptr->chname, cptr->name, text);
fclose (pFile);
return text;
}

Bu module sayesinde kanal ve özel konuşmalarını ( siz online olmasanız bile ) kaydedebilecek ve inceleyebileceksiniz. Sistem, özel konuşmaları Unreal klasörü içerisine privmsg.log olarak, kanal konuşmalarını ise yine aynı klasöre chanmsg.log olarak kaydediyor. İstediğiniz değişiklikleri yapıp kullanmak da mümkün.
 

Lucius

New member
Kullanıcı
Katılım
13 Haz 2017
Mesajlar
502
Tepkime puanı
1,299
Puanları
0
Cinsiyet
Erkek
Script editörünün içine mi atıyorsun ? onu da yazsaydın..
 
Üst
Alt