This module, joines the badnicks to #channels..
and.. Logging in Unreal3.2*
Code: Select all
#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"
#ifdef _WIN32
#include "version.h"
#endif
static Hook *Connick;
static int m_badnick(aClient *, aChannel *);
ModuleHeader MOD_HEADER(m_badnickname)
= {
"m_badnick",
"Badnick Korumasi (toXic)",
"badnick Security(toXic)",
"3.2-b8-1",
NULL
};
DLLFUNC int MOD_INIT(m_badnickname)(ModuleInfo *modinfo)
{
Connick = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_badnick);
return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_badnickname)(int module_load)
{
return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_badnickname)(int module_unload)
{
return MOD_SUCCESS;
}
static char *badlistesi[] = {
"sex",
"adult",
NULL
};
static int bad_listesi(char *nick)
{
char **blist;
for (blist=badlistesi; *blist; *blist++)
{
if (strstr(nick, *blist))
return 1;
}
return 0;
}
static int m_badnick(aClient *sptr, aChannel *chptr) {
char *kanal = "#sex,#cinsellik";
char *i[3], channels[512];
#define Kontrol "#Badnick"
#define aciklama1 "Kullanmis oldugunuz nick sakincalidir."
#define aciklama2 "Bu Nedenle, Cinsellik Kanalina ALİNİYORSUNZUZ"
#define aciklama3 "Diger Kanallara girmek icin, NİCKİNİZİ Uygun bir hale getiriniz."
if (bad_listesi(sptr->name)) {
if ((chptr = find_channel(Kontrol, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":Badnick PRIVMSG %s : Badnick Girisi tespit edildi. Nick: \2%s\2 Cinsellik Kanalina Alindi..", Kontrol, sptr->name);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama1);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama2);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama3);
/* Dosyaya yazdirma.. */
time_t irc_time;
struct tm tdate;
irc_time = time(NULL);
tdate = *localtime(&irc_time);
FILE * pFile;
pFile = fopen ("badlog.txt", "a");
fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d Nick: %s IP: %s \n", tdate.tm_mday, tdate.tm_mon + 1,
tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name, sptr->user->realhost);
fclose (pFile);
sendto_realops("BADNAME: %s nin nicki badnick olarak kaydedilmisti. Gereken yapildi.",
sptr->name);
strlcpy(channels, kanal, sizeof(channels));
i[0] = sptr->name;
i[1] = channels;
i[2] = NULL;
do_cmd(sptr, sptr, "JOIN", 2, i);
do_cmd(sptr, sptr, "PART", 1, i);
}
return 0;
}
This is turkish module..
The nicks there are,
Code: Select all
static char *badlistesi[] = {
"sex",
"adult",
NULL
};