IRC ve mIRC Kullanıcılarının Buluşma Noktası
  zurna net

  IRC ve mIRC Kullanıcılarının Buluşma Noktası Genel IRCD (Sunucu, Servis, Botlar, Korumalar) Servisler Services Hazır Kodlar

Forum tutkunlarının tek adresi Türkiye Sohbet Odaları Sohbetteyiz herkes burda

ayna chat muhabbetbayilik veren firmalar

Şeker Shell  Sohbet



12Beğeni(ler)
  • 6 Post By toXic
  • 2 Post By toXic
  • 2 Post By toXic
  • 1 Post By dEathLeSs
  • 1 Post By alphae

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 29 Mart 2012, 19:38   #1
Çevrimdışı
IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.


-- Sponsor Baglantı --


Kod: 
cd ircservices*-*

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

Girip;

Kod: 
#include "nickserv.h" #include "ns-local.h"

altina;

Kod: 
#define SUNUCU "SUNUCUADI"

Ekleyin.

Kod: 
static void do_register(User *u);

altina;

Kod: 
static void do_kills(User *u); static void do_killat(User *u);

Ekleyin.


(KILLS Sadece OPERS Kanalina rapor eder, KILLAT ise belirtilen kullaniciyi sunucudan atar. Hangisini tercih ederseniz kullanabilirsiniz. 2'sinide kullanabilirsiniz.)

Kod: 
{ "REGISTER", do_register, NULL, NICK_HELP_REGISTER, -1,-1 },

altina;

Kod: 
{ "KILLS", do_kills, NULL, -1, -1,-1 }, { "KILLAT", do_killat, NULL, -1, -1,-1 },

Ekleyin.



Kod: 
{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },

altina;

Kod: 
{ "SET HELPER", NULL, NULL, -1 -1,-1 }, { "SET VIP", NULL, NULL, -1 -1,-1 },

Ekleyin.

Kod: 
/*************************************************************************/ static void do_identify(User *u) { char *pass = strtok_remaining(); NickInfo *ni = NULL; NickGroupInfo *ngi = NULL;

Satirlari üzerine;

PHP- Kodu:
/*************************************************************************/

//toXic

static void do_killat(User *u)
{

NickInfo *ni;
ni get_nickinfo(u->nick);
    
char *nick strtok(NULL" ");
    
User *u2;
char *sebep;
sebep strtok_remaining();
      
NickGroupInfo *ngi;
 
ngi get_ngi(ni);
// char buf[NICKMAX+32];


  
if (!(ngi get_ngi(ni))) {
        
notice_lang(s_NickServuINTERNAL_ERROR);
return;
    }

 if (!
ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s Bu Komuta Erisiminiz Yoktur.."u->nick);
send_cmd(s_NickServ"NOTICE %s Sadece Ozel Kullanicilar Kullanabilir.."u->nick);
return;
}

 if (!
sebep) {
send_cmd(s_NickServ"NOTICE %s  Sebep girmediniz."u->nick);
return;
}

 if (!(
u2 get_user(nick))) {
 
send_cmd(s_NickServ"NOTICE %s  Kullanici suanda sunucuda yok."u->nick);
return;
}

 if (
irc_stricmp(nicku->nick) == 0) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;

} else if (
ni->status NS_GUESTED) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;
}

        if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni) {
                
notice_lang(s_NickServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else {
                
ni ni2;
            }
        }
 
send_cmd(s_NickServ"NOTICE %s isleminiz, belirtiliyor.",  u->nick);
send_cmd(s_NickServ"PRIVMSG #OperLog \2%s\2 Helperi, \2%s\2 kullanicisini \2%s\2 sebepten dolayi atilmasini istiyor."u->nick,u2->nicksebep);
//snprintf(buf, sizeof(buf), "Sunucu Kurallarina Uymadiginiz icin \2%s\2 Tarafindan Atildiniz..", u->nick);
        //kill_user(s_NickServ, nick, buf);


time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );
FILE *dosya_yaz;
          
dosya_yaz fopen("kill.txt","a");
if (
dosya_yaz != NULL) {
         
fprintf(dosya_yaz,"[%s] %s KILLED -> %s Sebep -> %s\n"asctime (timeinfo), u->nicku2->nicksebep);
          
fclose(dosya_yaz);


}
}

/*************************************************************************/



static void do_kills(User *u) {

NickInfo *ni;
ni get_nickinfo(u->nick);
    
char *nick strtok(NULL" ");
    
User *u2;
char *sebep;
sebep strtok_remaining();
      
NickGroupInfo *ngi;
 
ngi get_ngi(ni);



  if (!(
ngi get_ngi(ni))) {
        
notice_lang(s_NickServuINTERNAL_ERROR);
return;
    }


 if (!
ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s Bu Komuta Erisiminiz Yoktur.."u->nick);
send_cmd(s_NickServ"NOTICE %s Sadece \2HELPERLAR\2 Kullanabilir.."u->nick);
return;
}
 if (!
sebep) {
send_cmd(s_NickServ"NOTICE %s  Sebep girmediniz."u->nick);
return;
}

 if (!(
u2 get_user(nick))) {
 
send_cmd(s_NickServ"NOTICE %s  Kullanici suanda sunucuda yok."u->nick);
return;
}

 if (
irc_stricmp(nicku->nick) == 0) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;

} else if (
ni->status NS_GUESTED) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;
}
   if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni) {
                
notice_lang(s_NickServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else {
                
ni ni2;
            }

 
send_cmd(s_NickServ"NOTICE %s Talebiniz, gonderilmistir."u->nick);
 
send_cmd(s_NickServ"PRIVMSG #Opers \2%s\2 Helperi, \2%s\2 kullanicisinin \2%s\2 sebepten Banlanmasini istiyor."u->nicku2->nicksebep);

time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );
FILE *dosya_yaz;
          
dosya_yaz fopen("kills.txt","a");
if (
dosya_yaz != NULL) {
         
fprintf(dosya_yaz,"[%s] %s KILLTALEP -> %s Sebep -> %s\n"asctime (timeinfo), u->nicku2->nicksebep);
          
fclose(dosya_yaz);


}
}

Ekleyin.


Kod: 
call_callback_2(module, cb_identified, u, old_authstat); } }

satirlari üzerinede;

PHP- Kodu:
 if (ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s Merhaba \2%s\2"u->nicku->nick);
send_cmd(s_NickServ"NOTICE %s \2HELPER\2 Statusunde sunucuya giris yaptiniz."u->nick);
send_cmd(s_NickServ"NOTICE %s Helper ozellikleri, sistem tarafindan size verilmistir."u->nick);
send_cmd(s_NickServ"NOTICE %s Bunlar disinda, \2/NS KILLAT NICK SEBEP\2 komutu ile"u->nick);
send_cmd(s_NickServ"NOTICE %s Kurallara uygunsuz davranis gosteren kullanicilari atabilirsiniz."u->nick);
send_cmd(s_NickServ"NOTICE %s KILL Atimlari, surekli takip altindadir."u->nick);
send_cmd(s_NickServ"NOTICE %s iyi gorevler dileriz.."u->nick);
send_cmd(s_NickServ"CHGHOST %s Helper.%s.%s"u->nicku->nickSUNUCU);
send_cmd(s_NickServ"CHGNAME %s %s HELP Takimi"SUNUCUu->nick);
send_cmd(s_NickServ"CHGIDENT %s IRCdSVS"u->nick);
send_cmd(s_NickServ"SVSMODE %s +hW :1"u->nick);
send_cmd(s_NickServ"PRIVMSG #OPERLOG %s Helper statusunde sunucuya giris yapmistir."u->nick);
   }
else if (
ngi->vip==1) {
send_cmd(s_NickServ"NOTICE %s Merhaba \2%s\2"u->nicku->nick);
send_cmd(s_NickServ"NOTICE %s \2VIP\2 Statusunde sunucuya giris yaptiniz."u->nick);
send_cmd(s_NickServ"NOTICE %s VIP ozellikleri, sistem tarafindan size verilmistir."u->nick);
send_cmd(s_NickServ"CHGHOST %s VIP.%s.%s"u->nicku->nickSUNUCU);
send_cmd(s_NickServ"CHGNAME %s %s Ozel Kullanicisi"u->nickSUNUCU);
send_cmd(s_NickServ"CHGIDENT %s VIP"u->nick);
send_cmd(s_NickServ"SVSMODE %s +W :1"u->nick);
send_cmd(s_NickServ"PRIVMSG #OPERLOG \2%s\2 VIP statusunde sunucuya giris yapmistir."u->nick);
  } 
Kod: 
notice_lang(s_NickServ, u, NICK_INFO_REALNAME, nick, ni->last_realname);

altina;


PHP- Kodu:
 if (ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s :\2%s\2 Services \2Helper\2 (SH)"u->nickni->nick);
}
else if (
ngi->vip==1) {
send_cmd(s_NickServ"NOTICE %s :\2%s\2 Ozel \2VIP\2  Kullanicidir. (VP)"u->nickni->nick);

Ekleyin.

pico -w modules/nickserv/set.c

Girip;

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

altina;

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

Ekleyin.

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

altina;

Kod: 
} else if (stricmp(cmd, "HELPER") == 0) { do_set_helper(u, ngi, param); } else if (stricmp(cmd, "VIP") == 0) { do_set_vip(u, ngi, param);

Ekleyin.

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

altina;

Kod: 
} else if (stricmp(cmd, "HELPER") == 0) { do_set_helper(u, ngi, NULL); } else if (stricmp(cmd, "VIP") == 0) { do_set_vip(u, ngi, NULL);

ekleyin.

Kod: 
/*************************************************************************/ static void do_set_language(User *u, NickGroupInfo *ngi, char *param) { int langnum;

satirlari üzerine;

PHP- Kodu:
/*************************************************************************/

static void do_set_helper(User *uNickGroupInfo *ngichar *param)
{

    
NickInfo *ni;
ni get_nickinfo(u->nick);


if (!
is_services_admin(u)) {
notice_lang(s_NickServuPERMISSION_DENIED);
send_cmd(s_NickServ"NOTICE %s Sadece Services ROOT Adminler Kullanabilir."u->nick);
return;
}
    if (
stricmp(param"ON") == 0) {
   
ngi->helper 1;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici Artik bir helper Kullanicisidir..",u->nick);
put_nickgroupinfo(ngi);
    } else if (
stricmp(param"OFF") == 0) {
 
ngi->helper 0;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici helper statusunden silinmistir.",u->nick);
    } else {
 
send_cmd(s_NickServ"NOTICE %s Hatali bir Kullanim."u->nick);
 
send_cmd(s_NickServ"NOTICE %s :\2Kullanimi, /NS SET NICK helper ON/OFF \2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Eklemek icin, \2/NS SET NICK helper ON\2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Silmek icin, \2/NS SET NICK helper OFF\2"u->nick);
 return;
    }
    
put_nickgroupinfo(ngi);
}

/*************************************************************************/
static void do_set_vip(User *uNickGroupInfo *ngichar *param)
{

    
NickInfo *ni;
ni get_nickinfo(u->nick);

if (!
is_services_root(u)) {
notice_lang(s_NickServuPERMISSION_DENIED);
send_cmd(s_NickServ"NOTICE %s Sadece Services ROOT Adminler Kullanabilir."u->nick);
return;
}


    if (
stricmp(param"ON") == 0) {
   
ngi->vip 1;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici Artik bir VIP Kullanicisidir..",u->nick);
put_nickgroupinfo(ngi);
    } else if (
stricmp(param"OFF") == 0) {
 
ngi->vip 0;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici VIP statusunden silinmistir.",u->nick);
    } else {
 
send_cmd(s_NickServ"NOTICE %s Hatali bir Kullanim."u->nick);
 
send_cmd(s_NickServ"NOTICE %s :\2Kullanimi, /NS SET NICK VIP ON/OFF \2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Eklemek icin, \2/NS SET NICK VIP ON\2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Silmek icin, \2/NS SET NICK VIP OFF\2"u->nick);
 return;
    }
    
put_nickgroupinfo(ngi);

Ekleyin.


Kod: 
pico -w modules/nickserv/nickserv.h

Girip;

Kod: 
int32 authcode; /* Authentication code (used by mail-auth module) */ time_t authset; /* Time authentication code was set */ int16 authreason; /* Reason auth. code was set; see NICKAUTH_* below */

satirlari üzerine;

Kod: 
int helper; int vip;

Ekleyin.

Kod: 
pico modules/database/version4.c

Girip;

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

altina; (Burada eğer sonradan ekleme yaptiysaniz en son ekleme yaptiğiniz kodun altina ekleyin.)

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

Ekleyip;

make&&make install ile derleyip servislerinizi resetleyin. (Resetlemeden önce /OS Update Komutunu kullanin.)

/NS Set NICK HELPER ON
/NS SET NICK VIP ON


komutu ile kendinizi ekleyip sonra tekrar version4.c dosyasinda;

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

altina;

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

Ekleyin.
Yine derleme işleminden sonra servislerinizi resetleyin.


Eğer ekleme ve silme işlemlerini basitce dosya üzerinden takip etmek istiyorsaniz;

Kod: 
pico -w modules/operserv/main.c

Girip;

Kod: 
static void do_hkill(User *u); static void do_viplist(User *u); static void do_helper(User *u); static void do_vip(User *u); static void do_helperlist(User *u);

Ekleyin.

Kod: 
{"STATS", do_stats, NULL, OPER_HELP_STATS, -1,-1},

altina;


Kod: 
{"HKILL", do_hkill, NULL, -1, -1,-1}, {"HELPER", do_helper, NULL, -1, -1,-1}, {"VIP", do_vip, NULL, -1, -1,-1}, {"HELPERLIST", do_helperlist, NULL, -1, -1,-1},

Ekleyin.

Kod: 
/*************************************************************************/ /* Global notice sending via GlobalNoticer. */ static void do_global(User *u) { char *msg = strtok_remaining(); if (!msg) { syntax_error(s_OperServ, u, "GLOBAL", OPER_GLOBAL_SYNTAX); return; } notice_all(s_GlobalNoticer, "%s", msg); send_cmd(s_OperServ, "PRIVMSG #Kontrol :%s Operi, %s Globalini Atti.", u->nick, msg); } /***********************************************************************************/

satirlari altina;

PHP- Kodu:
/*************************************************************************/

//toXic

static void do_helper(User *u)
{

   const 
char *cmd;



if (!
is_services_admin(u)) {
  
notice_lang(s_OperServuPERMISSION_DENIED);
return;
}

time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );



 
cmd strtok(NULL" ");
    if (!
cmd)
        
cmd "";
char *nick;
  
nick strtok(NULL" ");
  
NickGroupInfo *ngi;
  
NickInfo *ni;
ni get_nickinfo(u->nick);


if (
stricmp(cmd"ADD") == 0) {



if (!
nick) {
 
send_cmd(s_OperServ"NOTICE %s  Eksik/Hatali bir giris yaptiniz."u->nick);
return;
}
  if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni2) {
                
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else if (!
ni) {
                
notice_lang(s_OperServuPERMISSION_DENIED);
                return;
            } else {
                
ni ni2;
            }
        }

  if (!(
ngi get_ngi(ni))) {
        
notice_lang(s_OperServuINTERNAL_ERROR);
return;
    }

 if (
ni->status NS_VERBOTEN) {
        
notice_lang(s_OperServuNICK_X_FORBIDDENnick);
return;
}


 if (!(
ni get_nickinfo(nick))) {
        
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
return;
}

if (!
ngi->helper==1) {
  
send_cmd(s_OperServ"NOTICE %s %s Bu komutu kullanmadan once \2/NS SET %s HELPER ON\2 komutunu kullaniniz."u->nicknicknick);
return;
}
 
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2HELPER\2 Olarak onaylandi."u->nicknick);
FILE *dosya_yaz fopen("helpers.txt","a");
if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  HELPER ADD -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
}
}

else if (
stricmp(cmd"LIST") == 0) {

#define ibokuh "helpers.txt"

FILE *p;
char buf[BUFSIZE];

fopen(ibokuh"r");
if (
p) {
while (
fgets(bufsizeof(buf), p)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_OperServ"NOTICE %s %s"u->nickbuf);
}
fclose(p);
} else {
send_cmd(s_OperServ"NOTICE %s Henuz bir kayit yok."u->nick);
}
}

 else if  (
stricmp(cmd"DEL") == 0) {
  
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2HELPER\2 statusunden silinmistir."u->nicknick);
  
FILE *dosya_yaz fopen("helpers.txt","a");
  if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  HELPER DEL -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
         }
   }
  else {
send_cmd(s_OperServ"NOTICE %s Hatali bir komut kullandiniz."u->nick);
send_cmd(s_OperServ"NOTICE %s Helper eklemek icin, \2/OS HELPERS ADD NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s Helper silmek icin, \2/OS HELPERS DEL NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s Helper Listelemek icin, \2/OS HELPERS LIST"u->nick);
send_cmd(s_OperServ"NOTICE %s Komutlarini kullanmalisiniz."u->nick);
return;
  }
}


/*************************************************************************/

//toXic


static void do_vip(User *u)
{

   const 
char *cmd;



if (!
is_services_admin(u)) {
  
notice_lang(s_OperServuPERMISSION_DENIED);
return;
}

time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );



 
cmd strtok(NULL" ");
    if (!
cmd)
        
cmd "";
char *nick;
  
nick strtok(NULL" ");
  
NickGroupInfo *ngi;
  
NickInfo *ni;
ni get_nickinfo(u->nick);


if (
stricmp(cmd"ADD") == 0) {



if (!
nick) {
 
send_cmd(s_OperServ"NOTICE %s  Eksik/Hatali bir giris yaptiniz."u->nick);
return;
}
  if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni2) {
                
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else if (!
ni) {
                
notice_lang(s_OperServuPERMISSION_DENIED);
                return;
            } else {
                
ni ni2;
            }
        }

  if (!(
ngi get_ngi(ni))) {
        
notice_lang(s_OperServuINTERNAL_ERROR);
return;
    }

 if (
ni->status NS_VERBOTEN) {
        
notice_lang(s_OperServuNICK_X_FORBIDDENnick);
return;
}


 if (!(
ni get_nickinfo(nick))) {
        
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
return;
}

if (!
ngi->vip==1) {
  
send_cmd(s_OperServ"NOTICE %s %s Bu komutu kullanmadan once \2/NS SET %s VIP ON\2 komutunu kullaniniz."u->nicknicknick);
return;
}
 
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2VIP\2 Olarak onaylandi."u->nicknick);
FILE *dosya_yaz fopen("vips.txt","a");
if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  vip ADD -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
}
}

else if (
stricmp(cmd"LIST") == 0) {

#define ibokuh "vips.txt"

FILE *p;
char buf[BUFSIZE];

fopen(ibokuh"r");
if (
p) {
while (
fgets(bufsizeof(buf), p)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_OperServ"NOTICE %s %s"u->nickbuf);
}
fclose(p);
} else {
send_cmd(s_OperServ"NOTICE %s Henuz bir kayit yok."u->nick);
}
}

 else if  (
stricmp(cmd"DEL") == 0) {
  
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2VIP\2 statusunden silinmistir."u->nicknick);
  
FILE *dosya_yaz fopen("vips.txt","a");
  if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  VIP DEL -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
         }
   }
  else {
send_cmd(s_OperServ"NOTICE %s Hatali bir komut kullandiniz."u->nick);
send_cmd(s_OperServ"NOTICE %s VIP eklemek icin, \2/OS VIP ADD NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s VIP silmek icin, \2/OS VIP DEL NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s VIP Listelemek icin, \2/OS VIP LIST"u->nick);
send_cmd(s_OperServ"NOTICE %s Komutlarini kullanmalisiniz."u->nick);
return;
  }
}


/*************************************************************************/


static void do_hkill(User *u)
{
if (!
is_services_oper(u)) {
  
notice_lang(s_OperServuPERMISSION_DENIED);
return;
}


char *ibokukll "kills.txt";

char buf[BUFSIZE];
send_cmd(s_OperServ"NOTICE %s Kayitlar Listeleniyor."u->nick);
send_cmd(s_OperServ"NOTICE %s \2"u->nick);
FILE *fopen(ibokukll"r");
if (
x) {
while (
fgets(bufsizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_OperServ"NOTICE %s :%s"u->nickbuf);
}
fclose(x);
} else {
send_cmd(s_OperServ"NOTICE %s :Henuz bir kayit yok."u->nick);
}

Ekleyin.

Kod: 
make&make install

Ve Servislerinizi resetleyin.

Eğer kanala girdiklerinde uyari mesajida istiyorsaniz;

Kod: 
pico -w modules/chanserv/main.c

/
Kod: 
*************************************************************************/ /* Callback for users trying to join channels. */ static int do_channel_join_check(const char *channel, User *user) { NickInfo *ni; ni = get_nickinfo(user->nick); //NickInfo *ni = NULL; NickGroupInfo *ngi; ngi = get_ngi(ni);

satirlari altina;

PHP- Kodu:
 if  (user_identified(user) && (ngi->helper==1)) {
send_cmd(s_ChanServ"PRIVMSG %s Sunucu HELP Gorevlisi \2%s\2 Kanala girdi."channeluser->nick);
}
 if  (
user_identified(user) && (ngi->vip==1)) {
send_cmd(s_ChanServ"PRIVMSG %s Sunucu VIP Kullanicisi \2%s\2 Kanala girdi."channeluser->nick);

Ekleyin.


Basitce yaptiğin şekilde;

/NS SET NICK HELPER ON/OFF
/NS SET NICK VIP ON/OFF


komutlari ile ekleme silme yapabileceksiniz.

Takip içinde;

/OS HELPER ADD/DEL NICK
/OS VIP ADD/DEL NICK


Listelemek için;

/OS HELPER LIST
/OS VIP LIST


komutlarini kullanmalisiniz.

Eğer kill atma kodunu seçtiyseniz yada her 2'sinide seçtiyseniz;

/OS KILLS Komutu ile takibini yapabilirsiniz.

Kullanicilari eklediğiniz takdirde nicklerini identify ettikleri an özelliklere sahip olacaklar illa bir kanala girmesine gerek yok.

Helperlar, /NS KILLAT NICK SEBEP komutu ile kill atabilirler.
Atilan Kill eri /OS KILLIST Komutu ile görebilirsiniz. (Services admin kullanabilir)

Set kullanarak HELPER/VIP Ekleme silme işlemini services root adminler yapabiliyor. (Değişebilirsiniz.)

HELPER/VIP özellikli kullanicilarin INFO'larinda HELPER/VIP Olduklarina dair bir mesaj cikiyor.

HELPER ve VIP Tanimlarini başka şekilde kod yazabiliyorsaniz istediğiniz gibi kullanabilirsiniz. Örneğin auth kodu verme, silme, düzenleme vs. gibi..

Eğer giriş mesajini eklediyseniz, HELPER/VIP vasfini taşiyanlar herhangi bir kanala girdiğinde kanala otomatikmen bilgi mesaji atilacaktir.
Kod: 
cd ircservices*-*

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

Girip;

Kod: 
#include "nickserv.h" #include "ns-local.h"

altina;

Kod: 
#define SUNUCU "SUNUCUADI"

Ekleyin.

Kod: 
static void do_register(User *u);

altina;

Kod: 
static void do_kills(User *u); static void do_killat(User *u);

Ekleyin.


(KILLS Sadece OPERS Kanalina rapor eder, KILLAT ise belirtilen kullaniciyi sunucudan atar. Hangisini tercih ederseniz kullanabilirsiniz. 2'sinide kullanabilirsiniz.)

Kod: 
{ "REGISTER", do_register, NULL, NICK_HELP_REGISTER, -1,-1 },

altina;

Kod: 
{ "KILLS", do_kills, NULL, -1, -1,-1 }, { "KILLAT", do_killat, NULL, -1, -1,-1 },

Ekleyin.



Kod: 
{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },

altina;

Kod: 
{ "SET HELPER", NULL, NULL, -1 -1,-1 }, { "SET VIP", NULL, NULL, -1 -1,-1 },

Ekleyin.

Kod: 
/*************************************************************************/ static void do_identify(User *u) { char *pass = strtok_remaining(); NickInfo *ni = NULL; NickGroupInfo *ngi = NULL;

Satirlari üzerine;

PHP- Kodu:
/*************************************************************************/

//toXic

static void do_killat(User *u)
{

NickInfo *ni;
ni get_nickinfo(u->nick);
    
char *nick strtok(NULL" ");
    
User *u2;
char *sebep;
sebep strtok_remaining();
      
NickGroupInfo *ngi;
 
ngi get_ngi(ni);
// char buf[NICKMAX+32];


  
if (!(ngi get_ngi(ni))) {
        
notice_lang(s_NickServuINTERNAL_ERROR);
return;
    }

 if (!
ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s Bu Komuta Erisiminiz Yoktur.."u->nick);
send_cmd(s_NickServ"NOTICE %s Sadece Ozel Kullanicilar Kullanabilir.."u->nick);
return;
}

 if (!
sebep) {
send_cmd(s_NickServ"NOTICE %s  Sebep girmediniz."u->nick);
return;
}

 if (!(
u2 get_user(nick))) {
 
send_cmd(s_NickServ"NOTICE %s  Kullanici suanda sunucuda yok."u->nick);
return;
}

 if (
irc_stricmp(nicku->nick) == 0) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;

} else if (
ni->status NS_GUESTED) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;
}

        if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni) {
                
notice_lang(s_NickServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else {
                
ni ni2;
            }
        }
 
send_cmd(s_NickServ"NOTICE %s isleminiz, belirtiliyor.",  u->nick);
send_cmd(s_NickServ"PRIVMSG #OperLog \2%s\2 Helperi, \2%s\2 kullanicisini \2%s\2 sebepten dolayi atilmasini istiyor."u->nick,u2->nicksebep);
//snprintf(buf, sizeof(buf), "Sunucu Kurallarina Uymadiginiz icin \2%s\2 Tarafindan Atildiniz..", u->nick);
        //kill_user(s_NickServ, nick, buf);


time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );
FILE *dosya_yaz;
          
dosya_yaz fopen("kill.txt","a");
if (
dosya_yaz != NULL) {
         
fprintf(dosya_yaz,"[%s] %s KILLED -> %s Sebep -> %s\n"asctime (timeinfo), u->nicku2->nicksebep);
          
fclose(dosya_yaz);


}
}

/*************************************************************************/



static void do_kills(User *u) {

NickInfo *ni;
ni get_nickinfo(u->nick);
    
char *nick strtok(NULL" ");
    
User *u2;
char *sebep;
sebep strtok_remaining();
      
NickGroupInfo *ngi;
 
ngi get_ngi(ni);



  if (!(
ngi get_ngi(ni))) {
        
notice_lang(s_NickServuINTERNAL_ERROR);
return;
    }


 if (!
ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s Bu Komuta Erisiminiz Yoktur.."u->nick);
send_cmd(s_NickServ"NOTICE %s Sadece \2HELPERLAR\2 Kullanabilir.."u->nick);
return;
}
 if (!
sebep) {
send_cmd(s_NickServ"NOTICE %s  Sebep girmediniz."u->nick);
return;
}

 if (!(
u2 get_user(nick))) {
 
send_cmd(s_NickServ"NOTICE %s  Kullanici suanda sunucuda yok."u->nick);
return;
}

 if (
irc_stricmp(nicku->nick) == 0) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;

} else if (
ni->status NS_GUESTED) {
 
send_cmd(s_NickServ"NOTICE %s  isleminiz, gerceklestirilemedi."u->nick);
return;
}
   if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni) {
                
notice_lang(s_NickServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else {
                
ni ni2;
            }

 
send_cmd(s_NickServ"NOTICE %s Talebiniz, gonderilmistir."u->nick);
 
send_cmd(s_NickServ"PRIVMSG #Opers \2%s\2 Helperi, \2%s\2 kullanicisinin \2%s\2 sebepten Banlanmasini istiyor."u->nicku2->nicksebep);

time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );
FILE *dosya_yaz;
          
dosya_yaz fopen("kills.txt","a");
if (
dosya_yaz != NULL) {
         
fprintf(dosya_yaz,"[%s] %s KILLTALEP -> %s Sebep -> %s\n"asctime (timeinfo), u->nicku2->nicksebep);
          
fclose(dosya_yaz);


}
}

Ekleyin.


Kod: 
call_callback_2(module, cb_identified, u, old_authstat); } }

satirlari üzerinede;

PHP- Kodu:
 if (ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s Merhaba \2%s\2"u->nicku->nick);
send_cmd(s_NickServ"NOTICE %s \2HELPER\2 Statusunde sunucuya giris yaptiniz."u->nick);
send_cmd(s_NickServ"NOTICE %s Helper ozellikleri, sistem tarafindan size verilmistir."u->nick);
send_cmd(s_NickServ"NOTICE %s Bunlar disinda, \2/NS KILLAT NICK SEBEP\2 komutu ile"u->nick);
send_cmd(s_NickServ"NOTICE %s Kurallara uygunsuz davranis gosteren kullanicilari atabilirsiniz."u->nick);
send_cmd(s_NickServ"NOTICE %s KILL Atimlari, surekli takip altindadir."u->nick);
send_cmd(s_NickServ"NOTICE %s iyi gorevler dileriz.."u->nick);
send_cmd(s_NickServ"CHGHOST %s Helper.%s.%s"u->nicku->nickSUNUCU);
send_cmd(s_NickServ"CHGNAME %s %s HELP Takimi"SUNUCUu->nick);
send_cmd(s_NickServ"CHGIDENT %s IRCdSVS"u->nick);
send_cmd(s_NickServ"SVSMODE %s +hW :1"u->nick);
send_cmd(s_NickServ"PRIVMSG #OPERLOG %s Helper statusunde sunucuya giris yapmistir."u->nick);
   }
else if (
ngi->vip==1) {
send_cmd(s_NickServ"NOTICE %s Merhaba \2%s\2"u->nicku->nick);
send_cmd(s_NickServ"NOTICE %s \2VIP\2 Statusunde sunucuya giris yaptiniz."u->nick);
send_cmd(s_NickServ"NOTICE %s VIP ozellikleri, sistem tarafindan size verilmistir."u->nick);
send_cmd(s_NickServ"CHGHOST %s VIP.%s.%s"u->nicku->nickSUNUCU);
send_cmd(s_NickServ"CHGNAME %s %s Ozel Kullanicisi"u->nickSUNUCU);
send_cmd(s_NickServ"CHGIDENT %s VIP"u->nick);
send_cmd(s_NickServ"SVSMODE %s +W :1"u->nick);
send_cmd(s_NickServ"PRIVMSG #OPERLOG \2%s\2 VIP statusunde sunucuya giris yapmistir."u->nick);
  } 
Kod: 
notice_lang(s_NickServ, u, NICK_INFO_REALNAME, nick, ni->last_realname);

altina;


PHP- Kodu:
 if (ngi->helper==1) {
send_cmd(s_NickServ"NOTICE %s :\2%s\2 Services \2Helper\2 (SH)"u->nickni->nick);
}
else if (
ngi->vip==1) {
send_cmd(s_NickServ"NOTICE %s :\2%s\2 Ozel \2VIP\2  Kullanicidir. (VP)"u->nickni->nick);

Ekleyin.

pico -w modules/nickserv/set.c

Girip;

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

altina;

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

Ekleyin.

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

altina;

Kod: 
} else if (stricmp(cmd, "HELPER") == 0) { do_set_helper(u, ngi, param); } else if (stricmp(cmd, "VIP") == 0) { do_set_vip(u, ngi, param);

Ekleyin.

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

altina;

Kod: 
} else if (stricmp(cmd, "HELPER") == 0) { do_set_helper(u, ngi, NULL); } else if (stricmp(cmd, "VIP") == 0) { do_set_vip(u, ngi, NULL);

ekleyin.

Kod: 
/*************************************************************************/ static void do_set_language(User *u, NickGroupInfo *ngi, char *param) { int langnum;

satirlari üzerine;

PHP- Kodu:
/*************************************************************************/

static void do_set_helper(User *uNickGroupInfo *ngichar *param)
{

    
NickInfo *ni;
ni get_nickinfo(u->nick);


if (!
is_services_admin(u)) {
notice_lang(s_NickServuPERMISSION_DENIED);
send_cmd(s_NickServ"NOTICE %s Sadece Services ROOT Adminler Kullanabilir."u->nick);
return;
}
    if (
stricmp(param"ON") == 0) {
   
ngi->helper 1;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici Artik bir helper Kullanicisidir..",u->nick);
put_nickgroupinfo(ngi);
    } else if (
stricmp(param"OFF") == 0) {
 
ngi->helper 0;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici helper statusunden silinmistir.",u->nick);
    } else {
 
send_cmd(s_NickServ"NOTICE %s Hatali bir Kullanim."u->nick);
 
send_cmd(s_NickServ"NOTICE %s :\2Kullanimi, /NS SET NICK helper ON/OFF \2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Eklemek icin, \2/NS SET NICK helper ON\2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Silmek icin, \2/NS SET NICK helper OFF\2"u->nick);
 return;
    }
    
put_nickgroupinfo(ngi);
}

/*************************************************************************/
static void do_set_vip(User *uNickGroupInfo *ngichar *param)
{

    
NickInfo *ni;
ni get_nickinfo(u->nick);

if (!
is_services_root(u)) {
notice_lang(s_NickServuPERMISSION_DENIED);
send_cmd(s_NickServ"NOTICE %s Sadece Services ROOT Adminler Kullanabilir."u->nick);
return;
}


    if (
stricmp(param"ON") == 0) {
   
ngi->vip 1;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici Artik bir VIP Kullanicisidir..",u->nick);
put_nickgroupinfo(ngi);
    } else if (
stricmp(param"OFF") == 0) {
 
ngi->vip 0;
 
send_cmd(s_NickServ"NOTICE %s :Kullanici VIP statusunden silinmistir.",u->nick);
    } else {
 
send_cmd(s_NickServ"NOTICE %s Hatali bir Kullanim."u->nick);
 
send_cmd(s_NickServ"NOTICE %s :\2Kullanimi, /NS SET NICK VIP ON/OFF \2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Eklemek icin, \2/NS SET NICK VIP ON\2"u->nick);
 
send_cmd(s_NickServ"NOTICE %s :Silmek icin, \2/NS SET NICK VIP OFF\2"u->nick);
 return;
    }
    
put_nickgroupinfo(ngi);

Ekleyin.


Kod: 
pico -w modules/nickserv/nickserv.h

Girip;

Kod: 
int32 authcode; /* Authentication code (used by mail-auth module) */ time_t authset; /* Time authentication code was set */ int16 authreason; /* Reason auth. code was set; see NICKAUTH_* below */

satirlari üzerine;

Kod: 
int helper; int vip;

Ekleyin.

Kod: 
pico modules/database/version4.c

Girip;

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

altina; (Burada eğer sonradan ekleme yaptiysaniz en son ekleme yaptiğiniz kodun altina ekleyin.)

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

Ekleyip;

make&&make install ile derleyip servislerinizi resetleyin. (Resetlemeden önce /OS Update Komutunu kullanin.)

/NS Set NICK HELPER ON
/NS SET NICK VIP ON


komutu ile kendinizi ekleyip sonra tekrar version4.c dosyasinda;

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

altina;

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

Ekleyin.
Yine derleme işleminden sonra servislerinizi resetleyin.


Eğer ekleme ve silme işlemlerini basitce dosya üzerinden takip etmek istiyorsaniz;

Kod: 
pico -w modules/operserv/main.c

Girip;

Kod: 
static void do_hkill(User *u); static void do_viplist(User *u); static void do_helper(User *u); static void do_vip(User *u); static void do_helperlist(User *u);

Ekleyin.

Kod: 
{"STATS", do_stats, NULL, OPER_HELP_STATS, -1,-1},

altina;


Kod: 
{"HKILL", do_hkill, NULL, -1, -1,-1}, {"HELPER", do_helper, NULL, -1, -1,-1}, {"VIP", do_vip, NULL, -1, -1,-1}, {"HELPERLIST", do_helperlist, NULL, -1, -1,-1},

Ekleyin.

Kod: 
/*************************************************************************/ /* Global notice sending via GlobalNoticer. */ static void do_global(User *u) { char *msg = strtok_remaining(); if (!msg) { syntax_error(s_OperServ, u, "GLOBAL", OPER_GLOBAL_SYNTAX); return; } notice_all(s_GlobalNoticer, "%s", msg); send_cmd(s_OperServ, "PRIVMSG #Kontrol :%s Operi, %s Globalini Atti.", u->nick, msg); } /***********************************************************************************/

satirlari altina;

PHP- Kodu:
/*************************************************************************/

//toXic

static void do_helper(User *u)
{

   const 
char *cmd;



if (!
is_services_admin(u)) {
  
notice_lang(s_OperServuPERMISSION_DENIED);
return;
}

time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );



 
cmd strtok(NULL" ");
    if (!
cmd)
        
cmd "";
char *nick;
  
nick strtok(NULL" ");
  
NickGroupInfo *ngi;
  
NickInfo *ni;
ni get_nickinfo(u->nick);


if (
stricmp(cmd"ADD") == 0) {



if (!
nick) {
 
send_cmd(s_OperServ"NOTICE %s  Eksik/Hatali bir giris yaptiniz."u->nick);
return;
}
  if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni2) {
                
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else if (!
ni) {
                
notice_lang(s_OperServuPERMISSION_DENIED);
                return;
            } else {
                
ni ni2;
            }
        }

  if (!(
ngi get_ngi(ni))) {
        
notice_lang(s_OperServuINTERNAL_ERROR);
return;
    }

 if (
ni->status NS_VERBOTEN) {
        
notice_lang(s_OperServuNICK_X_FORBIDDENnick);
return;
}


 if (!(
ni get_nickinfo(nick))) {
        
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
return;
}

if (!
ngi->helper==1) {
  
send_cmd(s_OperServ"NOTICE %s %s Bu komutu kullanmadan once \2/NS SET %s HELPER ON\2 komutunu kullaniniz."u->nicknicknick);
return;
}
 
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2HELPER\2 Olarak onaylandi."u->nicknick);
FILE *dosya_yaz fopen("helpers.txt","a");
if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  HELPER ADD -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
}
}

else if (
stricmp(cmd"LIST") == 0) {

#define ibokuh "helpers.txt"

FILE *p;
char buf[BUFSIZE];

fopen(ibokuh"r");
if (
p) {
while (
fgets(bufsizeof(buf), p)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_OperServ"NOTICE %s %s"u->nickbuf);
}
fclose(p);
} else {
send_cmd(s_OperServ"NOTICE %s Henuz bir kayit yok."u->nick);
}
}

 else if  (
stricmp(cmd"DEL") == 0) {
  
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2HELPER\2 statusunden silinmistir."u->nicknick);
  
FILE *dosya_yaz fopen("helpers.txt","a");
  if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  HELPER DEL -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
         }
   }
  else {
send_cmd(s_OperServ"NOTICE %s Hatali bir komut kullandiniz."u->nick);
send_cmd(s_OperServ"NOTICE %s Helper eklemek icin, \2/OS HELPERS ADD NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s Helper silmek icin, \2/OS HELPERS DEL NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s Helper Listelemek icin, \2/OS HELPERS LIST"u->nick);
send_cmd(s_OperServ"NOTICE %s Komutlarini kullanmalisiniz."u->nick);
return;
  }
}


/*************************************************************************/

//toXic


static void do_vip(User *u)
{

   const 
char *cmd;



if (!
is_services_admin(u)) {
  
notice_lang(s_OperServuPERMISSION_DENIED);
return;
}

time_t zaman;
struct tm timeinfo;
time ( &zaman );
timeinfo localtime ( &zaman );



 
cmd strtok(NULL" ");
    if (!
cmd)
        
cmd "";
char *nick;
  
nick strtok(NULL" ");
  
NickGroupInfo *ngi;
  
NickInfo *ni;
ni get_nickinfo(u->nick);


if (
stricmp(cmd"ADD") == 0) {



if (!
nick) {
 
send_cmd(s_OperServ"NOTICE %s  Eksik/Hatali bir giris yaptiniz."u->nick);
return;
}
  if (
nick) {
            
NickInfo *ni2 get_nickinfo(nick);
            if (!
ni2) {
                
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
                return;
            } else if (
ni2 == ni) {
            } else if (!
ni) {
                
notice_lang(s_OperServuPERMISSION_DENIED);
                return;
            } else {
                
ni ni2;
            }
        }

  if (!(
ngi get_ngi(ni))) {
        
notice_lang(s_OperServuINTERNAL_ERROR);
return;
    }

 if (
ni->status NS_VERBOTEN) {
        
notice_lang(s_OperServuNICK_X_FORBIDDENnick);
return;
}


 if (!(
ni get_nickinfo(nick))) {
        
notice_lang(s_OperServuNICK_X_NOT_REGISTEREDnick);
return;
}

if (!
ngi->vip==1) {
  
send_cmd(s_OperServ"NOTICE %s %s Bu komutu kullanmadan once \2/NS SET %s VIP ON\2 komutunu kullaniniz."u->nicknicknick);
return;
}
 
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2VIP\2 Olarak onaylandi."u->nicknick);
FILE *dosya_yaz fopen("vips.txt","a");
if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  vip ADD -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
}
}

else if (
stricmp(cmd"LIST") == 0) {

#define ibokuh "vips.txt"

FILE *p;
char buf[BUFSIZE];

fopen(ibokuh"r");
if (
p) {
while (
fgets(bufsizeof(buf), p)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_OperServ"NOTICE %s %s"u->nickbuf);
}
fclose(p);
} else {
send_cmd(s_OperServ"NOTICE %s Henuz bir kayit yok."u->nick);
}
}

 else if  (
stricmp(cmd"DEL") == 0) {
  
send_cmd(s_OperServ"NOTICE %s %s Kullanicisi \2VIP\2 statusunden silinmistir."u->nicknick);
  
FILE *dosya_yaz fopen("vips.txt","a");
  if (
dosya_yaz != NULL) {
  
fprintf(dosya_yaz,"[%s] %s  VIP DEL -> %s\n"asctime (timeinfo), u->nicknick);
  
fprintf(dosya_yaz,"-----------------------\n");
  
fclose(dosya_yaz);
         }
   }
  else {
send_cmd(s_OperServ"NOTICE %s Hatali bir komut kullandiniz."u->nick);
send_cmd(s_OperServ"NOTICE %s VIP eklemek icin, \2/OS VIP ADD NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s VIP silmek icin, \2/OS VIP DEL NICK\2"u->nick);
send_cmd(s_OperServ"NOTICE %s VIP Listelemek icin, \2/OS VIP LIST"u->nick);
send_cmd(s_OperServ"NOTICE %s Komutlarini kullanmalisiniz."u->nick);
return;
  }
}


/*************************************************************************/


static void do_hkill(User *u)
{
if (!
is_services_oper(u)) {
  
notice_lang(s_OperServuPERMISSION_DENIED);
return;
}


char *ibokukll "kills.txt";

char buf[BUFSIZE];
send_cmd(s_OperServ"NOTICE %s Kayitlar Listeleniyor."u->nick);
send_cmd(s_OperServ"NOTICE %s \2"u->nick);
FILE *fopen(ibokukll"r");
if (
x) {
while (
fgets(bufsizeof(buf), x)) {
buf[strlen(buf)-1] = 0;
send_cmd(s_OperServ"NOTICE %s :%s"u->nickbuf);
}
fclose(x);
} else {
send_cmd(s_OperServ"NOTICE %s :Henuz bir kayit yok."u->nick);
}

Ekleyin.

Kod: 
make&make install

Ve Servislerinizi resetleyin.

Eğer kanala girdiklerinde uyari mesajida istiyorsaniz;

Kod: 
pico -w modules/chanserv/main.c

/
Kod: 
*************************************************************************/ /* Callback for users trying to join channels. */ static int do_channel_join_check(const char *channel, User *user) { NickInfo *ni; ni = get_nickinfo(user->nick); //NickInfo *ni = NULL; NickGroupInfo *ngi; ngi = get_ngi(ni);

satirlari altina;

PHP- Kodu:
 if  (user_identified(user) && (ngi->helper==1)) {
send_cmd(s_ChanServ"PRIVMSG %s Sunucu HELP Gorevlisi \2%s\2 Kanala girdi."channeluser->nick);
}
 if  (
user_identified(user) && (ngi->vip==1)) {
send_cmd(s_ChanServ"PRIVMSG %s Sunucu VIP Kullanicisi \2%s\2 Kanala girdi."channeluser->nick);

Ekleyin.


Basitce yaptiğin şekilde;

/NS SET NICK HELPER ON/OFF
/NS SET NICK VIP ON/OFF


komutlari ile ekleme silme yapabileceksiniz.

Takip içinde;

/OS HELPER ADD/DEL NICK
/OS VIP ADD/DEL NICK


Listelemek için;

/OS HELPER LIST
/OS VIP LIST


komutlarini kullanmalisiniz.

Eğer kill atma kodunu seçtiyseniz yada her 2'sinide seçtiyseniz;

/OS KILLS Komutu ile takibini yapabilirsiniz.

Kullanicilari eklediğiniz takdirde nicklerini identify ettikleri an özelliklere sahip olacaklar illa bir kanala girmesine gerek yok.

Helperlar, /NS KILLAT NICK SEBEP komutu ile kill atabilirler.
Atilan Kill eri /OS KILLIST Komutu ile görebilirsiniz. (Services admin kullanabilir)

Set kullanarak HELPER/VIP Ekleme silme işlemini services root adminler yapabiliyor. (Değişebilirsiniz.)

HELPER/VIP özellikli kullanicilarin INFO'larinda HELPER/VIP Olduklarina dair bir mesaj cikiyor.

HELPER ve VIP Tanimlarini başka şekilde kod yazabiliyorsaniz istediğiniz gibi kullanabilirsiniz. Örneğin auth kodu verme, silme, düzenleme vs. gibi..

Eğer giriş mesajini eklediyseniz, HELPER/VIP vasfini taşiyanlar herhangi bir kanala girdiğinde kanala otomatikmen bilgi mesaji atilacaktir.
__________________
ordo ab chao

Hiç bir şey doğru değil, her şey mümkündür...
Ad Gloriam.

Konu toXic tarafından (22 Nisan 2012 Saat 14:23 ) değiştirilmiştir.
  Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
Alt 22 Nisan 2012, 13:44   #2
Şuan Çevrimiçi
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




modules/operserv/main.c:119: error: âdo_vipâ undeclared here (not in a function)
modules/operserv/main.c: In function âis_services_rootâ:
modules/operserv/main.c:373: warning: unused variable âwarned_idâ
modules/operserv/main.c:839:1: warning: "ibokuh" redefined
modules/operserv/main.c:715:1: warning: this is the location of the previous def

şöyle bir hata verdi

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

Zorla sürahi olmaya çalışma!
Bardak ol ki; sürahi önünde eğilsin.
  Alıntı ile Cevapla

Alt 22 Nisan 2012, 14:21   #3
Çevrimdışı
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




Kod: 
else if (stricmp(cmd, "LIST") == 0) {



bunun altindaki iki ibokuh lari ibokuhh olarak değiştir.


Kod: 
static void do_helper(User *u);

altinada

Kod: 
static void do_vip(User *u);

ekle.

__________________
ordo ab chao

Hiç bir şey doğru değil, her şey mümkündür...
Ad Gloriam.
  Alıntı ile Cevapla

Alt 22 Nisan 2012, 14:48   #4
Şuan Çevrimiçi
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




ircservices]# ./ircservices
Initialization failed, exiting.


[Apr 22 14:38:02 2012] Error loading modules, aborting
[Apr 22 14:41:17 2012] IRC Services 5.0.63 starting up
[Apr 22 14:41:17 2012] modules: Unable to load module `operserv/main': /home/xx/ircservices/lib/modules/operserv/main.so: undefined symbol: do_helperlist
[Apr 22 14:41:17 2012] Error loading modules, aborting

Bu sefer böyle oldu :S

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

Zorla sürahi olmaya çalışma!
Bardak ol ki; sürahi önünde eğilsin.
  Alıntı ile Cevapla

Alt 22 Nisan 2012, 15:14   #5
Çevrimdışı
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




PHP- Kodu:
{"HELPERLIST",      do_helperlist,      NULL,             -1,                  -1,-1},
static 
void do_helperlist(User *u); 
Bu 2 sini sil os helper add/del/list eklediğim icin onlari unutmusum.

__________________
ordo ab chao

Hiç bir şey doğru değil, her şey mümkündür...
Ad Gloriam.
  Alıntı ile Cevapla

Alt 22 Nisan 2012, 15:22   #6
Çevrimdışı
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




Ellerine sağlık kardeşim..

__________________
"En Son Ölüm Gelir, Yinede Erken Deriz"
Hz. Mevlana
  Alıntı ile Cevapla

Alt 22 Nisan 2012, 15:38   #7
Şuan Çevrimiçi
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




Herseyi yaptim da, restart attiktan sonra ozellikler otomatik siliniyor, kontrol ediyorum hata da bulamıyorum.

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

Zorla sürahi olmaya çalışma!
Bardak ol ki; sürahi önünde eğilsin.
  Alıntı ile Cevapla

Alt 01 Haziran 2012, 18:39   #8
Şuan Çevrimiçi
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




Sürekli hata verip düşmesinin sebebi ;

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

satırının altına ;

Kod: 
SAFE(write_int32(ngi->helper, f)); SAFE(write_int32(ngi->vip, f));

Ekleyin.

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

satırının altına ;

Kod: 
SAFE(read_int32(&ngi->helper, f)); SAFE(read_int32(&ngi->vip, f));

Ekleyin..

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

Zorla sürahi olmaya çalışma!
Bardak ol ki; sürahi önünde eğilsin.
  Alıntı ile Cevapla

Alt 05 Temmuz 2015, 15:46   #9
Çevrimdışı
Cevap: IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.




peki burdaki vip uyelik te ne özelikler var yani vip üyenin ne gibi ayrıcalıgı oluyor ? ban atılmazmı odalarda +h cıka bilirmi girdigi odaya vip uye giris yapti dermi ? shun atılmaz ban atılmazmi ?

  Alıntı ile Cevapla

Cevapla

Etiketler
eklemek, helper, ile, ircservices, kullanicilar, set, ve, vip

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık




diyarbakır escort bursa escort konya escort gaziantep escort bodrum escort