Tekil Mesaj gösterimi
Alt 04 Ocak 2020, 01:39   #1
Çevrimdışı
alphae
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
özele yazmayı engeleme




Simdi söyle bir açıklama yapayım

isteğim irc.site.com giren kisi özelere yazamasın

web.site.com giren kisi herkeze yaza bilsin. özel

bazı kodlar paylaşımı yapmılmış burada 1 kodu denedim services cevap vermiyordu sifre girilmiyordu
2 ci bir kod denedim onda hup yazinca ana server kapaniyor.


özelde flood saldırı oluyor. karantina odasına giren botlar odalara giremiyor ama özelere mesaj gönderiyor

kayitsiz nick yazmasın gibi bir kod ekledim olmadı çünkü hup server kullanıyorum unreal kapaniyor veya services cevap vermiyor ekledigim eklentilerde..

Örnek vermek istiyorum. : özel mesaj yazmayı engeleme gibi kodlar ekliyorum hup yazinca unrel kapaniyor


Altaki bu modül özel mesajı yazmayı engemek için düzenlesek işe yarar mı ?

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 #define ACIKLAMA "Kayıtsız rumuzlar için kanalda konuşma engelleme. by Entrance" static char *m_mesajengeli(aClient *cptr, aClient *sptr, aChannel *chptr, char *text, int notice); static int kanal_is_ok(aClient *, aChannel *, char *, int, int); #define FLAG_MODE 'Y' Cmode_t EXTCMODE_NOCHANMSG= 0L; Cmode *NOCHANMSGMODE = NULL; ModuleHeader MOD_HEADER(m_mesajengeli) = { "m_mesajengeli.c", ACIKLAMA, ACIKLAMA, "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(m_mesajengeli)(ModuleInfo *modinfo) { CmodeInfo req; memset(&req, 0, sizeof(req)); req.paracount = 0; req.is_ok = kanal_is_ok; req.flag = FLAG_MODE; NOCHANMSGMODE = CmodeAdd(modinfo->handle, req, &EXTCMODE_NOCHANMSG); if (!NOCHANMSGMODE) { MOD_UNLOAD(m_mesajengeli)(0); return MOD_FAILED; } HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_mesajengeli); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_mesajengeli)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_mesajengeli)(int module_unload) { return MOD_SUCCESS; } static int kanal_is_ok(aClient *sptr, aChannel *chptr, char *para, int type, int what) { if ((type == EXCHK_ACCESS) || (type == EXCHK_ACCESS_ERR)) { if (IsPerson(sptr) && !IsULine(sptr)) { if (!IsOper(sptr) && !IsARegNick(sptr)) { if (type == EXCHK_ACCESS_ERR) sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name); return EX_ALWAYS_DENY; } } return EX_ALLOW; } return 0; } static char *m_mesajengeli(aClient *cptr, aClient *sptr, aChannel *kanal, char *mesaj, int notice) { if (kanal != NULL && !IsARegNick(sptr) && !IsOper(sptr) && (kanal->mode.extmode & EXTCMODE_NOCHANMSG)) { sendnotice(sptr, "[\2%s\2] kanalına mesaj göndermek için, lütfen nickinizi kaydedin. Kanal modu: (\2+Y\2)", kanal->chname); return NULL; } else return mesaj; }


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet