Cevap: EGGDROP - Tcl scriptleri bota yükleme,tanıtma..
botun içine attığı tcl scripti botun görebilmesi ve çalışmaya başlaması için botun confunda scriptlerin eklendiği kısımda
source scripts/scriptin-adi.tcl
şeklinde gösterilmesi gerekir. scripts klasörü yerine başka bir klasöre eklendiyse o klasörün yerin adı "scripts" yerine yazılır.botun ana dizinine koyduysanız
source scriptin-adi.tcl
şeklinde eklenir. burda dikkat edilmesi gereken scriptin adını olduğu gibi yazmak gerekir .büyük -küçük harf uyumuna dikkat etmelisiniz.ayrıca scriptin adında birden fazla kelimeden oluşuyorsa kelime aralarında boşluk olamaz örneğin:
sCRiptİN AdI.tcl
şeklinde olamaz ayrı yazan AdI ya birleştirilmeli ya araya nokta yada tire konmalı sadece .conf gösterirken değil scriptin adınıda bu şekilde değişmelisiniz.yani confta eklenenle olan script adları görünümleri uyumlu aynı olmalı:
sCRiptİN-AdI.tcl ise bunu botun .confunda source scripts/scriptin-adi.tcl
şeklinde gösteremezsiniz olduğu gibi eklenmeli
source scripts/sCRiptİN-AdI.tcl
bu örnek için doğru şekildir.
sadece bu değişikliği yapmak da yeterli değildir. botun bu değişikliği görmesi için bota ya .rehash ya .restart işlemi uygulamak gerekir
kanal üstünden sahip-owner yetkisindeki kişi /msg bot-nick rehash şifre
komutuyla yada telnet/dcc bağlantısıyla .rehash yada .restart komutu uygulayabilir. bazı scriptlerde .rehash yeterli gelirken bazı scriptlerin işlemeye başlaması için .restart gerekebiliyor.
eklediğiniz scriptin de kendine göre işlemeye başlaması için yazılışından kaynaklanan özellikleri nedeniyle bazı ayarların yapılması gerekir..
bazı scriptlerin çalışması için telnet/dcc üzerinden aktif hale getirilmesi gerekir.
bunun için
.chaninfo #kanaliniz
komutuyla botun bulunduğu kanal üzerindeki ayarları göreceksiniz. bu komuttan sonra alt bölümde botun içindeki scriptlerden kaynaklanan ayarlar yer alır.örnek
bota Google tcl scripti attık diyelim bu scripti aktif etmek için scripti botun içine sftp ile upload ettik confu açtık
source scripts/Google.tcl
die ekledik .rehash yada .restart ettik.
bota telnet/dcc bağlandık.
.chaninfo #akanali
komutu verdik bot ayarları listeledi .listelenen ayarlarda kullanıcı tanımlı ayarlar kısmında -Google die bir satır gördük diyelim.
bu scriptin yüklendiğine ancak kanal üstünde aktif halde olmadığına işaret eder.
aktif etmek için:
.chanset #akanali +Google
komutu verdik mi bu script kanalımız üstünde işlemeye başlayacaktir. ayarları korumak için .save kanal ve kullanıcı dosyamızın yedeklemek için .backup komutu uygulanabilir.yedeklenmiş ayarları geri yüklemek için .reload uygulnabilir.
eğer hala script işlemiyorsa bu script üstünde sizin yaptığınız değişiklikler nedeniyle olabilir.yada yapmanız gereken ayarları script içinde yapmadığınızdan kaynaklanabilir.
yada yüklenen script artık işlevini yitirmiş olabilir.yani artık çalışmıyordur.bu özellikle bir siteden kaynak kodlar aracılığıyla bilgi çeken scriptlerin başına sık sık gelir.site üstünde yapılan değişiklikler nedeniyle kaynak kodu değişir ve bot için yazılmış kod artık işlemez hale gelir.
tüm bunların dışında yüklediğiniz scriptin çalışması için ya başka bir scriptin daha yüklü olması yada botun işlediği sistemde tcl.lib haricinde başka başka paketlerin var olması gerekebilir.
bu yüklü olması gereken script yada paketleri scriptin kodların başladığı üst kısmında require http yada package require json vs gibi belirtirler.bunun anlamı o scripti çalışması için bu scriptin yada paketin bulunması zorunludur.bu gereksinim yoksa yada script bu paketin-scriptin yüklü olduğu yeri-dizini göremiyorsa çalışmayacaktır.
Örnek bazı scriptler mysql database kullanabilir bunu kullanmanız için botun kurulu olduğu makinada bu paketin kurulu olması ve sistem yöneticisinin size bu pakete erişim hakkı tanıması gerekebilir...
yukardaki şekilde yüklediniz kontrolleri yaptınız hala işlemiyorsa o scripti ve botunuzu özelliklerini (versionu yüklü olduğu makinadaki tcl versionu vs ) gibi bilgilerini burda paylaşmanız gerekir (bota telnet/dcc üzerinde .status komutu bu bilgileri listeler.) ki neden çalışmadının cevabını verebilelim.bunun dışında scripti çalıştımayı denediğinizde yada botu yüklediğinizde telnet/dcc yada putty üzerinde herhangi bir hata error mesajı görünüyorsa bunuda paylaşmanız hatayı tanımlamakta yardımcı olacaktır. |