Paylaşımın Ve Sohbetin Tek Adresine HoşGeldin, Ziyaretçi!

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

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

  • Konbuyu başlatan Eqe
  • Başlangıç tarihi
  • Okuma süresi: 1:54

Eqe

/*
* ==================================================================
* 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.
 
Katılım
13 Haz 2017
Mesajlar
502
Tepkime puanı
1,622
Puanları
93
Cinsiyet
Erkek

İtibar Puanı:

Script editörünün içine mi atıyorsun ? onu da yazsaydın..
 
Tüm sayfalar yüklendi.

Konuyu Görüntüleyen Kullanıcılar (Toplam:0)