m_privmsg hakkında
S.a arkadaşlar.. kanalda kayıtsız nikleri konuşmasını 60 sn yasaklamak için bi modul var
#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 Monitor "#Giris"
#define MSG_bilgiler "bilgiler"
#define TOK_bilgiler "BL"
DLLFUNC char *m_privtime(aClient *, aClient *, aClient *, char *, int);
DLLFUNC int m_bilgiler(aClient *sptr);
ModuleHeader MOD_HEADER(m_privtime)
= {
"m_chanprivtime",
"(Ecelmeric'in privtime Modulu Üzerinden Kodlanmıstır)",
"Kayitsiz nickleri Kanalda 60 Saniye Bekletme",
"3.2-b8-1",
NULL
};
DLLFUNC int MOD_INIT(m_privtime)(ModuleInfo *modinfo)
{
HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_privtime);
add_Command(MSG_bilgiler, TOK_bilgiler, m_bilgiler, 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_bilgiler(aClient *sptr)
{
if ((chptr = find_channel(Monitor, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s Nick-> \2%s\2 /bilgiler istemi.", Monitor, sptr->name);
sendto_one(sptr, ":bilgiler PRIVMSG %s Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. u koruma sunucumuzun reklam botlarina karsi bir onlemidir.", sptr->name);
sendto_one(sptr, ":bilgiler PRIVMSG %s :60 saniyeni doldurmadan yazdiginiz mesaj karsi tarafa ulasmaz.", sptr->name);
sendto_one(sptr, ":bilgiler PRIVMSG %s Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. u korumadan muaf olabilmeniz icin nickinizi kayit etmeniz gerekmektedir. Kayit icin;\2 /ns register <sifre> <mail> \2komutunu kullaniniz.", sptr->name);
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) && (sptr->firsttime + 60 > TStime()))
{
if ((chptr = find_channel(Monitor, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s 4 # 1Nick-> \2%s\2 Nick-> \2%s\2 1Mesaj-> ( %s ) 1Kalan Suresi-> \2%d\2", Monitor, sptr->name, acptr->name, text, 60 - (TStime() - sptr->firsttime));
sendto_one(sptr, ":%s 404 %s %s ", me.name, acptr->name, acptr->name, 60 - (TStime() - sptr->firsttime));
return NULL;
} else
return text;
}
bu modüle /yasakla nick diye birşey yapabilirmiyiz..
yani demek istedigim.. /yasakla nick komutu uygulandıgında.. nick 10 dakika özelde yazamasın.. ama sadece özelde. kanal geneline yazabilsin.
böyle birşey yapılabilirmi bu modulden yola cıkarak teşekkürler. |