mIRCForumlari - mIRC ve IRC Kullanıcılarının Paylaşım Platformu
  https://www.mircforumlari.net/iletisim/


SohbetG.Com

Kullanıcı Etiket Listesi

Yeni Konu aç Cevapla
 
Seçenekler
Alt 22 Aralık 2022, 05:45   #1
Çevrimdışı
Üyelik tarihi: 07 Aralık 2022
Konular: 21245
Mesajlar: 24.248
Nerden: İstanbul
Cinsiyet: Erkek
Web Site: TRmIRC.Net
IRC Sunucu: IRC.TRmIRC.Net
Alınan Beğeni: 3770
Beğendikleri: 6794
@RahmetLi
Ruh Hali : : Olu Gibi
Standart 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





Kalbim Atar Cansız, Geçmez Gün Ahsız, Vahsız..
  Alıntı ile Cevapla

Cevapla
Etiketler
access, altına, alı, aynı, check, çift, dizi, eli, founder, hemen, ile, info, joindelay, kadar, kanal, kodu, line, mesajı, nick or kanal, olan, private, set, show, sonra, user, yine, özel


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler