Selam arkadaşlar /ircops ve /helpers modullerinden esinlenerek birşeyler yapmaya çalıştım basit yollu oldu isteyen arkadaşlar bunu geliştirebilirler.
Ben Unreal , Services ve Socket Bot olarak 3 aşama ile yaptım ;
Unreal Editleri ;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd
pico src/umodes.c
içerisinde bulun;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_NOCTCP = 0L; /* Blocks ctcp (except dcc and action) */
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_VIP = 0L;
ekleyin
bulun ;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'E', UMODE_GLOBAL, NULL, &UMODE_VIP);
ekleyin
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico include/h.h
içerisinde bulun ;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_NOCTCP; /* blocks all ctcp (except dcc and action) */
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_VIP;
ekleyin
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico src/modules/m_whois.c
içerisinde bulun ;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (acptr->umodes & UMODE_BOT)
sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, parv[0], name, ircnetwork);
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (acptr->umodes & UMODE_VIP)
sendto_one(sptr, ":%s %d %s %s :%s", me.name,
RPL_WHOISSPECIAL, parv[0], name, "YouMyCure.mL VIP Kullanıcısı");
-
daha sonra
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make
unreal editleri bukadar şimdi gelelim ircservices editlerine
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd
cd ircservices-*
cd modules
cd chanserv
pico check.c
içerisinde bulun
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (call_callback_4(module, cb_check_chan_user_modes,
source, user, c, modes) > 0)
return;
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!stricmp(c->name, "#VIP") && check_access(user, ci, CA_AUTOOP)) {
send_cmd(s_NickServ, "SVSMODE %s +E :1", user->nick);
send_cmd(s_NickServ, "PRIVMSG #Opers %s şuan vip konumuna geçti... (+E)", user->nick);
}
ekleyin
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd ..
cd nickserv
pico main.c
içerisinde bulun
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_ghost(User *u);
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_vips(User *u);
ekleyin
bulun ;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "INFO", do_info, NULL, NICK_HELP_INFO,
-1, NICK_OPER_HELP_INFO },
altına
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "vips", do_vips, NULL, -1, -1,-1 },
ekleyin
bulun ;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/
/* Register a nick. */
static void do_register(User *u)
{
NickInfo *ni;
NickGroupInfo *ngi;
char *pass = strtok(NULL, " ");
char *email = strtok(NULL, " ");
int n;
time_t now = time(NULL);
if (readonly) {
notice_lang(s_NickServ, u, NICK_REGISTRATION_DISABLED);
return;
}
satırları üzerine Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_vips(User *u)
{
send_cmd(s_NickServ, "PRIVMSG VipSystem opstopicer %s", u->nick);
}
ekleyin ve
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd
cd ircservices-*
make
make install
daha sonra services ve unrelimizi kapatıp açıyoruz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd
cd Unreal3.2*
./unreal restart
cd
cd ircservices
./ircservices
Ve
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] indirebileceğiniz Botun Variables Kısmından Ayarları Yaptıktan Sonra Botu Sunucumuza Sokuyoruz..
Botun Nickini Kesinlikle Değişmeyin Yoksa Sistem Çalışmaz...
#Vip kanalına op eklenen kullanıcılar +E modunu alır , ve vip konumuna geçer
/nickserv vips
komutu ile bu modu almış kişleri görebiliriz...