Vallahi hocam ne diyim keşke sizin gibi şeyler bende yapabilsem. Bu arada hangi yazılım dili ile yaptınız?

Scripti incelemedim ama fikir güzel, emek var, eline sağlık. Bugün Xenforo sitelerde kullanılabilir sanırım.

Merhaba.. Su konuda sizin script'i kullanarak cekilis yapmak istiyordum ancak script 101nci sayfaya gelince hata veriyor. Acaba caching'de bir hata mi var yoksa belirli bir kullanici adi mi hata yaratiyor olabilir? Tekrar merhaba. Scripteki bir problem, eger mesajlar arasinda moderasyon ekibi mesaj yazmissa, kisi detay blogunda mesaj sayisi belirten hane olmadigindan hata veriyordu. Kodunuzu su sekilde duzenledim, boylece 221 sayfa mesajin 101nci sayfasindaki bu problemden kaynaklanan hata duzeldi.. Bilginize JavaScript:Panoya kopyala // UserScript // @name Technopat Çekiliş // @namespace http://tampermonkey.net/ // @version 0.1 // @description Technopat Çekiliş // @author LastPlayer // @match https://www.technopat.net/sosyal/konu/ // @icon https://www.google.com/s2/favicons?domain=technopat. net // @updateURL https://github.com/LastPlayerTR/technopatcekilis/raw/main/technopatcekilis. user. js // @downloadURL https://github.com/LastPlayerTR/technopatcekilis/raw/main/technopatcekilis. user. js // @grant GM_setValue // @grant GM_getValue // @require https://cdn.jsdelivr. net/npm/sweetalert2@11 // /UserScript (function { function rand 'use strict'; function parsecomment { let parsedcms = let list = document. getElementsByClassName var countt = 0; for { countt++; let qid = item. getAttribute let msg = item. querySelector . innerHTML; let userExtras = item. querySelector ; if { let msgcount = item. querySelector . getElementsByClassName . querySelector . innerHTML. replace 1 let username = item. querySelector . innerHTML; if console. log parsedcms = } } return parsedcms } function sonucekrani { let sonliste = let cekilislistesi = Swal. fire( ). then(result=>{ Swal. fire({ title: 'Kullanıcının minimum kaç mesajı olmalı?', icon: 'question', input: 'range', inputLabel: 'Sayı', inputAttributes: , inputValue: 0 }). then => { if { let dataz = GM_getValue dataz = JSON. parse for (var datak of Object. keys { let data = dataz //if(data. msgcount >= result. value && (data. msg. includes || data. msg. includes || data. msg. includes || data. msg. includes ){ if(data. msgcount >= result. value && (data. msg. includes || data. msg. includes || data. msg. includes || data. msg. includes ) } let winner = rand(Object. keys Swal. fire . then(res=>{ for(const datak of Object. keys { let data = sonliste if } GM_setValue GM_setValue GM_setValue }) } }) }) //console. log(JSON. parse(GM_getValue } if(GM_getValue true){ Swal. fire({ title: 'Yorumlar Sayılıyor!', text : "Sistem verileri düzenliyor lütfen bekleyin!", allowOutsideClick : false, didOpen: => }) let data = parsecomment let dataz = GM_getValue dataz = JSON. parse Object. keys . forEach ; GM_setValue('datas', JSON. stringify let btn =document. querySelector if else } const zaaa = document. createElement ; zaaa. id = 'Tamamla'; zaaa. innerText = "Çekilişi Başlat"; zaaa. style. cursor = 'pointer'; zaaa. style. position = 'fixed'; zaaa. style. bottom = '10px'; zaaa. style. right = '100px'; zaaa. style. color = 'black'; zaaa. style. zIndex = 10001; // css, lock to right bottom, get over everything in the page. zaaa. onclick = async function { GM_setValue GM_setValue GM_setValue let datam = parsecomment GM_setValue('datas', JSON. stringify Swal. fire({ title: 'Yorumlar Sayılıyor!', text : "Sistem verileri düzenliyor lütfen bekleyin!", allowOutsideClick : false, didOpen: => }) let btn =document. querySelector if else }; if(GM_getValue false) const resetgiveaway = document. createElement ; resetgiveaway. id = 'Tamamla'; resetgiveaway. innerText = "Verileri Sıfırla"; resetgiveaway. style. cursor = 'pointer'; resetgiveaway. style. position = 'fixed'; resetgiveaway. style. bottom = '10px'; resetgiveaway. style. right = '250px'; resetgiveaway. style. color = 'black'; resetgiveaway. style. zIndex = 10001; // css, lock to right bottom, get over everything in the page. resetgiveaway. onclick = async function ; document. body. append ; // append the button directly to the body. // Your code here... }) ;

Swal, sweet alert eklentisi. Script lokalde yuklu olmadığı için hata veriyor. Warning olarak çıktığı için önemli değil.

Ne işe yarıyor?

Ama çekilişi baslat deyince sayfa tamamlanıyor demiyor.

JavaScript kolay bir dil hocam. HTML CSS JS olarak öğrendim böyle şeyler yapacak seviyeye gelmem sıfırdan 1 ayımı aldı. Tabi ki insan insana değişir benim daha önceden C# tecrübem vardı.

Sanırım kendin kodlayıp tasarlamışsın. Çok güzel olmuş eline sağlık dostum.

Hocam şöyle bir şey oluyor.

Elinize sağlık.

Teşekkür ederim hocam. Çekiliş yaparsam işime yarayacaktır

Elinize sağlık hocam artık çekiliş yapanlar teker teker isim almak zorunda kalmayacak. Sıkıntısı yoksa çok güzel olmuş.

Zaten öyle değil mi? "Şuanlık sadece "Katıldım." , "Katildim." ,"Katılıyorum. , "Katiliyorum." kelimelerini geçerli yorum olarak almaktadır. Güncellemeler ile birlikte filtreleme kısmından seçim yapabileceksiniz."

Şuan da o şekilde hocam. Fix: Github Gist sistemi otomatik güncellemeyi desteklemediği için Github Repo geçilmiştir. Son sürüm kullanmak için Script tekrardan kurun. Tek sayfalı olan konularda Yorumlar Toplanıyor kısmında kalma hatası düzeltildi.

Faydalı bir konu

İşe yarar. müq olmuş he sen yaptıysan helal olsun

JavaScript ile yaptım hocam.

Çekiliş konularında hızlı bir şekilde çekiliş yapmaya yarıyor.

Sağolun hocam. Tüm XenForo sitelerinde kullanılamayabilir eğer temalarda class farkları varsa.

Sağolun hocam. Test ettiğim kadarıyla bir sıkıntısı bulunmuyor. Eğer hata bulursanız bu konu altından bildirebilirsiniz.

Yani hocam bunları öğrenmeniz ne kadar zamanınızı aldı?

@LastPlayer Elinize sağlık hocam yararlı bir script işe yarar.

Anladım sağ olun. Başarılarının devamını dilerim. @LastPlayer hocam aklıma şöyle bir fikir geldi bu yaptığınız yazılımı şöyle yapabilir misiniz? Sadece katıldım yazanların ismini alsın.

Technopat çekiliş scripti. Ne işe yarar: Çekiliş konularında hızlı bir şekilde çekiliş yapmanıza yarar. Kullanım: öncelikle çekiliş yapılmak istenen konunun ilk sayfasını açın. Daha sonra aşağıda bulunan Çekilişi Başlat butonuna tıklayın. Sistem otomatik olarak tüm sayfaları gezecek ve yorumları toplayacak. En son filtreleme kısmından kullanıcıların mesaj sayısına göre filtreleme yapabilirsiniz. Tebrikler çekilişinizi hızlı bir şekilde tamamladınız! Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak. Daha detaylı bilgi için, çerezler sayfamıza bakınız. Üçüncü taraf çerezlerini kabul et Kurulum: Öncelikle TamperMonkey eklentisini kurun. Tampermoney kurulumunu tamamladıktan sonra Github Gist sayfasına giderek "Yükle" butonuna tıklayın. Tebrikler çekiliş script başarıyla kurdunuz! Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak. Daha detaylı bilgi için, çerezler sayfamıza bakınız. Üçüncü taraf çerezlerini kabul et Otomatik Güncellemeler: Gelen önerilere ve hata düzeltmelerine göre güncellemeleri Github Gist linki üzerinden yayınlayacağım ancak bununla uğraşmak istemiyorsanız otomatik güncelleme özelliğini aktif edebilirsiniz. Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak. Daha detaylı bilgi için, çerezler sayfamıza bakınız. Üçüncü taraf çerezlerini kabul et Hataları, eleştirilerinizi, önerilerinizi bu konu üzerinden belirtebilirsiniz. Son düzenleyen: Moderatör: 23 Ağustos 2021

@UserHakan Tutorial takip etmenin iyi olduğunu düşünmüyorum. Önemli olan dökümasyon okuyabilmek ve bilmek. En başından algoritma, programlama dilleri nasıl çalışır diye öğrenirseniz dilleri çok rahat öğrenirsiniz. C# ise syntax öğrendim ve basit if else function vs. öğrendim. 1-2 haftamı aldı.

Anladım yani şöyle diyorsunuz önceden C# öğrendiğim için bunlara geçmem çok zamanımı almadı peki C# ne kadar zamanınızı aldı.

İçimden bir oha dedim. Helal olsun!

Harika!