IRC ve mIRC Kullanıcılarının Buluşma Noktası
  Reklam Ver

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

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

ayna chat muhabbetbayilik veren firmalar

Şeker Shell  Sohbet



Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 25 Kasım 2010, 13:24   #1
Çevrimdışı
IRCServices ISTEK/ONERI/SIKAYET Hizmeti


-- Sponsor Baglantı --


Sadece sunucuyu daha sağlam yönetmeniz için basit bir çalişma koyuyorum. Sistematik bir işleyiş açisindan kullanici istek, öneri ve sorunlarini services komutlari ile bildirebilecek.
Kullanici;
/NS Sikayet komutu ile sikayetini;
/NS istek komutu ile isteğini;
/NS Oneri komutu ile önerilerini bildirebilecek.


Sistem içerisinde services root seviyesindeki kişiler ise bunlari direkt komut yardimi ile listeleyebileceklerdir.

Sikayetleri; /NS Sikayetler
Istekleri; /NS Istekler
Sorunlarini /NS Sorunlar

Komutlari ile listeleyebilecekler..

Kullanicilarin bu komutu kullanabilmesi icin öncelikli olarak nickini kaydetmelidir.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd ircs*-*

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
nano -w modules/nickserv/main.c

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_dropemail_confirm(User *u);

satirinin altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_oneri(User *u); static void do_oneriler(User *u); static void do_istek(User *u); static void do_istekler(User *u); static void do_sikayet(User *u); static void do_sikayetler(User *u);

Ekleyiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "DROP", do_drop, NULL, NICK_HELP_DROP, -1,-1 },

satiri altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "ISTEK", do_istek, NULL, -1, -1,-1 }, { "SIKAYET", do_sikayet, NULL, -1, -1,-1 }, { "ONERI", do_oneri, NULL, -1, -1,-1 }, { "ISTEKLER", do_istekler, NULL, -1, -1,-1 }, { "ONERILER", do_oneriler, NULL, -1, -1,-1 }, { "SIKAYETLER", do_sikayetler, NULL, -1, -1,-1 },

Ekleyiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (strcmp(mask,"-") == 0) mask = NULL; for (ngi = first_nickgroupinfo(); ngi; ngi = next_nickgroupinfo()) { if ((mask && ngi->email && match_wild_nocase(mask,ngi->email)) || (!mask && !ngi->email) ) { drop_nickgroup(ngi, u, mask ? mask : "-"); } } notice_lang(s_NickServ, u, NICK_DROPEMAIL_CONFIRM_DROPPED); }

Satiri altina;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_istek(User *u) { char *reason; reason = strtok_remaining(); NickInfo *ni; ni = get_nickinfo(u->nick); if (!ni) { send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick); return; } if (!reason) { send_cmd(s_NickServ, "NOTICE %s Isteginizi girmediniz.", u->nick); return; } #define toxgun 1; static int tox = 60*60*24*toxgun; if (!is_services_admin(u) && ni->toplamzaman <= tox) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick); return; } else { time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("istek.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason); fprintf(dosya_yaz,"-----------------------\n"); fclose(dosya_yaz); } send_cmd(s_NickServ, "NOTICE %s Isteginiz alinmistir.", u->nick); send_cmd(s_NickServ, "PRIVMSG #Kontrol %s Kullanici bir istekte bulundu.", u->nick); } } static void do_oneri(User *u) { char *reason; reason = strtok_remaining(); NickInfo *ni; ni = get_nickinfo(u->nick); if (!ni) { send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick); return; } if (!reason) { send_cmd(s_NickServ, "NOTICE %s Onerinizi girmediniz.", u->nick); return; } #define toxgun 1; static int tox = 60*60*24*toxgun; if (!is_services_admin(u) && ni->toplamzaman <= tox) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick); return; } else { time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("oneri.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason); fprintf(dosya_yaz,"-----------------------\n"); fclose(dosya_yaz); } send_cmd(s_NickServ, "NOTICE %s Oneriniz alinmistir.", u->nick); send_cmd(s_NickServ, "PRIVMSG #Kontrol %s Kullanici bir oneride bulundu.", u->nick); } } /*************************************************************************/ static void do_sikayet(User *u) { char *reason; reason = strtok_remaining(); NickInfo *ni; ni = get_nickinfo(u->nick); if (!ni) { send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick); return; } if (!reason) { send_cmd(s_NickServ, "NOTICE %s sikayetnizi girmediniz.", u->nick); return; } #define toxgun 1; static int tox = 60*60*24*toxgun; if (!is_services_admin(u) && ni->toplamzaman <= tox) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick); return; } else { time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("sikayet.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason); fprintf(dosya_yaz,"-----------------------\n"); fclose(dosya_yaz); } send_cmd(s_NickServ, "NOTICE %s sikayetniz alinmistir.", u->nick); send_cmd(s_NickServ, "PRIVMSG #OperLog %s Kullanici bir sikayette bulundu.", u->nick); } } /*************************************************************************/ static void do_sikayetler(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); if (!is_services_root(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } #define ibokus "sikayet.txt" FILE *x; char buf[BUFSIZE]; x = fopen(ibokus, "r"); if (x) { while (fgets(buf, sizeof(buf), x)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(x); } else { send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick); } } static void do_istekler(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); if (!is_services_root(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } #define ibokui "istek.txt" FILE *x; char buf[BUFSIZE]; x = fopen(ibokui, "r"); if (x) { while (fgets(buf, sizeof(buf), x)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(x); } else { send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick); } } /*************************************************************************/ static void do_oneriler(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); if (!is_services_root(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } #define ibokuo "oneri.txt" FILE *x; char buf[BUFSIZE]; x = fopen(ibokuo, "r"); if (x) { while (fgets(buf, sizeof(buf), x)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(x); } else { send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick); } }

Ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make&&make install

Kullanip servislerinizi resetleyin.
Sadece sunucuyu daha sağlam yönetmeniz için basit bir çalişma koyuyorum. Sistematik bir işleyiş açisindan kullanici istek, öneri ve sorunlarini services komutlari ile bildirebilecek.
Kullanici;
/NS Sikayet komutu ile sikayetini;
/NS istek komutu ile isteğini;
/NS Oneri komutu ile önerilerini bildirebilecek.


Sistem içerisinde services root seviyesindeki kişiler ise bunlari direkt komut yardimi ile listeleyebileceklerdir.

Sikayetleri; /NS Sikayetler
Istekleri; /NS Istekler
Sorunlarini /NS Sorunlar

Komutlari ile listeleyebilecekler..

Kullanicilarin bu komutu kullanabilmesi icin öncelikli olarak nickini kaydetmelidir.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd ircs*-*

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
nano -w modules/nickserv/main.c

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_dropemail_confirm(User *u);

satirinin altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_oneri(User *u); static void do_oneriler(User *u); static void do_istek(User *u); static void do_istekler(User *u); static void do_sikayet(User *u); static void do_sikayetler(User *u);

Ekleyiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "DROP", do_drop, NULL, NICK_HELP_DROP, -1,-1 },

satiri altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "ISTEK", do_istek, NULL, -1, -1,-1 }, { "SIKAYET", do_sikayet, NULL, -1, -1,-1 }, { "ONERI", do_oneri, NULL, -1, -1,-1 }, { "ISTEKLER", do_istekler, NULL, -1, -1,-1 }, { "ONERILER", do_oneriler, NULL, -1, -1,-1 }, { "SIKAYETLER", do_sikayetler, NULL, -1, -1,-1 },

Ekleyiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (strcmp(mask,"-") == 0) mask = NULL; for (ngi = first_nickgroupinfo(); ngi; ngi = next_nickgroupinfo()) { if ((mask && ngi->email && match_wild_nocase(mask,ngi->email)) || (!mask && !ngi->email) ) { drop_nickgroup(ngi, u, mask ? mask : "-"); } } notice_lang(s_NickServ, u, NICK_DROPEMAIL_CONFIRM_DROPPED); }

Satiri altina;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_istek(User *u) { char *reason; reason = strtok_remaining(); NickInfo *ni; ni = get_nickinfo(u->nick); if (!ni) { send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick); return; } if (!reason) { send_cmd(s_NickServ, "NOTICE %s Isteginizi girmediniz.", u->nick); return; } #define toxgun 1; static int tox = 60*60*24*toxgun; if (!is_services_admin(u) && ni->toplamzaman <= tox) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick); return; } else { time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("istek.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason); fprintf(dosya_yaz,"-----------------------\n"); fclose(dosya_yaz); } send_cmd(s_NickServ, "NOTICE %s Isteginiz alinmistir.", u->nick); send_cmd(s_NickServ, "PRIVMSG #Kontrol %s Kullanici bir istekte bulundu.", u->nick); } } static void do_oneri(User *u) { char *reason; reason = strtok_remaining(); NickInfo *ni; ni = get_nickinfo(u->nick); if (!ni) { send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick); return; } if (!reason) { send_cmd(s_NickServ, "NOTICE %s Onerinizi girmediniz.", u->nick); return; } #define toxgun 1; static int tox = 60*60*24*toxgun; if (!is_services_admin(u) && ni->toplamzaman <= tox) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick); return; } else { time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("oneri.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason); fprintf(dosya_yaz,"-----------------------\n"); fclose(dosya_yaz); } send_cmd(s_NickServ, "NOTICE %s Oneriniz alinmistir.", u->nick); send_cmd(s_NickServ, "PRIVMSG #Kontrol %s Kullanici bir oneride bulundu.", u->nick); } } /*************************************************************************/ static void do_sikayet(User *u) { char *reason; reason = strtok_remaining(); NickInfo *ni; ni = get_nickinfo(u->nick); if (!ni) { send_cmd(s_NickServ, "NOTICE %s Once Nickinizi kayit etmelisiniz.", u->nick); return; } if (!reason) { send_cmd(s_NickServ, "NOTICE %s sikayetnizi girmediniz.", u->nick); return; } #define toxgun 1; static int tox = 60*60*24*toxgun; if (!is_services_admin(u) && ni->toplamzaman <= tox) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu Kullanamazsiniz..", u->nick); send_cmd(s_NickServ, "NOTICE %s \2NEDEN\2 -> Nick Online puaniniz, \2 ( 2 ) \2 Olmalidir.", u->nick); return; } else { time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("sikayet.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s -> %s\n", asctime (timeinfo), u->nick, reason); fprintf(dosya_yaz,"-----------------------\n"); fclose(dosya_yaz); } send_cmd(s_NickServ, "NOTICE %s sikayetniz alinmistir.", u->nick); send_cmd(s_NickServ, "PRIVMSG #OperLog %s Kullanici bir sikayette bulundu.", u->nick); } } /*************************************************************************/ static void do_sikayetler(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); if (!is_services_root(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } #define ibokus "sikayet.txt" FILE *x; char buf[BUFSIZE]; x = fopen(ibokus, "r"); if (x) { while (fgets(buf, sizeof(buf), x)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(x); } else { send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick); } } static void do_istekler(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); if (!is_services_root(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } #define ibokui "istek.txt" FILE *x; char buf[BUFSIZE]; x = fopen(ibokui, "r"); if (x) { while (fgets(buf, sizeof(buf), x)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(x); } else { send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick); } } /*************************************************************************/ static void do_oneriler(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); if (!is_services_root(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } #define ibokuo "oneri.txt" FILE *x; char buf[BUFSIZE]; x = fopen(ibokuo, "r"); if (x) { while (fgets(buf, sizeof(buf), x)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(x); } else { send_cmd(s_NickServ, "NOTICE %s Henuz bir kayit yok.", u->nick); } }

Ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make&&make install

Kullanip servislerinizi resetleyin.
__________________
ordo ab chao

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

Konu toXic tarafından (08 Nisan 2011 Saat 20:45 ) değiştirilmiştir.
  Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
Alt 25 Kasım 2010, 13:29   #2
Çevrimdışı
Cevap: IRCServices ISTEK/ONERI/SIKAYET Hizmeti




hmm Modern Services Modern toXic Helal gülüm
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.

  Alıntı ile Cevapla

Alt 25 Kasım 2010, 14:05   #3
Çevrimdışı
Cevap: IRCServices ISTEK/ONERI/SIKAYET Hizmeti




snada kodlarına da hastaym.

  Alıntı ile Cevapla

Alt 19 Mart 2011, 11:21   #4
Çevrimdışı
Cevap: IRCServices ISTEK/ONERI/SIKAYET Hizmeti




ben bunu kurdum yanlız hata verdi sanırım kodlar çalısmıyor...

modules/nickserv/main.c: In function 'do_sans':
modules/nickserv/main.c:660: warning: unused variable 'tox'
modules/nickserv/main.c: In function 'do_identify':
modules/nickserv/main.c:983: warning: too few arguments for format
modules/nickserv/main.c: In function 'do_oneri':
modules/nickserv/main.c:1311: warning: unused variable 'ngi'
modules/nickserv/main.c: In function 'do_sikayet':
modules/nickserv/main.c:1346: error: 'ngi' undeclared (first use in this function)
modules/nickserv/main.c:1346: error: (Each undeclared identifier is reported only once
modules/nickserv/main.c:1346: error: for each function it appears in.)
modules/nickserv/main.c:1347: warning: unused variable 'now'
modules/nickserv/main.c:1346: warning: unused variable 'nick'

  Alıntı ile Cevapla

Alt 08 Nisan 2011, 20:44   #5
Çevrimdışı
Cevap: IRCServices ISTEK/ONERI/SIKAYET Hizmeti




Kodlari yeniledim.
Komut kullanimi 1 gün online süresi olan kullanicilar icin gecerlidir. Total online kurulu değilse bunu kurmayin.

__________________
ordo ab chao

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

Alt 08 Nisan 2011, 22:43   #6
Çevrimiçi
Cevap: IRCServices ISTEK/ONERI/SIKAYET Hizmeti




Biri bu adamı durdursun
Bu forumdaki linkleri ve resimleri görebilmek için en az 20 mesajınız olması gerekir.

__________________

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

Cevapla

Etiketler
hizmeti, ircservices, istek or oneri or sikayet

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


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
S-p v.2 (Goru$-Oneri) Rohit Projeler 19 06 Haziran 2009 13:33
Proxy korumasi Oneri Support Unreal IRCd 4 26 Eylül 2007 23:21
Merhaba Oneri Gurbetci_Kiz vBulletin Sorunları ve Çözümleri 10 13 Şubat 2007 21:37