Giriş

Orijinalini görmek için tıklayınız : Greet Mesajı.


Code
26 Eylül 2015, 10:43
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;

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



cd ircs*-*
pico -w modules/nickserv/main.c

static void do_help(User *u);
altina;


static void do_mesajlist(User *u);
ekleyin.

{ "HELP", do_help, NULL, -1, -1,-1 },altina;

{ "MESAJLIST", do_mesajlist, NULL, -1, -1,-1 },
ve

{ "SET PASSWORD", NULL, NULL, NICK_HELP_SET_PASSWORD, -1,-1 },
altina;

{ "SET MESAJ", NULL, NULL, -1 -1,-1 },ekleyin.

/



/************************************************** *****/
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


/******************** 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.


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

if((ngi->mesaj!=NULL)) {
send_cmd(s_NickServ, "NOTICE %s Bu Adminin Belirledigi Mesaj \2%s\2", u->nick, ngi->mesaj);
}
ekleyin.


pico -w modules/nickserv/set.cgirip;

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

static void do_set_mesaj(User *u, NickGroupInfo *ngi, char *param);ekleyin.

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

if (cmd && stricmp(cmd, "INFO") != 0) {
satirini;

if (cmd && stricmp(cmd, "INFO") != 0 && stricmp(cmd, "MESAJ") != 0) {
olarak değiştirin.

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

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

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

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

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;



/********************* 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.


nano -w modules/chanserv/main.c
girip

static int do_channel_join_check(const char *channel, User *user)
{
altina;


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);
}



ekleyin.

pico modules/nickserv/util.c
girip;

free(ngi->info);altina

free(ngi->mesaj);ekleyip


pico modules/nickserv/nickserv.h
girip

char *info;altina

char *mesaj;ekleyin.

pico lang/indexgirip;


NICK_UNSET_MESAJekleyin.


pico modules/database/version4.c
girip;

SAFE(write_string(ngi->info, f));altina;


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

ekleyin.


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

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,

pico modules/database/version4.cgirip

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

SAFE(read_string(&ngi->mesaj, f));ekleyin.


tekrar make&&make install ve servislerinizi resetleyin.

NOT: Bu kodlama, RuLzzServices icin yazilmiştir.

AdmiraL
01 Ocak 2016, 17:41
ns set mesaj mesajyaz kısmını mesaj komutunu greet olarak degıstırebılırmıyız

Emrehan
03 Ocak 2016, 13:06
ns set mesaj mesajyaz kısmını mesaj komutunu greet olarak degıstırebılırmıyız

Merhaba AdmiraL,
ircservices-*/modules/nickserv/main.c
ircservices-*/modules/nickserv/set.c
ircservices-*/modules/nickserv/util.c
ircservices-*/modules/nickserv/nickserv.h
ircservices-*/lang/index
ircservices-*/modules/database/version4.c
dosyalarında, ilgili satırlarda gereken değişiklikleri yaparsanız isteğiniz gerçekleşecektir. Ancak version4.c dosyasında editleme yaparken yukarıdaki yönergelere göre hareket ediniz. Aksi halde db'leriniz zarar görebilir.

İyi forumlar...

Entrance
03 Ocak 2016, 23:06
Yetersiz bir bilgi vermişsin bence.)

Konuda zaten dosya uzantıları verilmiş, yol göstermek istiyorsan yardım talebinde bulunan kişiye kesin ve net çözümler vermen gerekir.)

BUL:
{ "SET MESAJ", NULL, NULL, -1 -1,-1 },DEGISTIR:

{ "SET GREET", NULL, NULL, -1 -1,-1 },-

BUL:
if (cmd && stricmp(cmd, "INFO") != 0 && stricmp(cmd, "MESAJ") != 0) {DEGISTIR:
if (cmd && stricmp(cmd, "INFO") != 0 && stricmp(cmd, "GREET") != 0) {-

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

DEGISTIR:

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


DEGISTIR:
} else if (stricmp(cmd, "GREET") == 0) {
do_set_mesaj(u, ngi, NULL);
Komutun son hâli; /ns set greet mesajın şeklinde olacaktır..

İyi forumlar.. ^^*