Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IRCServices SET ile HELPER ve VIP Kullanicilar Eklemek.
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
Girip;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#include "nickserv.h"
#include "ns-local.h"
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define SUNUCU "SUNUCUADI"
Ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_register(User *u);
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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: Kodu kopyalamak için üzerine çift tıklayın!
{ "REGISTER", do_register, NULL, NICK_HELP_REGISTER, -1,-1 },
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{ "KILLS", do_kills, NULL, -1, -1,-1 },
{ "KILLAT", do_killat, NULL, -1, -1,-1 },
Ekleyin.
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 HELPER", NULL, NULL, -1 -1,-1 },
{ "SET VIP", NULL, NULL, -1 -1,-1 },
Ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/
static void do_identify(User *u)
{
char *pass = strtok_remaining();
NickInfo *ni = NULL;
NickGroupInfo *ngi = NULL;
Satirlari üzerine;
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ //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_NickServ , u , INTERNAL_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 ( nick , u -> 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_NickServ , u , NICK_X_NOT_REGISTERED , nick ); 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 -> nick , sebep ); //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 -> nick , u2 -> nick , sebep ); 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_NickServ , u , INTERNAL_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 ( nick , u -> 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_NickServ , u , NICK_X_NOT_REGISTERED , nick ); 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 -> nick , u2 -> nick , sebep ); 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 -> nick , u2 -> nick , sebep ); fclose ( dosya_yaz ); } } }
Ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
call_callback_2(module, cb_identified, u, old_authstat);
}
}
satirlari üzerinede;
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if ( ngi -> helper == 1 ) { send_cmd ( s_NickServ , "NOTICE %s Merhaba \2%s\2" , u -> nick , u -> 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 -> nick , u -> nick , SUNUCU ); send_cmd ( s_NickServ , "CHGNAME %s %s HELP Takimi" , SUNUCU , u -> 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 -> nick , u -> 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 -> nick , u -> nick , SUNUCU ); send_cmd ( s_NickServ , "CHGNAME %s %s Ozel Kullanicisi" , u -> nick , SUNUCU ); 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: Kodu kopyalamak için üzerine çift tıklayın!
notice_lang(s_NickServ, u, NICK_INFO_REALNAME,
nick, ni->last_realname);
altina;
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if ( ngi -> helper == 1 ) { send_cmd ( s_NickServ , "NOTICE %s :\2%s\2 Services \2Helper\2 (SH)" , u -> nick , ni -> nick ); } else if ( ngi -> vip == 1 ) { send_cmd ( s_NickServ , "NOTICE %s :\2%s\2 Ozel \2VIP\2 Kullanicidir. (VP)" , u -> nick , ni -> nick ); }
Ekleyin.
pico -w modules/nickserv/set.c
Girip;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_kill(User *u, NickGroupInfo *ngi, char *param);
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_helper(User *u, NickGroupInfo *ngi, char *param);
static void do_set_vip(User *u, NickGroupInfo *ngi, char *param);
Ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "INFO") == 0) {
do_set_info(u, ngi, param);
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
} 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: 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, "HELPER") == 0) {
do_set_helper(u, ngi, NULL);
} else if (stricmp(cmd, "VIP") == 0) {
do_set_vip(u, ngi, NULL);
ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/
static void do_set_language(User *u, NickGroupInfo *ngi, char *param)
{
int langnum;
satirlari üzerine;
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_set_helper ( User * u , NickGroupInfo * ngi , char * param ) { NickInfo * ni ; ni = get_nickinfo ( u -> nick ); if (! is_services_admin ( u )) { notice_lang ( s_NickServ , u , PERMISSION_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 * u , NickGroupInfo * ngi , char * param ) { NickInfo * ni ; ni = get_nickinfo ( u -> nick ); if (! is_services_root ( u )) { notice_lang ( s_NickServ , u , PERMISSION_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: Kodu kopyalamak için üzerine çift tıklayın!
pico -w modules/nickserv/nickserv.h
Girip;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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: Kodu kopyalamak için üzerine çift tıklayın!
int helper;
int vip;
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; (Burada eğer sonradan ekleme yaptiysaniz en son ekleme yaptiğiniz kodun altina ekleyin.)
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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: 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->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: Kodu kopyalamak için üzerine çift tıklayın!
pico -w modules/operserv/main.c
Girip;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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: Kodu kopyalamak için üzerine çift tıklayın!
{"STATS", do_stats, NULL, OPER_HELP_STATS, -1,-1},
altina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
{"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: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/
/* 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 Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ //toXic static void do_helper ( User * u ) { const char * cmd ; if (! is_services_admin ( u )) { notice_lang ( s_OperServ , u , PERMISSION_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_OperServ , u , NICK_X_NOT_REGISTERED , nick ); return; } else if ( ni2 == ni ) { } else if (! ni ) { notice_lang ( s_OperServ , u , PERMISSION_DENIED ); return; } else { ni = ni2 ; } } if (!( ngi = get_ngi ( ni ))) { notice_lang ( s_OperServ , u , INTERNAL_ERROR ); return; } if ( ni -> status & NS_VERBOTEN ) { notice_lang ( s_OperServ , u , NICK_X_FORBIDDEN , nick ); return; } if (!( ni = get_nickinfo ( nick ))) { notice_lang ( s_OperServ , u , NICK_X_NOT_REGISTERED , nick ); 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 -> nick , nick , nick ); return; } send_cmd ( s_OperServ , "NOTICE %s %s Kullanicisi \2HELPER\2 Olarak onaylandi." , u -> nick , nick ); FILE * dosya_yaz = fopen ( "helpers.txt" , "a" ); if ( dosya_yaz != NULL ) { fprintf ( dosya_yaz , "[%s] %s HELPER ADD -> %s\n" , asctime ( timeinfo ), u -> nick , nick ); fprintf ( dosya_yaz , "-----------------------\n" ); fclose ( dosya_yaz ); } } else if ( stricmp ( cmd , "LIST" ) == 0 ) { #define ibokuh "helpers.txt" FILE * p ; char buf [ BUFSIZE ]; p = fopen ( ibokuh , "r" ); if ( p ) { while ( fgets ( buf , sizeof ( buf ), p )) { buf [ strlen ( buf )- 1 ] = 0 ; send_cmd ( s_OperServ , "NOTICE %s %s" , u -> nick , buf ); } 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 -> nick , nick ); FILE * dosya_yaz = fopen ( "helpers.txt" , "a" ); if ( dosya_yaz != NULL ) { fprintf ( dosya_yaz , "[%s] %s HELPER DEL -> %s\n" , asctime ( timeinfo ), u -> nick , nick ); 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_OperServ , u , PERMISSION_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_OperServ , u , NICK_X_NOT_REGISTERED , nick ); return; } else if ( ni2 == ni ) { } else if (! ni ) { notice_lang ( s_OperServ , u , PERMISSION_DENIED ); return; } else { ni = ni2 ; } } if (!( ngi = get_ngi ( ni ))) { notice_lang ( s_OperServ , u , INTERNAL_ERROR ); return; } if ( ni -> status & NS_VERBOTEN ) { notice_lang ( s_OperServ , u , NICK_X_FORBIDDEN , nick ); return; } if (!( ni = get_nickinfo ( nick ))) { notice_lang ( s_OperServ , u , NICK_X_NOT_REGISTERED , nick ); 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 -> nick , nick , nick ); return; } send_cmd ( s_OperServ , "NOTICE %s %s Kullanicisi \2VIP\2 Olarak onaylandi." , u -> nick , nick ); FILE * dosya_yaz = fopen ( "vips.txt" , "a" ); if ( dosya_yaz != NULL ) { fprintf ( dosya_yaz , "[%s] %s vip ADD -> %s\n" , asctime ( timeinfo ), u -> nick , nick ); fprintf ( dosya_yaz , "-----------------------\n" ); fclose ( dosya_yaz ); } } else if ( stricmp ( cmd , "LIST" ) == 0 ) { #define ibokuh "vips.txt" FILE * p ; char buf [ BUFSIZE ]; p = fopen ( ibokuh , "r" ); if ( p ) { while ( fgets ( buf , sizeof ( buf ), p )) { buf [ strlen ( buf )- 1 ] = 0 ; send_cmd ( s_OperServ , "NOTICE %s %s" , u -> nick , buf ); } 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 -> nick , nick ); FILE * dosya_yaz = fopen ( "vips.txt" , "a" ); if ( dosya_yaz != NULL ) { fprintf ( dosya_yaz , "[%s] %s VIP DEL -> %s\n" , asctime ( timeinfo ), u -> nick , nick ); 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_OperServ , u , PERMISSION_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 * x = fopen ( ibokukll , "r" ); if ( x ) { while ( fgets ( buf , sizeof ( buf ), x )) { buf [ strlen ( buf )- 1 ] = 0 ; send_cmd ( s_OperServ , "NOTICE %s :%s" , u -> nick , buf ); } fclose ( x ); } else { send_cmd ( s_OperServ , "NOTICE %s :Henuz bir kayit yok." , u -> nick ); } }
Ekleyin.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make&make install
Ve Servislerinizi resetleyin.
Eğer kanala girdiklerinde uyari mesajida istiyorsaniz;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico -w modules/chanserv/main.c
/
Kod: Kodu kopyalamak için üzerine çift tıklayın!
*************************************************************************/
/* 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 Kod: Kodu kopyalamak için üzerine çift tıklayın!
if ( user_identified ( user ) && ( ngi -> helper == 1 )) { send_cmd ( s_ChanServ , "PRIVMSG %s Sunucu HELP Gorevlisi \2%s\2 Kanala girdi." , channel , user -> nick ); } if ( user_identified ( user ) && ( ngi -> vip == 1 )) { send_cmd ( s_ChanServ , "PRIVMSG %s Sunucu VIP Kullanicisi \2%s\2 Kanala girdi." , channel , user -> 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.
Konu toXic tarafından (22 Nisan 2012 Saat 14:23 ) değiştirilmiştir.