Tekil Mesaj gösterimi
Alt 10 Mayıs 2010, 10:22   #7
Çevrimdışı
toXic
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Oper suanda online.




zaymo Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
/ns Set Greet Mesaj Şeklinde.

Dün gece bu yazınızı okumustum 10 dakika notepadda kodu yazdim ama denemedim ama %90 kodlardaki mantık bu sekilde ve doğru olabilir olasılıgıda o kadar yüksek.
/ns set greet mesaj diye gireceksiniz chanserv kanallarda greet'iniz varsa PRIVMSG atacak tabi komutu kullanmak icin services admin erişiminiz olmasi lazim.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd ircservices-*

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico -w modules/nickserv/main.c

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },

altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "SET GREET", NULL, NULL, -1, -1,-1 },


ekleyip

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->info) notice_lang(s_NickServ, u, NICK_INFO_INFO, ngi->info);

altina

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->greet) notice_lang(s_NickServ, u, NICK_INFO_GREET, ngi->greet);

ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/set.c

girip

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

altina;

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

ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "KILL") == 0) { do_set_kill(u, ngi, param);

üstüne;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "GREET") == 0) { do_set_greet(u, ngi, param);

ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else { syntax_error(s_NickServ, u, "UNSET", NSRequireEmail ? NICK_UNSET_SYNTAX_REQ_EMAIL : NICK_UNSET_SYNTAX); } } }

üstüne;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "GREET") == 0) { do_set_greet(u, ngi, NULL);

ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_set_kill(User *u, NickGroupInfo *ngi, char *param) { if (stricmp(param, "ON") == 0) { ngi->flags |= NF_KILLPROTECT;

üstüne;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/**********************************************************/ static void do_set_greet(User *u, NickGroupInfo *ngi, char *param) { const char *nick = ngi_mainnick(ngi); NickGroupInfo *ngi; time_t t; struct tm *ptm; time (&t); ptm = gmtime(&t); free(ngi->greet); if (!is_services_admin(u)) { notice_lang(s_NickServ, u, PERMISSION_DENIED); send_cmd(s_NickServ, "NOTICE %s Sadece Services Adminler Kullanabilir.", u->nick); return; } if (param) { ngi->greet = sstrdup(param); send_cmd(s_NickServ, "NOTICE %s Mesajiniz %s Olarak degistirilmistir.", u->nick); send_cmd(s_NickServ, "NOTICE %s Kullanim Saati \2%s", u->nick, ctime(&t)); } else { ngi->greet = NULL; send_cmd(s_NickServ, "NOTICE %s Bilgileriniz Kaldirilmistir.", u->nick); } put_nickgroupinfo(ngi); }

ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico -w modules/chanserv/check.c

girip;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (call_callback_4(module, cb_check_chan_user_modes, source, user, c, modes) > 0) return;

altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char *s_NickServ; NickGroupInfo *ngi; if((ngi->greet!=NULL)) && (user_identified(user)) { send_cmd(s_NickServ, "PRIVMSG %s %s", ci->name, ngi->greet); } ni = get_nickinfo(user->nick);

ekleyin.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/util.c

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
free(ngi->info);

altina

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
free(ngi->greet);


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/nickserv.h

girip;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SuspendInfo *suspendinfo; /* Suspension info (non-NULL => suspended) */

satirinin üstüne;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char *greet;

ekleyin;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico lang/index

girip

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_SET_GREET_CHANGED NICK_UNSET_GREET NICK_INFO_GREET NICK_SET_GREET_SYNTAX

ekleyin en üste.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/database/version4.c

girip;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(write_string(ngi->info, f));

altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(write_string(ngi->greet, f));

ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->info) mem += strlen(ngi->info)+1

altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->greet) mem += strlen(ngi->greet)+1;

ekleyip ana dizinda;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make&&make install

sonra komutu girip;

telnetten

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/database/version4.c

girip;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(read_string(&ngi->info, f));

altina;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(read_string(&ngi->greet, f));

ekleyip servislerinizi resetleyin.


Konu toXic tarafından (10 Mayıs 2010 Saat 11:03 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet