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

>
+
Etiketlenen Kullanıcılar

12Beğeni(ler)

 
 
LinkBack Seçenekler Stil
Prev önceki Mesaj   sonraki Mesaj Next
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

 

Etiketler
komutu, or nickserv, registernick


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

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