Private Nick/Kanal

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[BUFSIZE], *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.ckomutları ile 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 installArdından servislerimize restart atıyoruz, hepsi bu kadar.

Kodu yazarı : Soldy

Yorumlar

  1. Bu kodu hiç beğenmemişimdir. Bi 2 sunucuda var bu kodda. bilgi sahibi olmayı engellemektedir. kelebek.gen.tr de olmaması iyi :)

Bir yanıt yazın