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

12Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 29 Eylül 2014, 17:51   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
/NickServ REGISTERNICK Komutu




Huyum kurusun hep üşengeçliğin sonucunda kendimce bir kod yazdım, paylaşayım isteyen varsa yararlansın dedim.

Kod, /ns link ve /ns register komutlarının birleşimidir yani tamamı benim tarafımdan yazılmamıştır.


Kullanımı: /nickserv registernick nick şifre email şeklindedir.
Süre sınırı, email sınırı vb. tarzı limitler olmadan hiç nicke geçmeden nick kayıt etmenizi sağlar. Services Admin (/os admin list) listesinde olmanız gerekmektedir.

ircservices*.* > modules > nickserv > main.c

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

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

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "DROPNICK", do_dropnick, is_services_admin, -1, -1, NICK_OPER_HELP_DROPNICK },

altına
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "REGISTERNICK", do_registernick, is_services_admin, -1, -1, NICK_HELP_REGISTER },

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

üstüne

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_registernick(User *u) { char *nick = strtok(NULL, " "); char *pass = strtok(NULL, " "); char *email = strtok(NULL, " "); NickInfo *ni = u->ni, *ni2; NickGroupInfo *ngi = u->ngi, *ngi2; int n; if (readonly) { notice_lang(s_NickServ, u, NICK_REGISTRATION_DISABLED); } else if (!is_services_admin(u)) { notice_lang(s_NickServ, u, PERMISSION_DENIED); } else if (!nick || !pass || (NSRequireEmail && !email) || (stricmp(pass, u->nick) == 0 && (strtok(NULL, "") || (email && (!strchr(email,'@') || !strchr(email,'.')))))) { send_cmd(s_NickServ, "NOTICE %s Kullanimi: \2REGISTERNICK \37nick\37 \37sifre\37 \37email\37\2", u->nick); } else if (strlen(nick) > protocol_nickmax) { notice_lang(s_NickServ, u, NICK_TOO_LONG, protocol_nickmax); } else if (!valid_nick(nick)) { notice_lang(s_NickServ, u, NICK_INVALID, nick); } else if (stricmp(pass, u->nick) == 0 || (StrictPasswords && strlen(pass) < 5)) { notice_lang(s_NickServ, u, MORE_OBSCURE_PASSWORD); } else if (email && !valid_email(email)) { send_cmd(s_NickServ, "NOTICE %s Lütfen gecerli bir email adresi giriniz.", u->nick); } else if (!reglink_check(u, nick, NULL, NULL)) { notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, nick); } else if (!ni || !ngi || ngi == NICKGROUPINFO_INVALID) { notice_lang(s_NickServ, u, NICK_NOT_REGISTERED); } else if (!user_identified(u)) { notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ); } else if (irc_stricmp(u->nick, nick) == 0) { send_cmd(s_NickServ, "NOTICE %s Kullandığınız nicki kayıt edemezsiniz.", u->nick); } else if ((ni2 = get_nickinfo(nick)) != NULL) { if (ni2->status & NS_VERBOTEN) notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick); else notice_lang(s_NickServ, u, NICK_X_ALREADY_REGISTERED, nick); put_nickinfo(ni2); } else if (get_user(nick)) { notice_lang(s_NickServ, u, NICK_LINK_IN_USE, nick); } else { Password passbuf; init_password(&passbuf); if (encrypt_password(pass, strlen(pass), &passbuf) != 0) { clear_password(&passbuf); memset(pass, 0, strlen(pass)); module_log("Failed to encrypt password for %s (register)", u->nick); notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED); return; } ni2 = makenick(nick, &ngi2); if (!ni) { clear_password(&passbuf); module_log("makenick(%s) failed", u->nick); notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED); return; } copy_password(&ngi2->pass, &passbuf); clear_password(&passbuf); if (ni->last_usermask) ni2->last_usermask = sstrdup(ni->last_usermask); if (ni->last_realmask) ni2->last_realmask = sstrdup(ni->last_realmask); if (ni->last_realname) ni2->last_realname = sstrdup(ni->last_realname); if (ni->last_quit) ni2->last_quit = sstrdup(ni->last_quit); ni2->time_registered = ni2->last_seen = time(NULL); if (email) ngi2->email = sstrdup(email); ngi2->flags = NSDefFlags; ngi2->memos.memomax = MEMOMAX_DEFAULT; ngi2->channelmax = CHANMAX_DEFAULT; ngi2->language = LANG_DEFAULT; ngi2->timezone = TIMEZONE_DEFAULT; put_nickinfo(ni2); notice_lang(s_NickServ, u, NICK_REGISTERED, nick); if (readonly) notice_lang(s_NickServ, u, READ_ONLY_MODE); } }

HELP yada türkçe çeviri yapmadım dilerseniz siz yapabilirsiniz.

Alıntı:
[14:22:48] -NickServ- Guard nick'i basari ile kaydedilmistir.
[14:22:55] -NickServ- Host nick'i basari ile kaydedilmistir.
[14:23:02] -NickServ- Host nickine linkli nickler:
[14:23:02] -NickServ- *Host
[14:23:02] -NickServ- 1 linkli nick.


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 04 Ekim 2014, 10:47   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




Aydınlatma olsun diye soruyorum : /ns register şifre email komutu devreden cıkmıcak degilmi bu sayede?

 
Alıntı ile Cevapla

Alt 04 Ekim 2014, 13:16   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




Hayır, bu sadece misal atıyorum ki bazen helpte yardımcı olmaya çalıştığımız kişiler nick kayıt edemiyor ve bizde, kendisine daha fazla çaba verip nick değiştirip kaydediyoruz.

Bu tarz durumlarda (ben services adminlere verdim bu yetkiyi) /nickserv registernick nick şifre email yazarak hiç nick değişmeye gerek kalmadan nick kayıt etmek için.

Tabi önceden nick varsa bile kayıt yaptırıyrdum ama, nick bir kere identify edilene kadar release, recover komutları veya ghost komutu çalışmadığı için nickin sunucuda olmaması gerektiğini ayarladım, tabi isteyen değişebilir.

Bu kısmı çıkararak;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (get_user(nick)) { notice_lang(s_NickServ, u, NICK_LINK_IN_USE, nick);

Yani diğer hiç bir komut değişmiyor, sadece nick değişmeden hızlıca nick kayıt etmeye yarıyor komut.

Bir diğer örnek ise atıyorum ki S-Bot, Nomercy veya Soyle botları gibi çok socketli botları kullanacağınız zaman tek tek nick kaydetmek çok zor oluyor. Hele bide süre sınırı var ya nick kayıtlarında her nick arasında 10 dk bekleme falan. İşte o zaman yine bu komut ile bütün nickleri 30-40 sn içerisinde kayıt edebilirsin.

 
Alıntı ile Cevapla

Alt 05 Ekim 2014, 08:49   #4
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




Emeğine sağlık , mantıklı bi sistem

__________________
Bu kez pek bir afili yalnızlık, ağlatan bir kadın kadar düşman. Ağzı bozuk üstelik bırakmıyor acıtmadan.
 
Alıntı ile Cevapla

Alt 10 Ekim 2014, 20:18   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




Teşekkürler, umarım işinize yarar
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 03 Ocak 2015, 02:24   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




modules/nickserv/main.c:662: error: for each function it appears in.)
modules/nickserv/main.c:662: error: expected â;â before âpassbufâ
modules/nickserv/main.c:663: warning: implicit declaration of function âinit_passwordâ
modules/nickserv/main.c:663: error: âpassbufâ undeclared (first use in this function)
modules/nickserv/main.c:664: warning: implicit declaration of function âencrypt_passwordâ
modules/nickserv/main.c:665: warning: implicit declaration of function âclear_passwordâ
modules/nickserv/main.c:678: warning: implicit declaration of function âcopy_passwordâ
modules/nickserv/main.c:629: warning: unused variable ânâ
modules/nickserv/main.c: In function âdo_infoâ:
modules/nickserv/main.c:987: warning: unused variable âbuf2â

bire bir 2 kez uygulamama rahmen aynı hatayı alıyorum
ircservices-5.0.64 kullanıyorum

 
Alıntı ile Cevapla

Alt 11 Ocak 2015, 20:06   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




xwerswoodx Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Huyum kurusun hep üşengeçliğin sonucunda kendimce bir kod yazdım, paylaşayım isteyen varsa yararlansın dedim.

Kod, /ns link ve /ns register komutlarının birleşimidir yani tamamı benim tarafımdan yazılmamıştır.


Kullanımı: /nickserv registernick nick şifre email şeklindedir.
Süre sınırı, email sınırı vb. tarzı limitler olmadan hiç nicke geçmeden nick kayıt etmenizi sağlar. Services Admin (/os admin list) listesinde olmanız gerekmektedir.

ircservices*.* > modules > nickserv > main.c

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

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

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "DROPNICK", do_dropnick, is_services_admin, -1, -1, NICK_OPER_HELP_DROPNICK },

altına
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "REGISTERNICK", do_registernick, is_services_admin, -1, -1, NICK_HELP_REGISTER },

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

üstüne

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_registernick(User *u) { char *nick = strtok(NULL, " "); char *pass = strtok(NULL, " "); char *email = strtok(NULL, " "); NickInfo *ni = u->ni, *ni2; NickGroupInfo *ngi = u->ngi, *ngi2; int n; if (readonly) { notice_lang(s_NickServ, u, NICK_REGISTRATION_DISABLED); } else if (!is_services_admin(u)) { notice_lang(s_NickServ, u, PERMISSION_DENIED); } else if (!nick || !pass || (NSRequireEmail && !email) || (stricmp(pass, u->nick) == 0 && (strtok(NULL, "") || (email && (!strchr(email,'@') || !strchr(email,'.')))))) { send_cmd(s_NickServ, "NOTICE %s Kullanimi: \2REGISTERNICK \37nick\37 \37sifre\37 \37email\37\2", u->nick); } else if (strlen(nick) > protocol_nickmax) { notice_lang(s_NickServ, u, NICK_TOO_LONG, protocol_nickmax); } else if (!valid_nick(nick)) { notice_lang(s_NickServ, u, NICK_INVALID, nick); } else if (stricmp(pass, u->nick) == 0 || (StrictPasswords && strlen(pass) < 5)) { notice_lang(s_NickServ, u, MORE_OBSCURE_PASSWORD); } else if (email && !valid_email(email)) { send_cmd(s_NickServ, "NOTICE %s Lütfen gecerli bir email adresi giriniz.", u->nick); } else if (!reglink_check(u, nick, NULL, NULL)) { notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, nick); } else if (!ni || !ngi || ngi == NICKGROUPINFO_INVALID) { notice_lang(s_NickServ, u, NICK_NOT_REGISTERED); } else if (!user_identified(u)) { notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ); } else if (irc_stricmp(u->nick, nick) == 0) { send_cmd(s_NickServ, "NOTICE %s Kullandığınız nicki kayıt edemezsiniz.", u->nick); } else if ((ni2 = get_nickinfo(nick)) != NULL) { if (ni2->status & NS_VERBOTEN) notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick); else notice_lang(s_NickServ, u, NICK_X_ALREADY_REGISTERED, nick); put_nickinfo(ni2); } else if (get_user(nick)) { notice_lang(s_NickServ, u, NICK_LINK_IN_USE, nick); } else { Password passbuf; init_password(&passbuf); if (encrypt_password(pass, strlen(pass), &passbuf) != 0) { clear_password(&passbuf); memset(pass, 0, strlen(pass)); module_log("Failed to encrypt password for %s (register)", u->nick); notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED); return; } ni2 = makenick(nick, &ngi2); if (!ni) { clear_password(&passbuf); module_log("makenick(%s) failed", u->nick); notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED); return; } copy_password(&ngi2->pass, &passbuf); clear_password(&passbuf); if (ni->last_usermask) ni2->last_usermask = sstrdup(ni->last_usermask); if (ni->last_realmask) ni2->last_realmask = sstrdup(ni->last_realmask); if (ni->last_realname) ni2->last_realname = sstrdup(ni->last_realname); if (ni->last_quit) ni2->last_quit = sstrdup(ni->last_quit); ni2->time_registered = ni2->last_seen = time(NULL); if (email) ngi2->email = sstrdup(email); ngi2->flags = NSDefFlags; ngi2->memos.memomax = MEMOMAX_DEFAULT; ngi2->channelmax = CHANMAX_DEFAULT; ngi2->language = LANG_DEFAULT; ngi2->timezone = TIMEZONE_DEFAULT; put_nickinfo(ni2); notice_lang(s_NickServ, u, NICK_REGISTERED, nick); if (readonly) notice_lang(s_NickServ, u, READ_ONLY_MODE); } }

HELP yada türkçe çeviri yapmadım dilerseniz siz yapabilirsiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_registernick(User *u) { char *nick = strtok(NULL, " "); char *pass = strtok(NULL, " "); char *email = strtok(NULL, " "); NickInfo *ni = u->ni, *ni2; NickGroupInfo *ngi = u->ngi, *ngi2; int n;

int n; ? gözden kaçmiş olabilir mi? Bir kullanım alanı belirtmemişin derleme işleminde uyari verecektir.

 
Alıntı ile Cevapla

Alt 20 Şubat 2015, 23:58   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




Sanırım öyle oldu, kodda kullanmamışım, bir nedenle yazmıştım heralde sonra vazgeçmişimdir, ama uzun zaman olduğu için neden yazdığım aklımda değil
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
silinse sorun çıkacağını sanmıyorum

 
Alıntı ile Cevapla

Alt 24 Şubat 2015, 15:49   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




Şimdi doğrusu nasıl olacak ne yapmamız lazm

 
Alıntı ile Cevapla

Alt 09 Mayıs 2015, 07:16   #10
Çevrimdışı
¿
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /NickServ REGISTERNICK Komutu




[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

 
Alıntı ile Cevapla

Cevapla

Etiketler
komutu, or nickserv, registernick


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
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 Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Nickserv Cumbusvar Anope 6 24 Aralık 2021 17:41
Register Komutu Bekleme Süresinde Komutu Uygulayanı #Kanal'a Sajoinlendirme. SeYH_SaMiL Anope 9 04 Nisan 2011 17:58
Nickserv HELP. ReiS Servisler 4 07 Haziran 2007 15:51
-NickServ- Bu kayitli ve sifre korumali bir nick'tir. Eger sizinse /msg NickServ IDEN Silence Unreal IRCd 1 17 Mart 2007 04:54