IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Unreal IRCd (https://www.ircforumlari.net/unreal-ircd/)
-   -   m_privmsg hakkında (https://www.ircforumlari.net/unreal-ircd/336951-m_privmsg-hakkinda.html)

cashmare 29 Mayıs 2010 22:23

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 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 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.

Diablo 30 Mayıs 2010 21:18

Cevap: m_privmsg hakkında
 
/spamfilter add p tempshun 10m Mesajınız_engellenmiştir. ^YasaklanacakNick!

cashmare 30 Mayıs 2010 22:54

Cevap: m_privmsg hakkında
 
Alıntı:

Diablo Nickli Üyeden Alıntı (Mesaj 1040430367)
/spamfilter add p tempshun 10m Mesajınız_engellenmiştir. ^YasaklanacakNick!

olmadı diablo
benim demek istedigimi anlamadınız galiba
./yasakla nick yazdıgımda örnegin /yasakla diablo yazdıgımda
diablo niki özellere 10 dk boyunca yazamıycak.. ama kanallara yazabilcek

BehroozWolf 01 Haziran 2010 16:22

Cevap: m_privmsg hakkında
 
Alıntı:

cashmare Nickli Üyeden Alıntı (Mesaj 1040430424)
olmadı diablo
benim demek istedigimi anlamadınız galiba
./yasakla nick yazdıgımda örnegin /yasakla diablo yazdıgımda
diablo niki özellere 10 dk boyunca yazamıycak.. ama kanallara yazabilcek

Tempshun varken ayrı bir mödüle gerek olduğunu sanmiyorum. /yasakla yapana kadar diablo üstadımın verdiği şekildede engelliyebilirsiniz.

cashmare 01 Haziran 2010 20:48

Cevap: m_privmsg hakkında
 
Alıntı:

BehroozWolf Nickli Üyeden Alıntı (Mesaj 1040431807)
Tempshun varken ayrı bir mödüle gerek olduğunu sanmiyorum. /yasakla yapana kadar diablo üstadımın verdiği şekildede engelliyebilirsiniz.

behroozwolf bu tempshun unu biraz acarmısın..

toXic 16 Haziran 2010 18:43

Cevap: m_privmsg hakkında
 
Kod:


#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
#ifndef DYNAMIC_LINKING
ModuleHeader m_yasakla_Header
#else
#define m_yasakla_Header Mod_Header
ModuleHeader Mod_Header
#endif
  = {
        "Kullanici ozel yasaklama..",
        "yasak.c",
        "Kullanici ozel yasaklama..",
        "3.2-b8-1",
        NULL
    };
static long UMODE_YASAKLA = 0;
static Umode *Umodeyasakla = NULL;
static Hook *CheckMsg;
DLLFUNC char *yasakla_checkmsg(aClient *, aClient *, aClient *, char *, int);
DLLFUNC int MOD_INIT(m_yasakla)(ModuleInfo *modinfo)
{
  if (!Umodeyasakla)
        {
                config_error("m_yasakla: Could not add usermode 'Q': %s", ModuleGetErrorStr(modinfo->handle));
                return MOD_FAILED;
        }
        CheckMsg = HookAddPCharEx(modinfo->handle, HOOKTYPE_USERMSG, yasakla_checkmsg);

        ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);
        return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_yasakla)(int module_load)
{
        return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_yasakla)(int module_unload)
{
        return MOD_SUCCESS;
}
 

DLLFUNC char *yasakla_checkmsg(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice)
{

        if ((sptr->umodes & UMODE_YASAKLA) && !IsAnOper(sptr) && !IsULine(sptr) && !IsServer(sptr))
        {
                sendnotice(sptr, " '%s' Yasaklisiniz..", sptr->name);
                return NULL;
        } else
                return text;
}


privdeaf sistemindeki gibi Kullaniciya mode verip yasaklayabilirsiniz.

Diablo 16 Haziran 2010 19:27

Cevap: m_privmsg hakkında
 
kusura bakma ibrahim ama bu modul hiçbir işe yaramaz.nedeni ise modulde hiçbir mode olmadığından dolayı direk oper,services ve serverler hariç diğer clientlerin tüm özel mesajlarını kapatır ve mesaj gönderemezler.mode olsa bile arkadaşın istediği şekilde olmaz.

toXic 16 Haziran 2010 19:32

Cevap: m_privmsg hakkında
 
Ben şöyle düşündüm;

[KBSC] 22::25 *** aa mode değiştirdi:+Q
-ø-
[KBSC] 22::25 -irc.toXic.NET- 'aa' Yasaklisiniz..
-ø-
[KBSC] 22::25 *** aa mode değiştirdi:-Q
-ø-


+Q alinca kapaticak. Sadece Sadminlerin kullanilabilirliği bir mode olabilir diye düşündüm

ysfm 16 Haziran 2010 20:04

Cevap: m_privmsg hakkında
 
hmm module ile neden olmazmıs anlayamadım :S

Diablo 16 Haziran 2010 20:41

Cevap: m_privmsg hakkında
 
bence gösterişli olmanın bir anlamı yok spamfilter ile herşey halledilebilir.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 04:26.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk