17 Mart 2015, 21:38 | #1 |
Üyelik tarihi: 27 Ocak 2015
Bulunduğu yer: Denizli Mesajlar: 136 WEB Sitesi: www.AlemTR.com IRC Sunucusu: www.AlemTR.com İlgi Alanı: Alınan Beğeni: 69 |
Tarih'te Bugün .Tcl
Tarih'te bugün satırları ayarlar kısmında belirleyeceğiniz arayla (dakika) aktif edilen kanala yansıtılır.
kodu yükledikten sonra kanal üstünde .tarih aç komutuyla kod kanalda aktif olur. .tarih kapa komutuyla'da pasif edilebilir. .tarih komutu yardım içeriğini verir. Kod:
# http paketi kullanır. package require http # kanalda aktif-pasif etmekte kullanılacak,kullanıcı tanımlı flagtır. setudef flag tarihtebugun # açma-kapama komutunu kullanma yetkileri: set tarih(flag) "mnf|oaf" # açma-kapama komutunu kullanıcı en az kaç saniye arayla kullanabilir? set tarih(flud) 10 # komut ne olmalı? set tarih(kmt) "tarih" # komut başına ne gelmeli? set tarih(trig) "." # tarihte bugün satırları kaç dakika arayla gönderilecek? set tarih(zmn) 1 # bot ana dizininde oluşturulacak verilerin saklanacağı .txt set tarih(file) "tarih.txt" # kaçıncı satırdan okumaya başlanacak? ( 0 == ilk satırdır.) set tarih(str) 0 # veri alınan site adresidir. set tarih(url) "http://www.tarihtebugun.gen.tr/" # ayarların sonu... proc update_tarih {args} { global tarih set t [::http::geturl $tarih(url) -timeout [expr {9*1000}]] set d [::http::data $t] ::http::cleanup $t regsub -all -- { } $d {} d regexp {3px\;\'>(.*?)</table>} $d "" o regexp {Bugün Olan Olaylar(.*?)<} $d "" b regsub -all -- {</td></tr>} $o "\n" o regsub -all -- "<.*?>" $o {} o regsub -all -- {\n(\s+)} $o "\n" o regsub -all -- {([0-9]{2}/[0-9]{2}/[0-9]{1,4})(\s+)([^\n]+)} $o "\00312\\1\003 \00303$b\003 : \00314\\3\003" o set fp [open $tarih(file) w] puts $fp [tarih_strip [string trim $o]] close $fp } proc tarih_strip {t} { return [string map[list Þ \u015e ý \u0131 þ \u015f Ý \u0130 ð \u011f \} "" \{ ""] $t] } proc posts_tarih {minute hour day month weekday} { global tarih foreach chan [channels] { if {[channel get $chan tarihtebugun] && ([scan $minute %d] + ([scan $hour %d]*60)) % $tarih(zmn) eq 0} { set fp [open $tarih(file) r]; set str [split [read $fp] \n]; close $fp set say [open $tarih(file) r]; set i 0 while {[gets $say out] >= 0} { incr i }; close $say largetext privmsg $chan "\002Tarihte Bugün\002 : [lindex $str $tarih(str)]" if {[expr {$i + 1}] eq $tarih(str)} { set tarih(str) 0 } else { set tarih(str) [expr {$tarih(str) + 1}] } } } return 0 } proc load_tarih {type} { update_tarih $type } proc kontrol_tarih {nick uhost hand chan text} { global tarih set komut [lindex [split [string tolower $text]] 0] set host [lindex [split [getchanhost $nick $chan] @] 1] if {[throttled $host,$chan $tarih(flud)]} { putserv "privmsg $chan :\002Flood yapmayın !!! - [expr {[clock seconds] - $::throttled($host,$chan)}] \ saniye sonra yeniden deneyebilirsiniz...\002" return 0 } switch -exact -- $komut { "aç" { if {![channel get $chan tarihtebugun]} { channel set $chan +tarihtebugun putserv "privmsg $chan :\00310$chan\003 \00314kanalında\003 \002Tarihte Bugün\002 \00309$nick\003 \00314tarafından\003 \002aktif\002 \00314edildi.\003" putserv "privmsg $chan :\00314Bilgiler her\003 \00312$tarih(zmn)\003\00314dakika'da bir gönderilecek.Kapatmak için\003 \00304$tarih(trig)$tarih(kmt) kapa\003 \00314komutu kullanabilirsiniz.\003" bind cron - "* * * * *" posts_tarih } elseif {[channel get $chan tarihtebugun]} { putserv "privmsg $chan :\00309$nick\003 \00310$chan\003 \00314kanalında\003 \002Tarihte Bugün\002 \00314zaten\003 \002aktif\002 \00314durumda.\003" putserv "privmsg $chan :\00314Kapatmak için :\003 \00304$tarih(trig)$tarih(kmt) kapa\003 \00314komutunu kullanabilirsiniz.\003" } return 0 } "kapa" { if {[channel get $chan tarihtebugun]} { channel set $chan -tarihtebugun putserv "privmsg $chan :\00310$chan\003 \00314kanalında\003 \002Tarihte Bugün\002 \00309$nick\003 \00314tarafından\003 \002pasif\002 \00314edildi.\003" putserv "privmsg $chan :\00314Açmak için\003 \00304$tarih(trig)$tarih(kmt) aç\003 \00314komutunu kullanabilirsiniz.\003" unbind cron - "* * * * *" posts_tarih } elseif {![channel get $chan tarihtebugun]} { putserv "privmsg $chan :\00309$nick\003 \00310$chan\003 \00314kanalında\003 \002Tarihte Bugün\002 \00314zaten\003 \002kapalı\002 \00314durumda.\003" putserv "privmsg $chan :\00314Açmak için\003 \00304$tarih(trig)$tarih(kmt) aç\003 \00314komutunu kullanabilirsiniz.\003" } return 0 } default { putserv "privmsg $chan :\002Tarihte Bugün\002 \00314açmak için\003 \00304$tarih(trig)$tarih(kmt) aç\003 \00314komutunu\003" putserv "privmsg $chan :\00314Kapatmak için :\003 \00304$tarih(trig)$tarih(kmt) kapa\003 \00314komutunu kullanabilirsiniz.\003" } } return 0 } # http://is.gd/SVU9r1 proc throttled {id time} { global throttled if {[info exists throttled($id)]} { return 1 } { set throttled($id) [clock seconds] utimer $time[list unset throttled($id)] return 0 } } # linewrap proc by speechles proc largetext {type target text {delims {" "•,.!?}}} { set lineLen [expr {412 - [string length ":$::botname $type [join $target] :\r\n"]}] if {[string length $text] <= $lineLen} { putserv "$type $target :$text" return 0 } set _text [split $text $delims] set x 0 set i 0 while {$x < $lineLen} { if {$i >= [llength $_text]} { return 0 } set wordlen [string length [lindex $_text $i]] if {$x + $wordlen > $lineLen} { break } incr x $wordlen incr x incr i } putserv "$type $target :[string range $text 0 [expr {$x - 1}]]" largetext $type $target [string trimleft [string range $text $x end]] $delims } bind evnt - rehash load_tarih bind time - "?0*" update_tarih bind pub $tarih(flag) $tarih(trig)$tarih(kmt) kontrol_tarih putlog "[lindex [split [info script] /] 1] ok..." #EOF Aynı Dünyada Yaşamamalı Cellatlar Ve Çocuklar . Ya Ölmeli Cellatlar,Yada Hiç Doğmamalı Çocuklar...! |
Alıntı
|
Etiketler |
bugün, tarihte, tcl |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
Seçenekler | |
Stil | |
|
|
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Türkçe bir tarih scripti | Kaf_Dağı | Java | 0 | 17 Mart 2015 12:22 |
Tarih Devirleri ve Özellikleri | Violent | İslamiyet | 1 | 23 Şubat 2015 22:54 |
Edebiyat Tarihi İle Genel Tarih İlişkisi | Violent | İslamiyet | 1 | 23 Şubat 2015 15:29 |
Türk Dil ve Tarih Kurumlarının Kurulması | Violent | İslamiyet | 1 | 23 Şubat 2015 03:07 |
Tarih Nedir? – Sözlük Anlamı | Violent | İslamiyet | 1 | 23 Şubat 2015 03:02 |