Kodun yazılış amacı Nick info kısmında Sizin nick'iniz üzerine kayıtlı kanalları gösteriyor
Öncelikle
cd ircservices-5.*.**
cd modules/nickserv
pico main.c giriyoruz
ve şunu taratıyoruz
kod;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
notice_lang(s_NickServ, u, NICK_INFO_EMAIL, ngi->email);
satırının hemen altına
Kod;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
int i;
char *clist[3];
char alist[128];
ARRAY_FOREACH (i, ngi->channels) {
clist[i] = ngi->channels[i];
}
// Yorum satırları eğer yukarida admin koruması yok ise adminlerinkini gösteriyor yukaridaki admin korumasi da infodaki gizli satir
//if(!nick_is_services_oper(ni))
//{
//if ((!stricmp(ni->nick, ServicesRoot) == 0)||(!nick_is_services_admin(ni))||(!is_oper(ni)))
//{
if (ngi->channels_count == 3)
snprintf(alist, sizeof(alist), "%s, %s, %s (3 Adet)", clist[0], clist[1], clist[2]);
if (ngi->channels_count == 2)
snprintf(alist, sizeof(alist), "%s, %s (2 Adet)", clist[0], clist[1]);
if (ngi->channels_count == 1)
snprintf(alist, sizeof(alist), "%s (1 Adet)", clist[0]);
if (!ngi->channels_count)
snprintf(alist, sizeof(alist), "Bulunmamaktadır.");
send_cmd(s_NickServ, "NOTICE %s :Kayıtlı Kanalları: %s", u->nick, alist);
*alist = '\0';
ekliyoruz ve ardından
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make & make install /restart
dikkat etmeniz gereken bir nokta var oda şurasıdır ben max 3 kanal gösterttim çünkü modules.conf öyle ayarladım bir nick 3 kanal kayıt edebilir istediginiz şekilde çoğaltabilirsiniz
Not : " zaman " Style.
Bence Bu şekil daha sağlikli..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
int i;
char *clist[10];
ARRAY_FOREACH (i, ngi->channels) {
clist[i] = ngi->channels[i];
}
if ((!stricmp(ni->nick, ServicesRoot) == 0)||(!nick_is_services_admin(ni))) {
int size = 10;
for (i=0; i<size; i++)
send_cmd(s_NickServ, "NOTICE %s Kayitli Kanallari, \2%s\2", u->nick, clist[i]);
} else {
send_cmd(s_NickServ, "NOTICE %s Kayitli Kanali bulunmamaktadir.", u->nick);
}