IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   TCL Scriptler (https://www.ircforumlari.net/tcl-scriptler/)
-   -   Şiir Tcl (https://www.ircforumlari.net/tcl-scriptler/562679-siir-tcl.html)

saywhat 02 Şubat 2014 05:30

Şiir Tcl
 
Komut karşılığı antoloji.com adresinden kanala (rastgele) şiir okutulur...

( Türkçe "utf-8" karakterleri onarmak/düzgün postalanmasını sağlamak adına ,defalarca test yaptım.şu an benim denediğim eggdrop1.8.0+preinit sürümü botta sorunu kalmadı...sizin botunuzda sorun oluşursa , şu konuda -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] anlatmaya çalıştığım şekilde,kendi botunuz üstünde onarabilirsiniz...)

-> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

saywhat 13 Şubat 2014 09:41

Cevap: Şiir Tcl
 
Güncelleme yapıldı -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

SeckiN 06 Temmuz 2014 19:57

Cevap: Şiir Tcl
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] abi kodu güncelleme imkanın var mı acaba.

saywhat 06 Temmuz 2014 20:57

Cevap: Şiir Tcl
 
bu benim botlardan birinde yüklü olanı.. başka güncelleme yapmışmıydım hatırlamıyorum doğrusu şimdi. ama bu çalışıyor...
Kod:

;#################Açıklamalar########################################################################################
;#
;# Rastgele şiir okumasını kanal üstünde aktif etmek için:
;# bota yüklendikten sonra DCC / telnet ile bağlanıp,
;# .chanset #kanal +siir
;# komutuyla aktif edebilirsiniz....
;#
;######################################################################################################################

;# kullanılacak namespace uygulamamızın adı:

namespace eval siir {

;# kullanıcı tanımlı flagımızın adı:

    variable siflag "siir"

;# kanal üstünde aktif etmek için:
;# .chanset #kanal +tanımlı-flag

    setudef flag $siflag

;# kod için tcllib http paketi gereklidir..

    package require http

;# komut başına gelmesini istediğiniz sembol / işaret:

    variable sisemb "."

;# kullanılacak komut:

    variable sikomt "şiir"

;# komuta erişimi olacak kullanıcı flagları:

    variable siflax "-|-"

;# komutu kullanmak için flood kontrolü için beklenmesi gereken süre :
;# ( saniye cinsinden )

    variable sikontr "10"

;# script Surumu:

    variable sivers "0.01"

;##################Ayarlar Bitti#########################################################################################


bind pub $siflax $sisemb$sikomt [namespace current]::siir:okut

proc siir:okut {nick uhost hand chan text} {
          variable siflag
       
    if {![lsearch -exact [channel info $chan] "+$siflag"] eq "-1"} {
            return 0
    }
 
          variable sikontr
       
          set host [lindex [split $uhost "@"] 1]
        set text [string map -nocase {"ş" "s" "Ş" "S"} [string tolower $text]]
       
      if {[throttled $host,$chan $sikontr]} {
          puthelp "notice $nick :\002Flood yapmayın !!!\002 - \00314[expr {[clock seconds] - $::throttled($host,$chan)}] saniye sonra yeniden deneyebilirsiniz...\003"
          return 0
    }
   
               
        set siurl "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
set agent "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)"
       
   
;# -> http://tclhelp.net/unb/24
       
        ::http::config -useragent "$agent"
    if {[catch { set token [::http::geturl "$siurl" -timeout [expr {1000*15}]]} error] eq "1"} {
          putlog "$error"
                  return
   
    } elseif {[::http::ncode $token] eq "404"} {
          putlog "hata: [::http::code $token]"
   
    } elseif {[::http::status $token] eq "ok"} {
            set data [::http::data $token]
   
    } elseif {[::http::status $token] eq "timeout"} {
          putlog "zaman aşımı hatası"
   
    } elseif {[::http::status $token] eq "error"} {
          putlog "hata: [::http::error $token]"
    }
       
        ::http::cleanup $token
       
        regsub -all -- "\n" $data {} data
        regsub -all -- "\t" $data {} data
        regsub -all -- "\r" $data {} data
               

        regexp -- {<title>(.*?)</title>} $data "" baslik
          putserv "privmsg $chan :\00314[string map -nocase {
                                                "ı" "ı" "ş" "ş" "ğ" "ğ"} [encoding convertfrom utf-8 $baslik]]\003"
         
            set i 0
        regexp {metin>(.*?)</font>} $data "" metin
          largetext privmsg $chan "\00312[string map -nocase {
                                                  "<br />" " ," "ı" "ı" "ş" "ş" "ğ" "ğ"} [encoding convertfrom utf-8 $metin]]\003"
          incr i
    }

          variable sivers
       
;# flood engelleme prosedürü by user
;# http://forum.egghelp.org/viewtopic.php?p=45537#45537

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
        }
    }

;# tek satırda irc üzerine postalanamayacak kadar uzun olan
;# satırları belli bir noktadan bölüp,kanala tüm yazıların eksiksiz
;# gönderilebilmesine olanak sağlıyor... Thanks to 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 :\00314[entityToChar $text] ,\003"
            return 0
        }
       
        set _text [split [entityToChar $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 :\00314[string range [entityToChar $text] 0 [expr {$x - 1}]] ,\003"
    largetext $type $target [string trimleft [string range [entityToChar $text] $x end]] $delims
    }

;# html kodlarını ayıklamak için perplexa tarafından UD.tcl'de yer alan prosedür.

proc entityToChar {text {char utf-8}} {
    if {![string match *&* $text]} {return $text}
   
    set escapes {
        &nbsp; \xa0 &iexcl; \xa1 &cent; \xa2 &pound; \xa3 &curren; \xa4
        &yen; \xa5 &brvbar; \xa6 &sect; \xa7 &uml; \xa8 &copy; \xa9
        &ordf; \xaa &laquo; \xab &not; \xac * \xad &reg; \xae
        &macr; \xaf &deg; \xb0 &plusmn; \xb1 ² \xb2 ³ \xb3
        &acute; \xb4 &micro; \xb5 &para; \xb6 &middot; \xb7 &cedil; \xb8
        ¹ \xb9 &ordm; \xba &raquo; \xbb ¼ \xbc ½ \xbd
        ¾ \xbe &iquest; \xbf &Agrave; \xc0 &Aacute; \xc1 &Acirc; \xc2
        &Atilde; \xc3 &Auml; \xc4 &Aring; \xc5 &AElig; \xc6 &Ccedil; \xc7
        &Egrave; \xc8 &Eacute; \xc9 &Ecirc; \xca &Euml; \xcb &Igrave; \xcc
        &Iacute; \xcd &Icirc; \xce &Iuml; \xcf &ETH; \xd0 &Ntilde; \xd1
        &Ograve; \xd2 &Oacute; \xd3 &Ocirc; \xd4 &Otilde; \xd5 &Ouml; \xd6
        &times; \xd7 &Oslash; \xd8 &Ugrave; \xd9 &Uacute; \xda &Ucirc; \xdb
        &Uuml; \xdc &Yacute; \xdd &THORN; \xde &szlig; \xdf &agrave; \xe0
        &aacute; \xe1 &acirc; \xe2 &atilde; \xe3 &auml; \xe4 &aring; \xe5
        &aelig; \xe6 &ccedil; \xe7 &egrave; \xe8 &eacute; \xe9 &ecirc; \xea
        &euml; \xeb &igrave; \xec &iacute; \xed &icirc; \xee &iuml; \xef
        &eth; \xf0 &ntilde; \xf1 &ograve; \xf2 &oacute; \xf3 &ocirc; \xf4
        &otilde; \xf5 &ouml; \xf6 &divide; \xf7 &oslash; \xf8 &ugrave; \xf9
        &uacute; \xfa &ucirc; \xfb &uuml; \xfc &yacute; \xfd &thorn; \xfe
        &yuml; \xff &fnof; \u192 &Alpha; \u391 &Beta; \u392 &Gamma; \u393 &Delta; \u394
        &Epsilon; \u395 &Zeta; \u396 &Eta; \u397 &Theta; \u398 &Iota; \u399
        &Kappa; \u39A &Lambda; \u39B &Mu; \u39C &Nu; \u39D &Xi; \u39E
        &Omicron; \u39F &Pi; \u3A0 &Rho; \u3A1 &Sigma; \u3A3 &Tau; \u3A4
        &Upsilon; \u3A5 &Phi; \u3A6 &Chi; \u3A7 &Psi; \u3A8 &Omega; \u3A9
        &alpha; \u3B1 &beta; \u3B2 &gamma; \u3B3 &delta; \u3B4 &epsilon; \u3B5
        &zeta; \u3B6 &eta; \u3B7 &theta; \u3B8 &iota; \u3B9 &kappa; \u3BA
        &lambda; \u3BB &mu; \u3BC &nu; \u3BD &xi; \u3BE &omicron; \u3BF
        &pi; \u3C0 &rho; \u3C1 &sigmaf; \u3C2 &sigma; \u3C3 &tau; \u3C4
        &upsilon; \u3C5 &phi; \u3C6 &chi; \u3C7 &psi; \u3C8 &omega; \u3C9
        &thetasym; \u3D1 &upsih; \u3D2 &piv; \u3D6 &bull; \u2022
        &hellip; \u2026 &prime; \u2032 &Prime; \u2033 &oline; \u203E
        &frasl; \u2044 &weierp; \u2118 &image; \u2111 &real; \u211C
        &trade; \u2122 &alefsym; \u2135 &larr; \u2190 &uarr; \u2191
        &rarr; \u2192 &darr; \u2193 &harr; \u2194 &crarr; \u21B5
        &lArr; \u21D0 &uArr; \u21D1 &rArr; \u21D2 &dArr; \u21D3 &hArr; \u21D4
        &forall; \u2200 &part; \u2202 &exist; \u2203 &empty; \u2205
        &nabla; \u2207 &isin; \u2208 &notin; \u2209 &ni; \u220B &prod; \u220F
        &sum; \u2211 &minus; \u2212 &lowast; \u2217 &radic; \u221A
        &prop; \u221D &infin; \u221E &ang; \u2220 &and; \u2227 &or; \u2228
        &cap; \u2229 &cup; \u222A &int; \u222B &there4; \u2234 &sim; \u223C
        &cong; \u2245 &asymp; \u2248 &ne; \u2260 &equiv; \u2261 &le; \u2264
        &ge; \u2265 &sub; \u2282 &sup; \u2283 &nsub; \u2284 &sube; \u2286
        &supe; \u2287 &oplus; \u2295 &otimes; \u2297 &perp; \u22A5
        &sdot; \u22C5 &lceil; \u2308 &rceil; \u2309 &lfloor; \u230A
        &rfloor; \u230B &lang; \u2329 &rang; \u232A &loz; \u25CA
        &spades; \u2660 &clubs; \u2663 &hearts; \u2665 &diams; \u2666
        &quot; \x22 &amp; \x26 &lt; \x3C &gt; \x3E O&Elig; \u152 &oelig; \u153
        &Scaron; \u160 &scaron; \u161 &Yuml; \u178 &circ; \u2C6
        &tilde; \u2DC &ensp; \u2002 &emsp; \u2003 &thinsp; \u2009
        &zwnj; \u200C &zwj; \u200D &lrm; \u200E &rlm; \u200F &ndash; \u2013
        &mdash; \u2014 &lsquo; \u2018 &rsquo; \u2019 &sbquo; \u201A
        &ldquo; \u201C &rdquo; \u201D &bdquo; \u201E &dagger; \u2020
        &Dagger; \u2021 &permil; \u2030 &lsaquo; \u2039 &rsaquo; \u203A
        &euro; \u20AC &apos; \u0027 &lrm; "" &rlm; "" ‬ "" * ""
        * ""
    };
   
    set text [string map [list "\]" "\\\]" "\[" "\\\[" "\$" "\\\$" "\\" "\\\\"] [string map $escapes $text]]
    regsub -all -- {&#([[:digit:]]{1,5});} $text {[format %c [string trimleft "\1" "0"]]} text
    regsub -all -- {&#x([[:xdigit:]]{1,4});} $text {[format %c [scan "\1" %x]]} text
    return [subst "$text"]
  }
 
  putlog "Tcl Surumu : $tcl_patchLevel -Tcl Dizin : $tcl_library - Eggdrop Surumu : [lindex $version 0] - Http Paket Surumu : [package present http] - Sistem : [encoding system] - siir.tcl $sivers"
}
;# EOF


SeckiN 06 Temmuz 2014 23:44

Cevap: Şiir Tcl
 
Emeğine sağlık calısıyor abi.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 09:12.

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