Evet arkadaslar epeydir beklenen bir tcl di sanirim. Bende cok aradim webde ancak tam anlamiyla isimi goren birsey bulamamistim. tcl dilinide pek bilmedigim icin kendim yazamamistim bugune kadar. Sadece aCouSTiC'in yazmis oldugu istek.tcl inde ufak tefek bir kac editleme yapmistim. Ancak uzun aramalarim bir sonuca ulasmayinca
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresini bir ziyaret etmek zorunluluk oldu. Bu kadar basit olduguna sanirim sizde inanamiyacaksiniz.
İstatistik.tcl:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#********************************************************************
# İstatistik v1 Yapımcı :Armağan YÜKSEL
#
# İrc serverdaki kanalları ve user sayılarını .txt dosyasına kaydeder.
# 3 dk. sonra kendini günceller. (Süreyi kendiniz ayarlayabilirsiniz)
# Yazacağınız herhangi bir javascript,php,asp ..vs koduyla dosyayı okutup,
# web sayfasina yansıtabilirsiniz. Çalışan halini;
#
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
adresinde görebilirsiniz.
# ********************************************************************
#Verilerin tutulacagi dosya adi.Yol belirtemyip sadece istatistik.txt seklinde yazarsaniz,
#Eggdrop kalsorunde botunuzun .conf dosyasinin oldugu dizine yaratacaktir ve web sitenizden dosyayi okuyamiyacaksiniz.
#Bu yuzden dosyayi web klasorunuzun icine yaratmaniz gerekiyor.
set dosyaadi "/home/usr/public_html/istatistik.txt"
#bindler
bind join - * listcek
bind raw -|- 322 listele_ve_yaz
#Bot servera baglandiginda /list cekiyor..
proc listcek {args} {
global chan dosyaadi
putserv "LIST"
#Burda dosya yoksa yaratiyor. 3dk sonra geri dondugunde dosyayi temizliyor.
set fs [open "$dosyaadi" w]
close $fs
}
#Bot /list komutuyla gelen verilerin icersinden kanal isimlerini ve kisi sayilarini aliyor.
proc listele_ve_yaz {from key arg} {
global kanal kisi dosyaadi
#burda verileri aliyor
set kanal [lindex $arg 1]
set kisi [lindex $arg 2]
#burda dosyaya yaziyor.
set fs [open "$dosyaadi" a]
#Ben kendi web sayfamdaki tasarimima gore dosyaya <div>'ler ve style'larla beraber yazmasini istedim.
#Ozellikle silmedimki belki sizede yardimci olur.
#Siz "" icini kendinize gore ayarlayabilir yada sadece $kanal ve $kisi yazarak bu bilgileri yazdirabilirsiniz.
puts $fs "<div style=\"float:left; padding:3px; width:150px;\"><span style=\"font-weight:bold; color:black;\">$kanal:</span>$kisi kisi</div>"
close $fs
#burda 3 dk. bekliyor ve tekrar basa donuyor.(Boylelikle yeniden /list cekilmesini sagliyor ve
#verilerin oldugu dosyayi yeni verilerin yazilmasi icin temizliyor.
timer 3 listcek
}
putlog "4Istatistik.v1 Yüklendi.."
putlog "4Yapımcı : Armağan YÜKSEL"
Tcl dosyamiz bu kadar. Gerekli aciklamalari icersinde yaptim. Simdi olusacak txt dosyasindaki verileri okumak icin bir php dosyasi yaratalim.
oku.php
Kod: Kodu kopyalamak için üzerine çift tıklayın!
<html>
<head>
<title></title>
</head>
<body style="font-family:Verdana; font-size:12px; color:#ff096c;">
<div style="width:650px;">
<?
$dosya = fopen("istatistik.txt","r");
while(!feof($dosya)) {
$satir= fgets($dosya, 50);
echo "$satir";
}
fclose($dosya);
?>
</div>
</body>
</html>
istatistik.txt dosyamiz web kalsorumuzun icinde oldugu icin oku.php dosyamizinda ayni yerde olmasi cok mantikli
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Su anda gerekli veriyi aldik okuduk duzenledik ve yazdik. tcl dosyasinin icersinde de aciklamistim ama bir kez daha soyliim ben tcl icindeki ve php icindeki divleri stylelari kendi web sayfama gore tasarladim. kanallari 4 sira yana diziyor sona asagi satira geciyor. Sizede fikir olsun diye silmedim. Siz kendinize gore ayarlayabilirsiniz.
Aslinda html den anlayan arkadaslar icin mevzu burada bitiyor ama daha az bilgisi olan arkadaslar icin devam ediyim. Su asamada
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] de verileri gosteriyor. BEn bunu ana sayfama koymak istiyorum derseniz; index sayfaniz icersinde yaratacaginiz bir iframein src sine oku.php linkini vermeniz yeterli.
Olayi dahada ileri goturup ana sayfamdaki verilerde 3-5 da bir yenilensin diyorsaniz, oku.php icersinde <head></head> taglari arasina;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
<meta http-equiv="refresh" content="180" />
kodunu eklerseniz 3dk da bir oku.php dosyasini guncelleyecektir.
Ben bide goriyim derseniz.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Sonuc olarak bu goruntuyu alabilirsiniz. Gorunmesini istemediginiz kanallari +p moduna almaniz botunuz oper degilse ise yariyor.
Tek eksigide sanirim kanallari rastgele almasi. Bunun icinde tclden benden daha iyi anlayan arkadaslar tcl icersinde ufak bir editleme yapip kanallari kisi sayisina gore siralatabilirler. Ben cok urasamadim acikcasi. Bende zaman zaman forumlarda yazilan bilgilerden faydalanan bir insan olarak ve bu olayin baya cok yapilamak istenilen birsey olamasi dolayisyla sizlerlede paylasmanin guzel olacagini dusundum.
Kolay gelsin.;oki