Adminlerin, komut kullanarak seçtiği greet mesajini servisler, kişi kanala girince yazar. . Komut Kullanimi; /NS Set Mesaj mesaj nickserv -- set mesaj toXic Kanala giriş yapti.. © NickServ Mesajiniz toXic Kanala giriş yapti.. Olarak degistirilmistir.
© NickServ Kullanim Saati Thu Aug 5 10:34:53 2010
[KBSC] 10::39 *** Tekrar Girilmeye Çalışılıyor...
[KBSC] 10::39 *** Kanala Tekrar Giriliyor #toXic
* [#toXic] [ Topic: RuLzzServices-0.1 ]
* Kanal Kuruluş Tarihi: Thu Aug 05 10:36:05 2010
* Topic Kurucusu: toXic
[KBSC] 10::39 <ChanServ> toXic Kanala giriş yapti.. . Girilen Mesajlari listeleme /NS MesajList nickserv -- mesajlist © NickServ [Thu Aug 5 10:43:50 2010 © NickServ ] toXic mesaj Secti. -> toXic Kanala giriş yapti..
Bu Komutlari Sadece Services Adminler Kullanabilir. Userlere acmak icin;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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;
}
satirini kaldirmalisiniz..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd ircs*-*
pico -w modules/nickserv/main.c
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_help(User *u);
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_mesajlist(User *u);
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "HELP", do_help, NULL, -1, -1,-1 },
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "MESAJLIST", do_mesajlist, NULL, -1, -1,-1 },
ve
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "SET PASSWORD", NULL, NULL, NICK_HELP_SET_PASSWORD, -1,-1 },
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "SET MESAJ", NULL, NULL, -1 -1,-1 },
ekleyin.
/
Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*******************************************************/
static void do_listchans(User *u)
{
NickInfo *ni = u->ni;
NickGroupInfo *ngi;
if (is_oper(u)) {
char *nick = strtok(NULL, " ");
if (nick) {
NickInfo *ni2 = get_nickinfo(nick);
if (!ni2) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
return;
Satirlari üstüne Kod: Kodu kopyalamak için üzerine çift tıklayın!
/******************** Coded toXic ***************/
static void do_mesajlist(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
#define toxread "mesaj.txt"
if (!is_services_admin(u)) {
send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick);
return;
}
FILE *h;
char buf[BUFSIZE];
h = fopen(toxread, "r");
if (h) {
while (fgets(buf, sizeof(buf), h)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf);
}
fclose(h);
} else {
send_cmd(s_NickServ, "NOTICE %s Henuz mesaj girisi olmamis.", u->nick);
}
}
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
strftime_lang(buf, sizeof(buf), u->ngi, STRFTIME_DATE_TIME_FORMAT,
ni->time_registered);
notice_lang(s_NickServ, u, NICK_INFO_TIME_REGGED, buf);
satirlari üstüne Kod: Kodu kopyalamak için üzerine çift tıklayın!
if((ngi->mesaj!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Bu Adminin Belirledigi Mesaj \2%s\2", u->nick, ngi->mesaj);
}
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico -w modules/nickserv/set.c
girip;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_email(User *u, NickGroupInfo *ngi, char *param);
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_mesaj(User *u, NickGroupInfo *ngi, char *param);
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
void do_set(User *u)
{
char *cmd = strtok(NULL, " ");
char *param = strtok_remaining();
char *extra = NULL;
NickInfo *ni;
NickGroupInfo *ngi;
int is_servadmin = is_services_admin(u);
if (readonly) {
notice_lang(s_NickServ, u, NICK_SET_DISABLED);
return;
}
if (is_servadmin && param && strchr(param, ' ')
&& (ni = get_nickinfo(cmd))
) {
cmd = strtok(param, " ");
param = strtok_remaining();
} else {
ni = u->ni;
}
altindaki
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (cmd && stricmp(cmd, "INFO") != 0) {
satirini;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (cmd && stricmp(cmd, "INFO") != 0 && stricmp(cmd, "MESAJ") != 0) {
olarak değiştirin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "SECURE") == 0) {
do_set_secure(u, ngi, param);
altina
Kod: Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "MESAJ") == 0) {
do_set_mesaj(u, ngi, param);
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "INFO") == 0) {
do_set_info(u, ngi, NULL);
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "MESAJ") == 0) {
do_set_mesaj(u, ngi, NULL);
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (user_ident_nomail(u)) {
u->ni->authstat &= ~NA_IDENT_NOMAIL;
u->ni->authstat |= NA_IDENTIFIED;
}
}
} else {
ngi->email = NULL;
if (*oldemail) {
module_log("%s E-mail address cleared by %s!%s@%s (was %s)",
nick, u->nick, u->username, u->host, oldemail);
}
notice_lang(s_NickServ, u, NICK_UNSET_EMAIL, nick);
}
put_nickgroupinfo(ngi);
call_callback_2(module, cb_set_email, u, ngi);
}
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
/********************* coded toxic *****************/
static void do_set_mesaj(User *u, NickGroupInfo *ngi, char *param)
{
// char *param = strtok(NULL, " ");
//char *param = strtok_remaining();
NickInfo *ni;
ni = get_nickinfo(u->nick);
time_t t;
struct tm *ptm;
time (&t);
ptm = gmtime(&t);
free(ngi->mesaj);
if (!param) {
ngi->mesaj = NULL;
send_cmd(s_NickServ, "NOTICE %s Mesajiniz \2 Kaldirildi.", u->nick);
put_nickgroupinfo(ngi);
return;
}
/* svs admin kullanabilir. */
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->mesaj = sstrdup(param);
send_cmd(s_NickServ, "NOTICE %s Mesajiniz \2 %s \2 Olarak degistirilmistir.", u->nick, ngi->mesaj);
send_cmd(s_NickServ, "NOTICE %s Kullanim Saati \2%s", u->nick, ctime(&t));
time_t zaman;
struct tm * timeinfo;
time ( &zaman );
timeinfo = localtime ( &zaman );
FILE *dosya_yaz;
dosya_yaz = fopen("mesaj.txt","a");
if (dosya_yaz != NULL) {
fprintf(dosya_yaz,"[%s] %s mesaj Secti. -> %s\n", asctime (timeinfo), u->nick, ngi->mesaj);
//fprintf(dosya_yaz,"--------------------------\n");
fclose(dosya_yaz);
}
}
put_nickgroupinfo(ngi);
}
//toxic
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
nano -w modules/chanserv/main.c
girip
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static int do_channel_join_check(const char *channel, User *user)
{
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
NickGroupInfo *ngi;
NickInfo *ni;
ni = get_nickinfo(user->nick);
ngi = get_ngi(ni);
if(ngi && (ngi->mesaj!=NULL)) {
send_cmd(s_ChanServ, "PRIVMSG %s %s", channel, ngi->mesaj);
}
Kod: Kodu kopyalamak için üzerine çift tıklayın!
ekleyin.
pico modules/nickserv/util.c
girip;
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->mesaj);
ekleyip
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!
char *info;
altina
Kod: Kodu kopyalamak için üzerine çift tıklayın!
char *mesaj;
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_UNSET_MESAJ
ekleyin.
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->mesaj, 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->mesaj)
mem += strlen(ngi->mesaj)+1;
ekleyin.
NOT : Eğer daha önce version4.c dosyasında o satirlarin altina sonradan ekleme yaptiysaniz, o satirin altina eklemelisiniz..
kaydedip cikin.
make ve make install cekip servisleri resetleyin.
/os update komutunu kullanip irc üzerinden, /ns set mesaj ss ss yazin sonra tekrar ssh den,
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->mesaj, f));
ekleyin.
tekrar make&&make install ve servislerinizi resetleyin.
NOT: Bu kodlama, RuLzzServices icin yazilmiştir.