Şimdi chanprivtime'den kodladim çok zor değil gençler.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#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 STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
aChannel *chptr;
#define MSG_knowledges "knowledges"
#define TOK_knowledges "BL"
char *text;
DLLFUNC char *m_privtime(aClient *, aClient *, aClient *, char *, int);
DLLFUNC int m_knowledges(aClient *sptr);
#define acikla1 "Yasakli kelime Kullandiginiz icin karantina kanalina alindiniz."
#define acikla2 "Bu nedenlede shunlandiniz."
#define acikla3 "Shununuzu actirmak icin
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
adresini ekleyip sorununuzu soyleyiniz."
#define modulismi "m_blocker"
#define aciklama "Forbiddin text (toXic)"
#define aciklama2 "Forbiddin text (toXic)"
#define version "3.2-b8-1"
ModuleHeader MOD_HEADER(m_privtime)
= {
modulismi,
aciklama,
aciklama2,
version,
NULL
};
DLLFUNC int MOD_INIT(m_privtime)(ModuleInfo *modinfo)
{
HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_privtime);
add_Command(MSG_knowledges, TOK_knowledges, m_knowledges, 1);
return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_privtime)(int module_load)
{
return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_privtime)(int module_unload)
{
return MOD_SUCCESS;
}
DLLFUNC int m_knowledges(aClient *sptr)
{
sendto_one(sptr, ":%s PRIVMSG %s :Kanala Yasaklanmis Kelimeleri yazamazsiniz.. ", me.name, sptr->name);
sendto_one(sptr, ":%s PRIVMSG %s :Yazdiginiz Takdirde #Control Kanalina alinirsiniz.", me.name, sptr->name);
sendto_one(sptr, ":%s PRIVMSG %s :\2 Hos Sohbetler..", me.name, sptr->name);
}
static char *blocklistesi[] = {
"
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
NULL
};
static int block_listesi(char *text)
{
char **blist;
for (blist=blocklistesi; *blist; *blist++)
{
if (strstr(text, *blist))
return 1;
}
return 0;
}
DLLFUNC char *m_privtime(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice)
{
if(!IsARegNick(sptr) && !IsULine(acptr) && !IsServer(sptr) && !IsOper(sptr))
{
if (block_listesi(text)) {
sendto_one(sptr, ":Blocker NOTICE %s :%s", sptr->name, acikla1);
sendto_one(sptr, ":Blocker NOTICE %s :%s", sptr->name, acikla2);
sendto_one(sptr, ":Blocker NOTICE %s :%s", sptr->name, acikla3);
time_t irc_time;
struct tm tdate;
irc_time = time(NULL);
tdate = *localtime(&irc_time);
FILE * pFile;
pFile = fopen ("block.txt", "a");
fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d Nick: %s Yazi %s IP: %s \n",
tdate.tm_mday, tdate.tm_mon + 1,
tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name, text, sptr->user->realhost);
fclose (pFile);
//return place_host_ban(sptr, BAN_ACT_SHUN, "reason", 600);
char *kanal = "#Control";
char *k[3], channels[512];
strlcpy(channels, kanal, sizeof(channels));
k[0] = sptr->name;
k[1] = channels;
k[2] = NULL;
do_cmd(sptr, sptr, "JOIN", 2, k);
return NULL;
} else
return text;
}
}
buradan ekleme yapabilirsiniz yukardaki gibi. Kanalda yazilan yazida
org com geçiyorsa kanala alir.
basindaki // leri kaldirin.
Yasakli kelimeleri Unreal3.2 klasorunde block.txt ye yazar.