- Katılım
- 4 Şub 2020
- Mesajlar
- 395
- Tepkime puanı
- 142
- Puanları
- 43
- Konum
- ircland
- Web sitesi
- www.ircalem.net
Modül adı: loggit.c
Amacı: Kanal, özel, nick degişim vb işlemlerini hafızaya loglama.
NOT: Unreal3.2-* dosyası içerisine oluşturduğu dosyalardan takip edebilirsiniz.
Amacı: Kanal, özel, nick degişim vb işlemlerini hafızaya loglama.
NOT: Unreal3.2-* dosyası içerisine oluşturduğu dosyalardan takip edebilirsiniz.
Kod:
/*
Bu modül 28.09.2014 tarihi üzerine Entrance, tarafından düzenlenmiş olup ->
(Nick değişimlerini, girişleri, çıkışları log tutması için düzenlenmiştir..)
*/
#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>
#include <fcntl.h>
#include "h.h"
#define MyMod LoggitModInfo->handle
#define DelHook(x) if (x) HookDel(x); x = NULL
#define MSG_KOMUTLAR "NICKLER"
#define TOK_KOMUTLAR '\0'
#define BOYUT 1024
DLLFUNC char *loggit_cikis(aClient *sptr, int parc, char *parv[]);
DLLFUNC char *loggit_giris(aClient *sptr, int parc, char *parv[]);
DLLFUNC char *loggit_nick(aClient *, char *);
DLLFUNC char *loggit_privmsg(aClient *, aClient *, aClient *, char *, int);
DLLFUNC char *loggit_chanmsg(aClient *, aClient *, aChannel *, char *, int);
DLLFUNC int DosyadanOku(FILE *, aClient *);
// ==================================================================
// 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, *HookChanMsg, *HookNick;
static Hook *HookGiris, *HookCikis;
static FILE *fp;
DLLFUNC int MOD_INIT(m_loggit)(ModuleInfo *modinfo)
{
int ret = MOD_SUCCESS;
LoggitModInfo = modinfo;
add_Command(MSG_KOMUTLAR, TOK_KOMUTLAR, DosyadanOku, 1);
HookPrivMsg = HookAddPCharEx(MyMod, HOOKTYPE_USERMSG, loggit_privmsg);
HookChanMsg = HookAddPCharEx(MyMod, HOOKTYPE_CHANMSG, loggit_chanmsg);
HookNick = HookAddPCharEx(MyMod, HOOKTYPE_LOCAL_NICKCHANGE, loggit_nick);
HookGiris = HookAddPCharEx(MyMod, HOOKTYPE_LOCAL_CONNECT, loggit_giris);
HookCikis = HookAddPCharEx(MyMod, HOOKTYPE_LOCAL_QUIT, loggit_cikis);
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;
}
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 ("ozel.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 ("kanal.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;
}
DLLFUNC char *loggit_nick(aClient *sptr, char *n)
{
time_t calender_time;
struct tm tdate;
calender_time = time(NULL);
tdate = *localtime(&calender_time);
FILE * pFile;
pFile = fopen ("nick.log", "a");
fprintf (pFile, "Tarih: -> %02d-%02d-%02d Saat: -> %02d:%02d Nick: -> (%s) Yeninick: -> (%s) \n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name, n);
fclose (pFile);
return 0;
}
DLLFUNC char *loggit_giris(aClient *sptr, int parc, char *parv[])
{
time_t calender_time;
struct tm tdate;
calender_time = time(NULL);
tdate = *localtime(&calender_time);
FILE * pFile;
pFile = fopen ("giris.log", "a");
fprintf (pFile, "Tarih: -> %02d-%02d-%02d Saat: -> %02d:%02d Nick: -> (%s) Identd: -> (%s) IP: -> (%s) Fullname: -> (%s) \n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name, sptr->user->username, sptr->user->realhost, sptr->info);
fclose (pFile);
return 0;
}
DLLFUNC char *loggit_cikis(aClient *sptr, int parc, char *parv[])
{
time_t calender_time;
struct tm tdate;
calender_time = time(NULL);
tdate = *localtime(&calender_time);
FILE * pFile;
pFile = fopen ("cikis.log", "a");
fprintf (pFile, "Tarih: -> %02d-%02d-%02d Saat: -> %02d:%02d Nick: -> (%s) Identd: -> (%s) IP: -> (%s) Fullname: -> (%s) \n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name, sptr->user->username, sptr->user->realhost, sptr->info);
fclose (pFile);
return 0;
}
DLLFUNC int DosyadanOku(FILE *p, aClient *nick){
char ent[BOYUT];
if(!IsOper(nick)){
sendto_one(nick, ":UYARI PRIVMSG %s :%s", nick->name, "Bu komutu kullanmaya yetkiniz yok!");
return 0;
}
if ((p = fopen("nick.log","r")) != NULL){
while (fgets(ent, BOYUT, p)) {
sendto_one(nick, ":NICKLOG PRIVMSG %s :%s", nick->name, ent);
}
}
fclose(p);
return 0;
}