![]() |
Web Nick Kayıt Sistemi selamlar.. hep istemiştim dün akşamda yazmıştım baktımki bir arkadaşımız o Nacizane elerinden Mükemel bir kod yazmış ircservices icin. paylaşalım dedik. inş umuldugu gibidir. Örnek Görünüm istenildigi gibi dizayn edile bilir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kurulum üc Aşamadan oluşmaktadır. WEB, eggdrop, ircservices. WEB tabanlı paylaşım kısmını [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Eggdrop tabanlı kısmı [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] services tabanlı kısmı : ircservices*.* > modules > nickserv > main.c Kod: static void do_unsuspend(User *u); Kod: static void do_registernick(User *u); Kod: { "DROPNICK", do_dropnick, is_services_admin, -1, Kod: { "REGISTERNICK", do_registernick, is_services_admin, -1, Kod: /*************************************************************************/ Kod: /*************************************************************************/ TCL : yardımında Emegi gecen : CLubber Services emegi gecen Arkadaşımız xwerswoodx Sonsuz teşekkürler not yıldırım hızı ile bukadar oluyor. geliştirmeye devam etme sözü ile hayırlı olsun. ve kodları codeler icinde paylaşamıyorum. Explorerler yada makina ile ilgili bir problemden dolayı malum butonları kulanamıyorum. |
Cevap: Web Nick Kayıt Sistemi Hata verdi; Kod: Parse error: syntax error, unexpected T_STRING in C:\inetpub\vhosts\klbk.gen.tr\httpdocs\xline\deneme\gonder.php on line 16 |
Cevap: Web Nick Kayıt Sistemi Alıntı:
if (!fwrite($dosyaya_baglanti,$yazilacak_deger)){ echo "Dosyaya yazilamiyor!"; exit; } echo "isleminiz Basarili bir şekilde IRCd Serverine Gönderilmiştir..<BR>"; [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dosyasi olmadiği için hata veriyor. bu 1'nci hatan. proc basla {{text ""}} { global zaman_araligi set connect [::http::geturl [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set files [::http::data $connect] set list [split [subst -nocommands $files] "w"] foreach i $list { putquick "nıckserv register $i" ::http::cleanup $files } timer $zaman_araligi basla } Eggdrop bot deneme/kayit.txt'e gidiyor register.ini'ye gitmeliydi bu 2'nci hatan putquick "nıckserv register $i" Nicke Geçmeden Nick Kayit Etmeye Calisiyorsun Bu 3'ncü Hatan. Web sayfasindan kayit ederken post ettiğin veriler içinde nick var Eggdrop'dan direkt post edilen ve register.ini'ye kaydolan nickleri kayit etmeye calisiyorsun orada nick verisinide $i değişkenine atamiş oluyorsun ircserviceste nick /ns register nick şifre email diye kaydedilmez. Bu 4'ncü hatan. Eğer auth sistemi varsa kişinin nickini kayit edersin 24 saat sonra düşer, gerekli önlem almamişsin bu 1'nci eksikliğin. Eğer bu kayit sayfasina giden kullanıcı o an nick üzerindeyse Eggdrop bot bu nick kullanılıyor hatasi alir nicke geçemez bu 2'nci eksikliğin Eğer E-Mail üzerine auth code girilmemişse, veyahut 5'den fazla nick kaydedilmişse hata alirsin ve kullaniciya hiç geri bildirim yapmamişsin bu 3'ncü eksiğin 4-5-6-7-8-9'ncu eksiklerinde var saymıyorum talep edersen geliştirmen açisindan sana o eksiklerin neler oldugunu buradan yazicam bu bir tepki mesajı değildir. Sadece "Çocuk oyuncaği" dediğin şeyin aslinda çocuk oyuncaği olmadiğini sana göstertmek maksatlı bir mesajdır. Hani hepsinde ayni ufak tefek hatalar diyordunya işte eggdrop tarafina oyle 2 satir kod yazarsan bu tip hatalarin onlarcasiyla karsilasirsin. Sanada söylediğim gibi bu iş en aşaği 100 satir kodla yapilir.(yada byte bakimindan eşdeğer daha az satirla) Hele ki Eggdropta bu sayi daha fazla olacaktir. Çünkü Eggdrop mS gibi geniş fonksiyonlara sahip bir geliştirme araci değil. Kolay gelsin kodlar için teşekkürler. --IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 12:26 -->-> Daha önceki mesaj 12:13 -- Ha unutmadan ekleyim; set zaman_araligi "4" if {![string match "*basla*" [timers]]} { timer $zaman_araligi basla } proc basla {{text ""}} { global zaman_araligi set connect [::http::geturl [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set files [::http::data $connect] set list [split [subst -nocommands $files] "w"] foreach i $list { putquick "nıckserv register $i" ::http::cleanup $files } timer $zaman_araligi basla } Bu iskelet üzerine bu sistemi geliştirmen mümkün değil. 4 saniyede bir komutu calistirip register.ini'de nickleri kaydetmeye calisiyorsun olurda 2-3 nick eklenirse oraya 4 saniye içinde sen 2 nicki ircserviceste arka arkaya kaydedemezsin. While oluşturmuşsun orada (Eggdropttaki adi neyse) o while'a ya süre siniri koyman lazim yada kullaniciya geri dönüş yapman lazim (X dakika sonra tekrar deneyin diye) Bu iskelette sen hiçbir şekilde kullanıcına geri dönemezsin. Çünkü işlemleri tamamen register.ini ye endeskli yapiyorsun ortada iletişim halinde bir veri kanalın yok. Kullanici nicki kayit edip etmediğini bile anlayamaz (Ezbere mesaj atarsin kayit ettim diye) Peki ya nick zaten kayitliysa ne olacak ? Sonra #Help kanalında nickimi çalmışlar diyen userlerle uğraşir durursun. |
Cevap: Web Nick Kayıt Sistemi Alıntı:
degerli @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] tcl de sorun yok sadece uzantı kısmını gözden kacırmışım gerekli düzenleme ve kuruluma ayit detaylı bilgileri tekrardan paylaşıcam. dedigim gibi Yıldırım hızı bukadar olur Ama bilgili bir insanın bunlara takılması ve aktif edememeside beni düşündürdü :) Alıntı:
Degerli @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] web dosyasının icerisinde bulunan register.txt cmd 777 izni verilmelidir Gerekli düzenlemeler Yapılmıştır ve kuruluma ayit bilgileri icerisine aktardım DEMO Adresinide Yakında paylaşacagım indirme link 1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] indirme link 2 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Adreslerinden Ulaşabilirsiniz. |
Cevap: Web Nick Kayıt Sistemi ben .ini dosyasına gerek duymuyorum cünkü wind makina gerek duymaksızın yapıla bile bir işlem Değerli MesqeN Win makina mIRC'i çalıştırmak için lazim bana sen Eggdrop kullanıyorsun tabiki senin Win makinaya ihtiyacin yok. Fakat işe öncelikle dinamik bir veri kanalı oluşturarak başlamalisin. Ben mS'de socket kullanabiliyorum, Eggdropta socket kullanip (Var ise) dinamik bir veri kanalı oluşturabilirsin dediğim gibi amacım eleştirmek değil sadece eksiklerini söylüyorumki sen veya senden başka birisi geliştirmek isterse bunlari gözden kaçirmasin diye. Dinamik bir veri kanalı olmaksizin bu işlem .txt, ini dosyalarindan kurtulamaz. Ve sürekli o dosyalari yoklaman gerekir bu zaman kaybina yol açar ve mutlakada sana bir aksaklık cıkartacaktır. Ben onlari aktif ederim zaten problem değil düz userler nasil edecek ? :) |
Cevap: Web Nick Kayıt Sistemi @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] demo verdigin siteden aldım o hatayı. |
Cevap: Web Nick Kayıt Sistemi uFuK Tcl'de socket tabiki de var.. . sadece yazan/kullanan yada kullanmayı bilip te* birşey yazan-paylaşan olmamış burada... php kısmında yorum yapmayacağım, php'yle aram bir iki ufak tecrübem dışında son derece sınırlı kaldı,meil ettiğim bir dil olmadı hiç doğrusu... yukarıda CLubber'ın katkılarıyla dediğiniz tcl hakkında yorum yapmasam olmayacak. nedenine gelince bunu CLubber yazmış olamaz .... olsa olsa CLubber'ın yazdığı kodlardan parçalar halinde satırlar devşirilip bir araya getirilmiş gibi... toplamda 9 hata saydım. ve kodu çalıştıracak ,çalışmasına neden olacak birşeyde yok ... ( bind ) yok eğer shell üstünde tclsh gibi çalıştırılmayacaksa ,eggdrop ile çalıştıracaksa ne çalıştıracak/başlatacak bu kodu ? Kod: timer $zaman_araligi basla Kod: timer $zaman_araligi [list basla] Kod: proc basla {{text ""}} { http bağlantısıyla adresteki kayit.txt'tekiler alınmak istenmiş ancak : Kod: set list [split [subst -nocommands $files] "w"] bu durumda veriyi split "w" demek, satırları "w" den itibaren kesip oku * gibi anlam taşır ancak... ve eğer o web üzerindeki dosyada alınmak istenen veri* <b>bla</b> yada $nick $text vs gibi komut yada variable'lar içermiyorsa bu satırda subst -nocommands çok anlamsız duruyor. subst "substitution" yani "yerine yerleştirme / değiştirme /değişiklik" anlamları içeriyor ki Tcl'de tamda buna göre kullanılan bir komut. Kod: putquick "nıckserv register $i" Kod: putquick "nıckserv register :$i" Kod: ::http::cleanup $files Kod: ::http::cleanup $connect prosedür içinde son satırda timer durdurulmalıydı oysa burada yeniden çağrılmış. bu şekilde kullanılırsa timer hatası atacaktır.zaten prosedür dışında üstte çağrılmaya çalışlmış olan timer halen işlerken birkez daha bu kez prosedür içinde aynı prosedür için ikinci kez çağrılıyor : Kod: foreach _ [timers] { ve en başta yazdığım gibi bu kodu "ne" çalıştıracak ne çalışmasına sebep* olacak.. timer yerine bind cron yada bind time : Kod: bind cron - "*/5" proc_adı Kod: bind time - "?5 *" [list foo bes]; proc foo {icerik m h D M Y} { putlog "${icerik} dakika oldu." } |
Cevap: Web Nick Kayıt Sistemi Alıntı:
üstad kod sorunsuz calışıyor. ben yazıları ezbere hızlı okudugum icin. hatalarım yüksek oluyor. Ama mevcut tcl linklerde bunları günceliyerek insanlara sunmakta bir emektir. emek vermek güzeldir. |
Cevap: Web Nick Kayıt Sistemi Peki Eggdrop ile bir portu dinleyebiliyormusunuz @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Çünkü Eggdrop websitesi dizinine kurulacak tabiatiyla ip adresi, web ile ayni olacak tam bir iç haberleşme söz konusu biz mS'de socklisten ile bir porta gelen veriyi (local portumuza) dinleyebiliyoruz. Sizde bu mümkünse Eggdrop temelli olarak sistem geliştirilebilir. Çünkü burada esas olan kullanıcıyı bilgilendirebilmek ve doğru olarak bilgilendirebilmek. Başta'da bahsettiğim gibi dinamik veri kanalının oluşturulması bu sistem için sadece core'dir. Asil iş IRC tabaninda NickServ ile olan iletişiminizde saklı birçok koşulu kontrolünüz altında tutmak önemli. |
Cevap: Web Nick Kayıt Sistemi Tcl socket çok eskilerden beri bilhassa cisco IOS yazılımlarında/yönetiminde/scriptlerinde -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ayrıca son Mac (sanırım maverick sürümünde)portları Tcl ile yazıldığı duyurulmuştu -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]... eggdrop Tcl olarak örnekleri fazla yok ,çoğunlukla Rus (bastel,sergio/vertigo, anastasia, perplexa ...) ve Fransız Tcl script yazarlarının (crazycat,menzegitat,dj.kenny...) çalışmaları var. fransızlar bizdeki mirc socket botlarına benzer güvenlik vs işleri yapan uzun binlerce satırlık Tcl socket kodları var.(lea service ,gestion bot vs sunucu koruma eggdrop Tcl socket scriptleri gibi...)... ruslar güvenlikten ziyade bizdeki cycle botları benzeri ancak sunucu doldurmak için değilde relay (yansıtma) için yazdıkları socket scriptleri var. ancak Tcl - Tcl/tk 'da socket kullanımı çok daha yaygın -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] shell / sunucu scriptlerinde tclsh olarak çokça kullanılabiliyor. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] port taramak belli bir ip/host : açık port üzerinden veri alışverişi dcc bağlantısında olduğu gibi mümkün. (örnek yazılmış ssh scriptleri vardır. dosya alış verişi yaptıran xdcc file server scriptleri vs vardır. ) ancak : pure/safe Tcl'deki bazı/kimi komutlar eggdrop tcl için kullanımı uygun değil "sakıncalı" after ,vwait gibi... botun kasmasına asılı kalıp diğer yapması gereken işleri askıya almasına neden oluyor.bir süre sonra bot ping time out oluyor. .. |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:31. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk