Operler için, INFO uygulamasını daha önceleri bu versiyon'u incelerken yapmıştım. Kullanmak isteyenler aşağıdaki adımları izleyebilir.
Klasör:
-> IRCServices-5.1.24/modules/operserv
Dosya:
-> (
operserv.h)
BULUN,
Kod:
E int nick_is_services_admin(const NickInfo *ni);
ALTINA,
Kod:
E int nick_is_services_oper(const NickInfo *ni);
EKLEYIN,
-
Klasör:
-> IRCServices-5.1.24/modules/operserv
Dosya:
-> (
main.c)
BULUN,
Kod:
EXPORT_FUNC(nick_is_services_admin)
int nick_is_services_admin(const NickInfo *ni)
{
NickGroupInfo *ngi;
NickInfo *rootni;
uint32 rootid = 0;
int isroot, isadmin;
if (!ni || !ni->nickgroup || !(ngi = get_ngi(ni)))
return 0;
if ((rootni = get_nickinfo(ServicesRoot)) != NULL) {
rootid = rootni->nickgroup;
put_nickinfo(rootni);
}
isroot = (rootid != 0 && ni->nickgroup == rootid);
isadmin = (ngi->os_priv >= NP_SERVADMIN);
put_nickgroupinfo(ngi);
return isroot || isadmin;
}
ALTINA,
Kod:
EXPORT_FUNC(nick_is_services_oper)
int nick_is_services_oper(const NickInfo *ni)
{
NickGroupInfo *ngi;
NickInfo *rootni;
uint32 rootid = 0;
int isroot, isadmin;
if (!ni || !ni->nickgroup || !(ngi = get_ngi(ni)))
return 0;
if ((rootni = get_nickinfo(ServicesRoot)) != NULL) {
rootid = rootni->nickgroup;
put_nickinfo(rootni);
}
isroot = (rootid != 0 && ni->nickgroup == rootid);
isadmin = (ngi->os_priv >= NP_SERVOPER);
put_nickgroupinfo(ngi);
return isroot || isadmin;
}
EKLEYIN,
Klasör:
-> IRCServices-5.1.24/modules/nickserv
Dosya:
-> (
main.c)
BULUN,
Kod:
if (can_show_all && (param && stricmp(param, "ALL") == 0))
show_all = 1;
notice_lang(s_NickServ, u, NICK_INFO_REALNAME,
nick, ni->last_realname);
ALTINA,
Kod:
if(nick_is_services_oper(ni)) {
if (stricmp(ni->nick, ServicesRoot) == 0)
send_cmd(s_NickServ, "NOTICE %s :%s Services Root Administrator (SRA)",
u->nick, ni->nick);
else if (nick_is_services_admin(ni))
send_cmd(s_NickServ, "NOTICE %s :%s Services Administrator (SA)",
u->nick, ni->nick);
else
send_cmd(s_NickServ, "NOTICE %s :%s Services Operator (SOP)",
u->nick, ni->nick);
}
EKLEYIN, ilgili alanda
make ve
make install komutlarını uygulayın. Daha sonra, sunucunuz üzerinden
/os restart ..
İyi forumlar.. ^^