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/)
-   Eggdrop, NeoStats, BNC (https://www.ircforumlari.net/eggdrop-neostats-bnc/)
-   -   Global TCL ( Süre Aralıkları iLe ) (https://www.ircforumlari.net/eggdrop-neostats-bnc/290635-global-tcl-sure-araliklari-ile.html)

Raw 08 Kasım 2009 20:37

Global TCL ( Süre Aralıkları iLe )
 
Arkadaşlar Merhaba ;
Sunucumuz da genel bilgilendirmeleri yapmak için bir global tcl yazsak ve örnek olarak global.txt dosyamızdan sıra ile belirli zaman aralıklarında komut uygulasa ve en sonuncusunda tekrar başa dönerek devam etse nasıl bir kod yazmalıyız . İyi Forumlar ..

iLkeHosting 08 Kasım 2009 20:56

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Alıntı:

Raw Nickli Üyeden Alıntı (Mesaj 861352)
Arkadaşlar Merhaba ;
Sunucumuz da genel bilgilendirmeleri yapmak için bir global tcl yazsak ve örnek olarak global.txt dosyamızdan sıra ile belirli zaman aralıklarında komut uygulasa ve en sonuncusunda tekrar başa dönerek devam etse nasıl bir kod yazmalıyız . İyi Forumlar ..

Merhaba, acoustic Arkadaş'ın bir tcl'si vardı arşivimde bunu kullana bilirsiniz.

PHP- Kodu:

#Konusma icin zaman sureci (Dk cinsinden) 
set zaman_araligi "10" 


#Uygulamanin calismasi icin 
#botun oper login ve nick login paslari 

#oper login 
set o_login "Eggdrop" 

#Oper Login sifresi 
set o_pass "operşifresi" 

#Nick identify sifresi 
set b_ipass "123456" 


#bind 
bind evnt init-server baglanti:ayari 

#mesajlar 
set global_msg 
"0,20 
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #007700">} 

if {![
string match "*konusma_zamani*" [timers]]} { 
timer $zaman_araligi konusma_zamani 



proc konusma_zamani {} { 
global 
global_msg zaman_araligi 
set global_rmsg 
[lindex $global_msg [rand [llength $global_msg]]] 
putserv "OS GLOBAL $global_rmsg
timer $zaman_araligi konusma_zamani 
return 

proc baglanti:ayari {type} { 
putserv "NICKSERV IDENTIFY $b_ipass 
putserv "
OPER $o_login $o_pass
putserv "
WALLOPS :Global mesaj sistemi aktif!



putlog "
Global mesaj atma sistemi yuklendi
putlog "
Bot OPER ve Global kullanma izni olmadigi surece
putlog "
Calismayacaktir!
putlog "
mailacoustic@realcoder.com


Raw 08 Kasım 2009 20:59

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Alıntı:

set global_rmsg [lindex $global_msg [rand [llength $global_msg]]]
teş ederim ama yukarıda ki kodda da gördüğün üzere karışık atıyor .. sıralı olmalı ve dosyadan okumalı sürekli ..

¿ 08 Kasım 2009 21:01

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Ali su anda baska projem var kisa sure icinde biticek bittiginde istedigin code'yi yazalim kardesim. :)
Gelismis bi code yazariz, ornek vereyim mesela #Opers kanalinda;
!global ekle <MESAJ>
!global sil <NUMARA>
!global <LISTELE>
Gibi komutlar uyguladigimizda global.txt dosyasindan veri ekleme/silme/listeleme ozelligide yapabiliriz. :D
Guzel fikir. :)

Raw 08 Kasım 2009 21:03

Cevap: Global TCL ( Süre Aralıkları iLe )
 
hadi bakalım :)

¿ 11 Kasım 2009 05:39

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Sevgili Ali-G donguyu yapamadim, ama boyle birsey cikardim ortaya. :)
En azindan istedigin sekilde yapiyor. Sirali motor gibi. :D

12 satir olarak belirledim, her bir satir'i 5'er dakika arayla kullanicak. Daha sonra basa donerek tekrar ayni sekilde devam edecek.
Global.txt'de mesajlar alt alta yazilmali, satirlarin arasinda bosluk olmamali.
Global mesajlari global.txt'ye manual olarak yazmalisin.

Kod:


MESAJ 1
MESAJ 2
MESAJ 3
vs.

Seklinde 12 satirlik global mesajlarini alt alta ekle.

Kod:


# Global mesajlarin dizin yolunu belirtiniz.
set glblmsg "scripts/global.txt"

# Bot sunucuya girdiginde kac saniye sonra global mesaj sistemi aktif olsun ? (Saniye cinsinden)
# 60 = 1 dk. | 300 = 5 dk. | 900 = 15 dk.
utimer 60 globaltextmsg

proc globaltextmsg {} {
global botnick globaltextmsg glblmsg
  set globalmsg [open $glblmsg r]
  set msg(1) [gets $globalmsg]
  set msg(2) [gets $globalmsg]
  set msg(3) [gets $globalmsg]
  set msg(4) [gets $globalmsg]
  set msg(5) [gets $globalmsg]
  set msg(6) [gets $globalmsg]
  set msg(7) [gets $globalmsg]
  set msg(8) [gets $globalmsg]
  set msg(9) [gets $globalmsg]
  set msg(10) [gets $globalmsg]
  set msg(11) [gets $globalmsg]
  set msg(12) [gets $globalmsg]
    close $globalmsg
      putquick "os global $msg(1)"
      timer 5 [list putquick "os global $msg(2)"]
      timer 10 [list putquick "os global $msg(3)"]
      timer 15 [list putquick "os global $msg(4)"]
      timer 20 [list putquick "os global $msg(5)"]
      timer 25 [list putquick "os global $msg(6)"]
      timer 30 [list putquick "os global $msg(7)"]
      timer 35 [list putquick "os global $msg(8)"]
      timer 40 [list putquick "os global $msg(9)"]
      timer 45 [list putquick "os global $msg(10)"]
      timer 50 [list putquick "os global $msg(11)"]
      timer 55 [list putquick "os global $msg(12)"]
  timer 60 globaltextmsg
}


BuCaLI 11 Kasım 2009 16:33

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Belli bi satırla sınırlamaya gerek yok. Bu şekilde istediğiniz kadar globali scripts/global.txt dosyası içine atın. Globallerin kaç dakika arayla atılması gerektiği bilgilerini de kendinize göre düzenledikten sonra botu çalıştırın. Bot globaleri dosyadaki sırasına göre bitirdikten sonra tekrar başa dönecektir.

Kodu denemedim, deneyip sorun olup olmadığını belirtirseniz iyi olur..


Kod:


 
##globallerin bulunduğu dosyanın yeri
set globaller "scripts/global.txt"
 
##globaller kaç dakika arayla atılacak
set zaman "10"
 
####
utimer 5 globalat

proc globalat { } {
global globaller zaman
set msgzaman "0"
set dosya [open $globaller r]
set liste [split [subst -nocommands [read $dosya]] "\n"]
  foreach i $liste {
  set msgzaman [expr $msgzaman + $zaman]
  timer $msgzaman [list putserv "os global $i"]
  }
close $dosya
timer $msgzaman [list globalat]
}


¿ 11 Kasım 2009 16:36

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Alıntı:

BuCaLI Nickli Üyeden Alıntı (Mesaj 863538)
Belli bi satırla sınırlamaya gerek yok. Bu şekilde istediğiniz kadar globali scripts/global.txt dosyası içine atın. Globallerin kaç dakika arayla atılması gerektiği bilgilerini de kendinize göre düzenledikten sonra botu çalıştırın. Bot globaleri dosyadaki sırasına göre bitirdikten sonra tekrar başa dönecektir.


Kod:


 
##globallerin bulunduğu dosyanın yeri
set globaller "scripts/global.txt"
 
##globaller kaç dakika arayla atılacak
set zaman "10"
 
####
globalat
proc globalat { } {
global globaller zaman
set msgzaman "0"
set dosya [open $globaller r]
set liste [split [subst -nocommands [read $dosya]] "\n"]
  foreach i $liste {
  set msgzaman [expr $msgzaman + $zaman]
  timer $msgzaman[list putserv "os global $i"]
  }
close $dosya
set msgzaman [expr $msgzaman + $zaman]
timer $msgzaman[list globalat]
}


timer $msgzaman[list putserv "os global $i"]
timer $msgzaman[list globalat]

Toprak su timer zaman'dan sonra ki bosluklari hep unutuyorsun. :)


Kod:


##globallerin bulunduğu dosyanın yeri
set globaller "scripts/global.txt"
 
##globaller kaç dakika arayla atılacak
set zaman "10"
 
####
globalat
proc globalat { } {
global globaller zaman
set msgzaman "0"
set dosya [open $globaller r]
set liste [split [subst -nocommands [read $dosya]] "\n"]
  foreach i $liste {
  set msgzaman [expr $msgzaman + $zaman]
  timer $msgzaman [list putserv "os global $i"]
  }
close $dosya
set msgzaman [expr $msgzaman + $zaman]
timer $msgzaman [list globalat]
}


BuCaLI 11 Kasım 2009 16:38

Cevap: Global TCL ( Süre Aralıkları iLe )
 
unutmuyorum benim kullandığım tarayıcıdan dolayı sanırsam o boşluklar siliniyor hep ;)

¿ 11 Kasım 2009 16:39

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Firefox tavsiye ederim toprak. :D

rondom 11 Kasım 2009 17:21

Cevap: Global TCL ( Süre Aralıkları iLe )
 
[17:20] invalid command name "globalat"
while executing
"globalat"
(file "scripts/globalat.tcl" line 8)
invoked from within
"source scripts/globalat.tcl"

böyle bir hata aldım.

BuCaLI 11 Kasım 2009 17:26

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Kodu düzenlediğim şekilde tekrar alıp dene bakalım.

¿ 11 Kasım 2009 19:51

Cevap: Global TCL ( Süre Aralıkları iLe )
 
#Opers kanalinda global mesaj sistemini yonetme ozelligi ekledim.
Yardimlari icin BuCaLI'ya tsk. :)


<Namesis> !global
<Ra> Kullanimi: !global <on/off/durum/ekle/sil/listele>

<Namesis> !global on

<Ra> Global mesaj sistemi acildi.


<Namesis> !global durum

<Ra> Global mesaj sistemi acik.


<Namesis> !global off

<Ra> Global mesaj sistemi kapali.


<Namesis> !global ekle

<Ra> Global mesaj belirtmediniz. Lutfen global mesajinizi belirtiniz.


<Namesis> !global ekle Test mesajidir.

<Ra> GLOBAL MESAJ: Test mesajidir. » Basariyla global mesaj listesine eklendi.


<Namesis> !global sil

<Ra> Boyle bir global mesaj listede yok.
<Ra> Listeyi gormek icin: !global listele
<Ra> Silmek icin global mesajin basinda ki numarayi kullaniniz. Ornek: !global sil 1234


<Namesis> !global listele

<Ra> 4790 - Test mesajidir.
<Ra> Global mesaj listesinin sonu...


<Namesis> !global sil 4790

<Ra> 4790 numarali global mesaj listeden silindi.


Kod:


#########
# BASLA #
#########

# Global mesaj sistemini acip kapatma komutunun isleyecegi kanali belirtiniz.
set glbmsg(operchan) "#Opers"

# Global komut on ekini belirtiniz.
set glbmsg(komut) "!global"

# Global mesajlarin bulundugu dosya dizinini belirtiniz.
set glbmsg(text) "scripts/globalmsg.txt"

# Global mesajlar kac dakika arayla atilacaksa belirtiniz. (Dakika cinsinden)
set glbmsg(zaman) "15"

######################
# DOKUNMA BOZULUR :d #
######################

utimer 30 globalat
proc globalat {} {
global botnick globalat glbmsg
  if {[lsearch -exact [channel info $glbmsg(operchan)] +globcmd] != -1} {
  set msgzaman "0"
  set dosya [open $glbmsg(text) r]
  set liste [split [subst -nocommands [read $dosya]] \n]
      foreach i $liste {
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
      timer $msgzaman [list putquick "os global [lrange $i 2 end]"]
    }
    close $dosya
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
    timer $msgzaman [list globalat]
    }
  return 0
}

bind evnt - init-server baglan:dosyayarat
proc baglan:dosyayarat {type} {
global botnick glbmsg
 if {![file exists $glbmsg(text)]} {
  set dosya [open $glbmsg(text) w]
  close $dosya
 }
}

setudef flag globcmd

bind pub - $glbmsg(komut) globalonoff
proc globalonoff {nick uhost hand chan text} {
global botnick glbmsg
    set komut "[lindex [split $text] 0]"
    set mesaj "[lrange [split $text] 1 end]"
    if {[string match -nocase $glbmsg(operchan) $chan]} {
    if {$komut == ""} { putquick "PRIVMSG $chan :Kullanimi: $glbmsg(komut) \002<on/off/durum/ekle/sil/listele>\002"; return 0 }
    if {[string match -nocase "on" $komut]} { channel set $chan +globcmd; putquick "PRIVMSG $chan :Global mesaj sistemi \002acildi\002."; globalat; return 0 }
    if {[string match -nocase "off" $komut]} { channel set $chan -globcmd; putquick "PRIVMSG $chan :Global mesaj sistemi \002kapatildi\002."; return 0 }
    if {[string match -nocase "durum" $komut]} { if {[lsearch -exact [channel info $chan] +globcmd] != -1} { putquick "PRIVMSG $chan :Global mesaj sistemi \002acik\002." } else { putquick "PRIVMSG $chan :Global mesaj sistemi \002kapali\002."; return 0 } }
    if {[string match -nocase "ekle" $komut]} { if {$mesaj == ""} { putquick "PRIVMSG $chan :Global mesaj belirtmediniz. Lutfen global mesajinizi belirtiniz." ; return 0 }
        putquick "PRIVMSG $chan :GLOBAL MESAJ: $mesaj » Basariyla global mesaj listesine eklendi."
        set globs [open $glbmsg(text) a]
        puts $globs "[join [rand 9999]] [join -] [join $mesaj]"
        flush $globs
        catch {closer $globs}
    }
    if {[string match -nocase "sil" $komut]} {
        if {![file exists $glbmsg(text)]} {
            putquick "PRIVMSG $chan :Global mesaj listesi zaten bos."
            return
        }
        set data ""
        set input [open $glbmsg(text) r]
        while {![eof $input]} {
            set curline [gets $input];set curline [split $curline]
            if {$curline != ""} {
                set data [linsert $data end $curline]
            }
        }
        catch {close $input}
        set deger -1;set esles ""
        foreach line $data {
            incr deger
            if {[string match -nocase "$mesaj" [lindex $line 0]]} {
                set esles $deger
                break
            }
        }
        if {$esles == ""} {
            putquick "PRIVMSG $chan :Boyle bir global mesaj listede yok."
            putquick "PRIVMSG $chan :Listeyi gormek icin: \002$glbmsg(komut) listele\002"
            putquick "PRIVMSG $chan :Silmek icin global mesajin basinda ki numarayi kullaniniz. Ornek: \002$glbmsg(komut) sil 1234\002"
            return
        }
        set newdata [lreplace $data $deger $deger]
        set output [open $glbmsg(text) w]
        foreach newline $newdata {
            if {$newline != ""} {
                puts $output $newline
            }
        }
        flush $output
        catch {close $output}
            putquick "PRIVMSG $chan :\002$mesaj\002 numarali global mesaj listeden silindi."
            return
        }
        if {[string match -nocase "listele" $komut]} {
        if {![file exists $glbmsg(text)]} { putquick "PRIVMSG $chan :Global mesaj listesi bos."; return 0 }
        set input [open $glbmsg(text) r]
        set lines [split [subst -nocommands [read $input]] \n]
        catch {close $input}
        set sayc 0
          foreach line $lines {
          if {$line != ""} {
          putquick "PRIVMSG $chan :$line"
        incr sayc
        }
      }
      if {$sayc == 0} {
    putquick "PRIVMSG $chan :Global mesaj listesinde hic kayit bulunamadi."; return
    } else { putquick "PRIVMSG $chan :Global mesaj listesinin sonu..."
  }
  }
 }
}

#########
# BITTI #
#########


TaMeRGenc 11 Eylül 2013 14:49

Cevap: Global TCL ( Süre Aralıkları iLe )
 
bu kod bende calışmadı nasıl calıştıgını anlatırmısınız rica etsem paylaşım icin teşekürler

Gaib 11 Eylül 2013 18:33

Cevap: Global TCL ( Süre Aralıkları iLe )
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bakabilirsin.

AspavA 30 Ekim 2014 16:30

Cevap: Global TCL ( Süre Aralıkları iLe )
 
globalleri 2 kere atıyor sürekli nedne olabilir.

4,1<15,1 YuzukNET 4,1>5 - 4YuzukNET 1Sohbet Sunucularına 2Facebook Üzerinden Bağlanmak için 4Tıklayınız. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
4,1<15,1 YuzukNET 4,1>5 - 4YuzukNET 1Sohbet Sunucularına 2Facebook Üzerinden Bağlanmak için 4Tıklayınız. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

rascoLn 30 Ekim 2014 18:24

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Şu kısmı :

Kod:

######################
# DOKUNMA BOZULUR :d #
######################

utimer 30 globalat
proc globalat {} {
global botnick globalat glbmsg
  if {[lsearch -exact [channel info $glbmsg(operchan)] +globcmd] != -1} {
  set msgzaman "0"
  set dosya [open $glbmsg(text) r]
  set liste [split [subst -nocommands [read $dosya]] \n]
  close $dosya
      foreach i $liste {
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
      timer $msgzaman [list putquick "os global [lrange $i 2 end]"]
      }
      close $dosya
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
      timer $msgzaman [list globalat]
    }
  return 0
 }
  }
}

Şu şekilde değiştirin :

Kod:

######################
# DOKUNMA BOZULUR :d #
######################

proc globalat {} {
global botnick globalat glbmsg
  if {[lsearch -exact [channel info $glbmsg(operchan)] +globcmd] != -1} {
  set msgzaman "0"
  set dosya [open $glbmsg(text) r]
  set liste [split [subst -nocommands [read $dosya]] \n]
  close $dosya
      foreach i $liste {
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
      timer $msgzaman [list putquick "os global [lrange $i 0 end]"]
      }
      } else {
      return 0
  }
}


¿ 30 Ekim 2014 21:52

Cevap: Global TCL ( Süre Aralıkları iLe )
 
Butun hatalari giderilmistir.
Tekrar revizyondan gecirdim bu haliyle daha iyi oldu. :)
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kawissaa 09 Şubat 2020 03:07

Cevap: Global TCL ( Süre Aralıkları iLe )
 
bu tcl elinde olan var mı gelişmiş şekilde


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

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