IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Services Hazır Kodlar (https://www.ircforumlari.net/services-hazir-kodlar/)
-   -   Nick Info Kısmında LISTCHANS kanalları yansıtma. (https://www.ircforumlari.net/services-hazir-kodlar/306407-nick-info-kisminda-listchans-kanallari-yansitma.html)

SaLTaNaT 18 Aralık 2009 15:28

Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
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:

notice_lang(s_NickServ, u, NICK_INFO_EMAIL, ngi->email);
satırının hemen altına

Kod;
Kod:

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:

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.

Sky-Dancer 19 Aralık 2009 12:23

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
Alıntı:

SaLTaNaT Nickli Üyeden Alıntı (Mesaj 882026)
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:

notice_lang(s_NickServ, u, NICK_INFO_EMAIL, ngi->email);
satırının hemen altına

Kod;
Kod:

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:

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.

yine sanki arraylerde sorun var gibi..
3 kanalı da çok uzun kaydedip kendinize info çekmeyi denermisiniz ? (20 30 haneli kanallar.. Mesela #sdjfghdjuhfgtysdsdfdsfgds6fd4sg5 benzerleri..

iyi Çalışmalar..

toXic 19 Aralık 2009 13:18

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
Alıntı:

Sky-Dancer Nickli Üyeden Alıntı (Mesaj 882404)
yine sanki arraylerde sorun var gibi..
3 kanalı da çok uzun kaydedip kendinize info çekmeyi denermisiniz ? (20 30 haneli kanallar.. Mesela #sdjfghdjuhfgtysdsdfdsfgds6fd4sg5 benzerleri..

iyi Çalışmalar..


Aynı SEKİLDE 4. Bir Kanalda Hata olusma riskide var sanırım 4 kayıtlı kanalı bulunan kullanıcılarda info gösteriminde hata olabilir :S

SaLTaNaT 19 Aralık 2009 13:28

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
toX "zaman" ın code si bu . bi arkadasın sunucusuna kurmustum hata yok calısıyordu. hatta sohbete.org da kullanılıyor sanırım :)

toXic 19 Aralık 2009 13:30

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
Alıntı:

SaLTaNaT Nickli Üyeden Alıntı (Mesaj 882454)
toX "zaman" ın code si bu . bi arkadasın sunucusuna kurmustum hata yok calısıyordu. hatta sohbete.org da kullanılıyor sanırım :) sıkıntı yok ama Sky ın dedigin gibi #zxvzxvzxvzvzxvz uzun karakterli kanallarda hata verir mi bilmem. Sky sen iyice bi incelermisin yanlıs varmı yada hata :)


nickserv -- info toXic
© NickServ ----------------- mIRCTurkiye IRCd Network ---------------
© NickServ -
© NickServ toXic nicki size [/NickServ INFO] komutunu uyguladı.
© NickServ toXic isim: return 0;
© NickServ toXic Services Root Administrator (SRA)
© NickServ Online oldugu adres: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
© NickServ Online: 0 Gun 3 Saat 10 Dakika ve 58 Saniye.
© NickServ Kayit zamani: Ara 17 11:14:56 2009 CET
© NickServ Son quit mesaji: Connection reset by peer
© NickServ E-mail adresi: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
© NickServ Kayıtlı Kanalları: 1 Gün, 21 saat, 5 dakika ve 24˜Daniye OlôÏ¥D
© NickServ Ekler: Kill korumasi,Ek Guvenlik
© NickServ -
© NickServ ----------------- mIRCTurkiye IRCd Network ---------------
nickserv -- listchans
© NickServ toXic nickinin kayitli kanal listesi:
© NickServ #Operhelp
© NickServ #Sohbet
© NickServ #Opers
© NickServ #Help
© NickServ Liste sonu. (4 kanal kaydedilmis).

SaLTaNaT 19 Aralık 2009 13:31

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
aynen :)

toXic 19 Aralık 2009 13:39

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
Söyle söyleyim bunda csmaxreg kaca ayarli ise oraya kadar gitmeli infodaki gösterim döngüleri dediğin sunuca böyle birşeyin olmayisi bu max'in 3 olmasindan kaynaklanabilir.

( apocan chanmax'ı ayarlamistir kesin :P )

SaLTaNaT 19 Aralık 2009 14:15

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
uhahahah :) aynen

Umut55 10 Ocak 2010 20:40

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
paylaşim için tşkler. Yalniz ns infoda mail adreslerini nasil gizleriz. yardimci olursaniz sevinirim..

Diablo 10 Ocak 2010 21:42

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
modules.conf unda NSDefHideEmail satırını bulup başındaki # işaretini kaldır ve sonra kaydedip servislerini yeniden başlat.Ama bu işlem önceki kaydedilen nickler için geçerli olmayacaktır.Onlar için ise /ns set hide email on işlemini yaptırabilirsin.

Umut55 10 Ocak 2010 21:48

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
Teşkkürler hocam.

toXic 13 Haziran 2010 20:42

Cevap: Nick Info Kısmında LISTCHANS kanalları yansıtma.
 
Alıntı:

SaLTaNaT Nickli Üyeden Alıntı (Mesaj 882026)
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:

notice_lang(s_NickServ, u, NICK_INFO_EMAIL, ngi->email);
satırının hemen altına

Kod;
Kod:

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:

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:

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


Bildirisi;

Alıntı:

nickserv -- info toXic
© NickServ ------------------ KELEBEK IRCd Network--------------
© NickServ
© NickServ toXic isim: ..
© NickServ toXic Services Root Administrator (SRA)
© NickServ Bu nick tekrar kullanilana kadar 30 gun gunluk koruma altindadir..
© NickServ Toplam Online Suresi, 0 Gun, 9 Saat, 41 Dakika, 44 Saniye.
© NickServ Kullanicinin sectigi vhost Forever.toXic.NET
© NickServ Kayitli Kanallari, #Botkontrol
© NickServ Kayitli Kanallari, #opers
© NickServ Online Durumuna Gore Seviyesi (New KELEBEK)
© NickServ Kayit zamani: Haz 06 10:52:57 2010 CEST
© NickServ Son quit mesaji: toksik..
© NickServ Ekler: Ek Guvenlik
© NickServ
© NickServ Tüm Nick ve Kanallar GENEL IRC kuralları dahilinde ilk kayit eden kişiye Aittir
© NickServ Kelebek Yönetimi, Nick ve Kanalların kullanımını kurallar dahilinde yasaklayabilir, devir edebilir.
© NickServ Yönetim bu konuda herhangi bir ACIKLAMA veya DUYURU gerekmedikçe yapmaz.
© NickServ Bu Kisi KELEBEK bağımlısıdır, tedavisi yoktur.!
© NickServ
© NickServ ------------------ KELEBEK IRCd Network--------------

Uğraşmaya gerek yok, kaç kanal kaydediliyor ise, size integral'ine o değeri verirsiniz.


Veya;

Kod:

static void do_kanal(User *u, NickGroupInfo *ngi)
{
 
int i;
char *clist[10];
 NickGroupInfo *ngi;
NickInfo *ni;
ni = get_nickinfo(u->nick);
char *nick = strtok(NULL, " ");
 //NickGroupInfo *ngi;
#define kayitsiz "Nick Kayitsizdir."
#define yasakli "Nick Yasaklidir."
 if (!nick) {
send_cmd(s_NickServ, "NOTICE %s \2 %s \2 ", u->nick, kayitsiz);
return;
}
else if (ni->status & NS_VERBOTEN) {
send_cmd(s_NickServ, "NOTICE %s \2 %s \2 ", u->nick, yasakli);
return;
}
 
 
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);
return;
}
}

Gibi bir kod kullanarak listeleyebilirsiniz.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 00:51.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk