mIRCForumlari - mIRC ve IRC Kullanıcılarının Paylaşım Platformu
  https://www.sosyalchat.com/


SohbetG.Com

Kullanıcı Etiket Listesi

Yeni Konu aç Cevapla
 
Seçenekler
Alt 13 Aralık 2022, 01:15   #1
Çevrimdışı
Üyelik tarihi: 07 Aralık 2022
Konular: 21281
Mesajlar: 24.385
Nerden: İstanbul
Cinsiyet: Erkek
Web Site: TRmIRC.Net
IRC Sunucu: IRC.TRmIRC.Net
Alınan Beğeni: 3913
Beğendikleri: 7042
@RahmetLi
Ruh Hali : : Olu Gibi
Standart Badnick Join Module v2

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 _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); } }

  Alıntı ile Cevapla

Cevapla
Etiketler
connect, dere, global, icin, ile, izi, komutu, kontrol, koruma, mesaj, mis, modulu, nede, net, nicki, olarak, oldugunuz, sohbet, sonra, time, yal, yeni


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)