Neler yeni

IRCForumları - IRC ve mIRC Yardım ve Destek Platformu - İRCforumlari

Duyuru; 📢

Forumda 'Tanıtım Yazısı' şeklinde Sitelerinizin Tanıtımını Yaparak sitenizi yükselte bilirsiniz.İRCForumları Ailesi İyi Forumlar Diler.!

PM Kuralları; 📢

Forumunda yer alan bir konuya istineden kesinlikle (özel mesaj) yolu ile destek talep etmeyiniz, zira bu tip alınan mesajlar kesinlikle cevapsız kalacaktır. İlgili konuya istinaden forumda destek konusu oluşturunuz.

İçerik hk; 📢

Sizde bilgi deneyim sahibi olduğunuz konu ve alanları forumda kolayca paylaşarak daha geniş kitlelere ulaşmasını sağlayabilir, oluşturduğunuz ticari konular sayesinde kazanç elde edebilirsiniz.

Sosyal Medya Paketleri sohbet sohbet Reklam Reklam Reklam Sohbet Zamanı Reklam Reklam

Badnick Join Module v2

Root

Forum Sahibi
Yönetici
1 Şub 2022
1,295
217
63
www.ircforumlar.com
Eklediğiniz badnickleri, sunucuya girişte (kullanici henüz kanala girmeden) işleme sokar ve badnickleri yalnizca belirlenen cinsel kanallara sokar. Bunun dişinda hiç bir kanala sokmaz.
Badnicklere bununla ilgili bir bilgi yazisi gönderilerek, /NickDegis komutu ile diğer kanallara girebileceği söylenir.
Badnick, /NickDegis komutunu kullaninca (otomatikmen) cinsellik kanallarindan cikartilip, (partall) nicki değiştirilerek (otomatikmen) belirlenen global kanallara sokulur..

/NickDegis komutu ile otomatik verilecek nickguess;

Kod: Kodu kopyalamak için üzerine çift tıklayın!
snprintf(guestnick, NICKLEN, "misafirb%d", getrandom32());

misafirb 'yi istediğiniz şekilde değiştirebilirsiniz. Misafirb olarak belirlenmesinin amaci, badnickten dönme bir nick olduğunun anlaşilmasidir.
Kişinin alacaği nick misafirb32329329 gibi nickler olacaktir.


Badnick girişlerinin yansitilacaği kanal;

Alıntı:
//Log kanali
#define kontrol "#botkontrol"

Mesajlari gönderecek NICK;

Alıntı:
//Mesaj gonderen nick
#define Mesajci "toXic.NET"

Mesajin gönderim şekli; (PRIVMSG/NOTICE)


Alıntı:
//Mesaj gonderim sekli.
#define gonderimsekli "NOTICE"

Kullanicilarin gireceği cinsel kanallar;

Alıntı:
//Alinacak kanallar
char *kanal = "#***,#cinsellik";
char *i[3], channels[512];

Kullanicilarin /NickDegis komutu ile girebilecekleri kanallar;


Alıntı:
//Global Kanallar
char *kanals = "#toXic,#Sohbet";
char *tox[3], channels[512];

Kullanicilarin Girmesine izin verilen kanallar;

Alıntı:
if (stricmp(chptr->chname,"#Cinsellik")) {
if (stricmp(chptr->chname,"#***")) {

Badnickleri aşşağidaki örnekte olduğu gibi ekleyebilirsiniz..

Alıntı:
static char *badlistesi[] = {
"Badnick1",
"Badnick2",
"badnick3",
"badnick4",
NULL
};

Eklemelerinizde size kolaylik sağlanmasi acisindan "badnick"; olarak eklediğiniz takdirde salaslbadnicksdas gibi icinde badnick geçen her nickte modul faaliyet gösterecektir.

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 _WIN32

#include "version.h"

#endif



#define MSG_BADNICK      "BADNICK"

#define TOK_BADNICK      "BN"

#define MSG_nickdegis "nickdegis"

#define TOK_nickdegis  "ND"

 

static Hook *Connick;

static int m_badnick(aClient *, aChannel *);

static int m_nojoin(aClient *, aChannel *);

DLLFUNC int m_nickdegis(aClient *sptr, char *parv[]);





 aChannel *chptr;

char *xparv[3], chbuf[CHANNELLEN + 16], buf[2048]="0\0";







//Log kanali

#define kontrol "#botkontrol"



//Mesaj gonderen nick

#define Mesajci "toXic.NET"



//Mesaj gonderim sekli.

#define gonderimsekli "NOTICE"



//Alinacak kanallar

char *kanal = "#***,#cinsellik";

char *i[3], channels[512];



//Global Kanallar

char *kanals = "#toXic,#Sohbet";

char *tox[3], channels[512];

 

//bilgi

#define aciklama1 "Kullanmis oldugunuz nick sakincalidir."

#define aciklama2 "Bu Nedenle, Cinsellik Kanallarina aktariliyorsunuz."

#define aciklama3 "Baska kanallara girmek icin, \2/Nick Yeninick\2 Komutu ile degistirebilirsiniz."





ModuleHeader MOD_HEADER(m_badnickname)

= {

"m_badnick",

"Badnick koruma (toXic)",

"badnickJoin Modulu v2 (toXic",

"3.2-b8-1",

NULL

};



 

DLLFUNC int MOD_INIT(m_badnickname)(ModuleInfo *modinfo)

{

Connick = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_badnick);

HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, m_nojoin);

 add_Command(MSG_nickdegis, TOK_nickdegis, m_nickdegis, 1);

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[] = {

"Badnick1",

"Badnick2",

"badnick3",

"badnick4",

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) {

if (bad_listesi(sptr->name)) {

if ((chptr = find_channel(kontrol, NullChn)) != NullChn)

sendto_channel_butone(&me, &me, chptr, ":Badnick  PRIVMSG %s :  Badnick Girisi %s kanallara aktarildi.", kontrol, sptr->name);









sendto_one(sptr, ":%s %s %s %s" , Mesajci, gonderimsekli, sptr->name, aciklama1);

sendto_one(sptr, ":%s %s %s %s" , Mesajci, gonderimsekli, sptr->name, aciklama2);

sendto_one(sptr, ":%s %s %s %s" , Mesajci, gonderimsekli, sptr->name, aciklama3);

strlcpy(channels, kanal, sizeof(channels));

i[0] = sptr->name;

i[1]  = channels;

i[2] = NULL;

 do_cmd(sptr, sptr, "JOIN", 2, i);

return 0;

}

}







static int m_nojoin(aClient *sptr, aChannel *chptr) {

aClient *acptr;



if (bad_listesi(sptr->name)) {



if (stricmp(chptr->chname,"#Cinsellik")) {

if (stricmp(chptr->chname,"#***")) {



sendto_one(sptr, ":%s %s %s Kontrol ediliyorsunuz..", Mesajci, gonderimsekli, sptr->name);

sendto_one(sptr, ":%s %s %s Baska kanallara giremezsiniz. ", Mesajci, gonderimsekli,  sptr->name);

sendto_one(sptr, ":%s %s %s Eger girmek istiyorsaniz lutfen nickinizi degistiriniz.",  Mesajci, gonderimsekli,  sptr->name);

sendto_one(sptr, ":%s %s %s Aksi takdirde, \2/NickDegis\2 komutunu kullanarak \2otomatikmen\2 nickinizi degistirebilirsiniz.",

 Mesajci, gonderimsekli, sptr->name);

sendto_one(sptr, ":%s %s %s Bu komutu kullandiktan sonra otomatikmen \2 kanallara aktarililacaksiniz.", Mesajci, gonderimsekli,  sptr->name);

return HOOK_DENY;

}

}

}

}







DLLFUNC int m_nickdegis(aClient *sptr, char *parv[]) {

if (bad_listesi(sptr->name)) {

//sendto_channel_butone(&me, &me, chptr, ":Badnick  PRIVMSG %s :\2%s\2 Kullanicisi nickini degisip kanallara aktarildi.", kontrol);

sendto_one(sptr, ":%s %s %s Nickiniz degistiriliyor.", Mesajci, gonderimsekli, sptr->name);

char guestnick[NICKLEN];

char *ibo[3];

snprintf(guestnick, NICKLEN, "misafirb%d", getrandom32());



ibo[0] = sptr->name;

ibo[1] = guestnick;

ibo[2] = NULL;



do_cmd(sptr, sptr, "NICK", 2, ibo);

sendto_one(sptr, ":%s %s %s Nickiniz  \2%s\2 olarak degistirilmistir.", Mesajci, gonderimsekli, sptr->name, sptr->name);



aClient *cptr;



if( !MyConnect(sptr) )

        {

                sendto_serv_butone(cptr, ":%s  ND %s", sptr->name, parv[1], parv[2]);

                return 0;

        }



xparv[0] = sptr->name;

        xparv[1] = buf;

        xparv[2] = NULL;

int toxic;

        toxic = do_cmd(sptr, sptr, "JOIN", 2, xparv);





strlcpy(channels, kanals, sizeof(channels));

tox[0] = sptr->name;

tox[1]  = channels;

tox[2] = NULL;

 do_cmd(sptr, sptr, "JOIN", 2, tox);



} else {

sendto_one(sptr, ":%s %s %s Bu komutu yalnizca cinsel kullanicilar kullanabilir.", Mesajci, gonderimsekli, sptr->name);

}

}
 

Benzer konular

shape1
shape2
shape3
shape4
shape7
shape8
Üst