PDA

Orijinalini görmek için tıklayınız : IRCservices versiyonları için PRIVATE NICK/KANAL


ceyLin
13 November 2008, 13:43
IRCServices için NICK ve KANAL için PRIVATE seçeneği, buna göre /cs set #kanaladi private on komutu ile özel kılınan kanallara info çekildiğinde #kanal özel bir kanaldır mesajı, özel kılınan nicklere info çekildiğinde nick özel bir nicktir. mesajı alınabilecek.

cd ircservices*

pico modules/nickserv/main.c


} else {
char buf, *end;
const char *commastr = getstring(u->ngi, COMMA_SPACE);
int need_comma = 0;
int nick_online = 0;
int can_show_all = 0, show_all = 0, used_all = 0;


satırlarının hemen altına;


int is_servadmin = is_services_admin(u);


satırını ekleyin, yine aynı dosyada

ngi = get_ngi(ni);

satırının altına;

if ( (ngi->flags & NF_PRIVATE) )
{
if (!is_servadmin &&
(!nick_identified(ni) || (u->ngi != ngi)))
{
notice_lang(s_NickServ, u, NICK_INFO_PRIVATE, nick);
return;
}
}


satırlarını ekleyin, kaydedip dosyadan çıkın.

pico modules/chanserv/main.c

komutları ile [B]main.c klasörümüze girdikten sonra;

if ((param && stricmp(param, "ALL") == 0) && can_show_all)
show_all = 1; "


satırının hemen altına;

if (ci->flags & CI_PRIVATE)
{
notice_lang(s_ChanServ, u, CHAN_INFO_PRIVATE, chan);
if(!is_services_admin(u) && !is_founder(u,ci) && !check_access(u, ci, CA_AUTOOP))
return;
}


satırlarını ekliyoruz, kaydedip dosyadan çıkın.

pico modules/chanserv/set.c


static void do_set_mlock(User *u, ChannelInfo *ci, char *param);

satırının altına ise;

static void do_set_private(User *u, ChannelInfo *ci, char *param);


satırını ekliyoruz, yine aynı dosyada

} else if (stricmp(cmd, "MLOCK") == 0) {
do_set_mlock(u, ci, param); "


satırının altına;

} else if (stricmp(cmd, "PRIVATE") == 0) {
do_set_private(u, ci, param);



satırını ekliyoruz, yine aynı dosyada

ci->mlock_joindelay = oldlock_joindelay;
ci->mlock_joinrate1 = oldlock_joinrate1;
ci->mlock_joinrate2 = oldlock_joinrate2;
}



sıra dizini olan satırın hemen altına;

static void do_set_private(User *u, ChannelInfo *ci, char *param)
{
if (stricmp(param, "ON") == 0) {
ci->flags |= CI_PRIVATE;
notice_lang(s_ChanServ, u, CHAN_SET_PRIVATE_ON);
} else if (stricmp(param, "OFF") == 0) {
ci->flags &= ~CI_PRIVATE;
notice_lang(s_ChanServ, u, CHAN_SET_PRIVATE_OFF);
} else {
syntax_error(s_ChanServ, u, "SET PRIVATE", CHAN_SET_PRIVATE_SYNTAX);
}
}


satırlarını ekliyoruz, kaydedip çıkıyoruz

pico lang/index

NICK_INFO_OPTIONS

satırının altına;

NICK_INFO_PRIVATE

satırını ekliyoruz, yine aynı dosyada

CHAN_INFO_OPTIONS



satırının altına;

CHAN_INFO_PRIVATE



satırını ekliyoruz kaydedip çıkıyoruz.

pico lang/tr.l


NICK_INFO_OPTIONS
Ekler: ^B%s^B



satırının altına;

NICK_INFO_PRIVATE
^B%s^B özel bir nicktir.

satırını

CHAN_INFO_OPTIONS
Ekler: ^B%s^B


satırının altına ise;

CHAN_INFO_PRIVATE
^B%s^B özel bir kanaldir.

satırını ekliyoruz, kaydedip çıkıyoruz.

make

make install



Ardından servislerimize restart atıyoruz, hepsi bu kadar.

Not : Soldy ( Emre ) arkadasıma tesekkur ediyoruz ..
Not : Alıntıdır.