mIRCForumlari.Net

mIRCForumlari.Net (https://www.mircforumlari.net/)
-   Services Hazır Kodlar (https://www.mircforumlari.net/services-hazir-kodlar/)
-   -   IRCServices Private Nick/Kanal (https://www.mircforumlari.net/services-hazir-kodlar/577-ircservices-private-nick-kanal.html)

RahmetLi 22 Aralık 2022 05:45

IRCServices 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.


Kod:
cd ircservices*

Kod:
pico modules/nickserv/main.c

Kod:
} 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;

Kod:
int is_servadmin = is_services_admin(u);

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

Kod: Kodu kopyalamak için üzerine çift tıklayın!
ngi = get_ngi(ni);

satırının altına;

Kod:
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.

Kod:
pico modules/chanserv/main.c

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

Kod: Kodu kopyalamak için üzerine çift tıklayın!
if ((param && stricmp(param, "ALL") == 0) && can_show_all)
show_all = 1; "

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

Kod:
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.

Kod:
pico modules/chanserv/set.c

Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_mlock(User *u, ChannelInfo *ci, char *param);

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

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

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

Kod:
} 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;

Kod: Kodu kopyalamak için üzerine çift tıklayın!
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.

Kodu yazarı : Soldy


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.


Navbar with Avatar by Motorradforum