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:
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:
 
cd ircs*-*
pico -w modules/nickserv/main.c

 

Kod:
static void do_help(User *u);

altina;

Kod:
 

static void do_mesajlist(User *u);

ekleyin.

Kod:
{ "HELP", do_help, NULL, -1, -1,-1 },

altina;

Kod:
    { "MESAJLIST", do_mesajlist, NULL, -1, -1,-1 },

ve

Kod:
    { "SET PASSWORD", NULL,    NULL,  NICK_HELP_SET_PASSWORD, -1,-1 },

altina;

Kod:
    { "SET MESAJ", NULL, NULL, -1 -1,-1 },

ekleyin.

/

Kod:
 
/*******************************************************/
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:
 
/******************** 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:
   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:
if((ngi->mesaj!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Bu Adminin Belirledigi Mesaj \2%s\2", u->nick, ngi->mesaj);
  }

ekleyin.

Kod:
pico -w modules/nickserv/set.c

girip;

Kod:
static void do_set_email(User *u, NickGroupInfo *ngi, char *param);

altina;

Kod:
static void do_set_mesaj(User *u, NickGroupInfo *ngi, char *param);

ekleyin.

Kod:
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:
 if (cmd && stricmp(cmd, "INFO") != 0) {

satirini;

Kod:
if (cmd && stricmp(cmd, "INFO") != 0 && stricmp(cmd, "MESAJ") != 0) {

olarak değiştirin.

Kod:
  } else if (stricmp(cmd, "SECURE") == 0) {
        do_set_secure(u, ngi, param);

altina

Kod:
  } else if (stricmp(cmd, "MESAJ") == 0) {
        do_set_mesaj(u, ngi, param);

ekleyin.

Kod:
  } else if (stricmp(cmd, "INFO") == 0) {
        do_set_info(u, ngi, NULL);

altina;

Kod:
  } else if (stricmp(cmd, "MESAJ") == 0) {
       do_set_mesaj(u, ngi, NULL);

ekleyin.

Kod:
 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:
 
/********************* 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:
nano -w modules/chanserv/main.c

girip

Kod:
static int do_channel_join_check(const char *channel, User *user)
{

altina;

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

ekleyin.

pico modules/nickserv/util.c

girip;

Kod:
free(ngi->info);

altina

Kod:
free(ngi->mesaj);

ekleyip

Kod:
 

pico modules/nickserv/nickserv.h

girip

Kod:
char *info;

altina

Kod:
char *mesaj;

ekleyin.

Kod:
pico lang/index

girip;

Kod:
NICK_UNSET_MESAJ

ekleyin.

Kod:
pico modules/database/version4.c

girip;

Kod:
SAFE(write_string(ngi->info, f));

altina;

Kod:
 
SAFE(write_string(ngi->mesaj, f));

ekleyin.

Kod:
 
if (ngi->info)
            mem += strlen(ngi->info)+1;

altina;

Kod:
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:
pico modules/database/version4.c

girip

Kod:
SAFE(read_string(&ngi->info, f));

altina;

Kod:
SAFE(read_string(&ngi->mesaj, f));

ekleyin.

tekrar make&&make install ve servislerinizi resetleyin.

NOT: Bu kodlama, RuLzzServices icin yazilmiştir.