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/)
-   -   Tcl istek (https://www.ircforumlari.net/eggdrop-neostats-bnc/33469-tcl-istek.html)

Challenger 02 Temmuz 2007 20:22

Tcl istek
 
Selam...

Arkadaslar istemis oldugum sey, Bot snoticeleri gorerek, atiyorum her 3 giris'ten 1 kisiyi belirlemis oldugum kanallara sirasiyla sokcak ...
3 giris'ten 1 giris #X kanal'ina
4 giristen 2 giris #Y kanal'ina
gibi
Sajoin yapmasini istiyorum ...
Aslinda burada Bir tcl gordum ama calismadi ...

Kod:

bind raw - NOTICE baglanti
proc baglanti {from keyword text} {
if {[string match -nocase "*client connecting*" $text]} {
set nick [lindex [split $text] 9]
utimer 1[list putserv "raw close" ]
utimer 1[list putserv "fjoin $nick #sohbet" ]
utimer 1[list putserv "fjoin $nick #oyun" ]
utimer 1[list putserv "fjoin $nick #radyo" ]
}
}

Bu Mantiktan yola cikarak birseyler yapmaya calismadim olmadi..

Bu konuda yardimci olabilecek arkadaslara tesekkurlerimi iletirim ...

HAPPyyyy 02 Temmuz 2007 20:46

Yanıt: Tcl istek
 
Kod:

bind raw - NOTICE baglanti
proc baglanti {from keyword text} {
if {[string match -nocase "*client connecting*" $text]} {
set nick [lindex [split $text] 9]
utimer 1[list putserv "raw close" ]
utimer 1[list putserv "SAJOIN $nick #sohbet" ]
utimer 1[list putserv "SAJOIN $nick #oyun" ]
utimer 1[list putserv "SAJOIN $nick #radyo" ]
}
}

olarak denermisin ?

Challenger 02 Temmuz 2007 20:48

Yanıt: Tcl istek
 
denedim ...

/utimer diye bir komut yok ..

Onu'da normal timer olarak yaptim ..

gene olmadi ..

tskler ilgin icin .

HAPPyyyy 02 Temmuz 2007 20:58

Yanıt: Tcl istek
 
aCoustiC Bir Çalışması Vardı Ondan Çıkarak Yaptım Kodlar aCoustiC Arkadaşımıza Ayittir Sadece Alıntı Yaptım Bilginize


Kod:

set tayfalar {
  "aCoustiC"
}
proc bv:notice {from keyword text} {
  set text [split $text]
  set what [join [lrange $text 4 5]]
  if {$what == "Client connecting"} {
    foreach tayfa $tayfalar {
      if {[string match "*[string tolower $tayfa]*" [string tolower $text]]} {
        return
        } else {
        set nick [lindex $text 9]
        putserv "SAJOIN $nick #radyo"
        putserv "SAJOIN $nick #oyun"
        putserv "SAJOIN $nick #sohbet"
      }
    }
  }
}


Challenger 02 Temmuz 2007 21:07

Yanıt: Tcl istek
 
calismiyor arkadasim yaa :(

Brain 02 Temmuz 2007 23:44

Cevap: Tcl istek
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'nin vermis oldugu kod unreal sunucularinda calismak uzere ayarlanmistir, calismasi icinde botun sajoin komut kullanimina erisim saglanmalidir oper eklenerek.

SaW 02 Temmuz 2007 23:51

Yanıt: Tcl istek
 
Kod:

set kanallar "#kanal1 #kanal2 #kanal3"

bind raw * notice ssnotice
proc ssnotice {from keyword arg} {
 global kanallar
 if { [string match -nocase "*Client connecting on port*" $arg] } {
  set deger [rand 4]
  switch -- $deger {
  1 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 1]"
  }
  2 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 2]"
  }
  3 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 3]"
  }
 }
}

Böyle çok basit bişey yapılabilir. Random olarak her gireni belirlediğin 3 kanaldan birine sokacaktır. Sanırım istediğin de buydu. Eğer sen her gireni değil de bazılarını çeksin bazırlarını çekmesin istiyosan
set deger [rand 4]
burdaki en son 4 değerini artır. O zaman bir kısmını çekmeyecektir. Ne kadar çok artırırsan o kadar az kişiyi çeker. Ama dediğim gibi bunu "1. gireni çek, 2. gireni çekme, 3. yü çek" gibi yapmadım, tamamen random olarak, bazen üç gireni de ardı ardına çekebilir, bazen 3ünüde çekmeyebilir eğer o değeri büyütürsen. Ama şimdiki haliyle her gireni o üç kanaldan birine karışık olarak çekecektir.

Challenger 03 Temmuz 2007 00:03

Yanıt: Tcl istek
 
while executing
"proc ssnotice {from keyword arg} {
global kanallar
if { [string match -nocase "*Client connecting on port*" $arg] } {
set deger [rand 4]
switch ..."
(file "scripts/join.tcl" line 4)
invoked from within
"source scripts/join.tcl"
(file "helper.conf" line 94)

soyle bir hata ...

SaW 03 Temmuz 2007 00:15

Yanıt: Tcl istek
 
Kod:

set kanallar "#kanal1 #kanal2 #kanal3"

bind raw * notice ssnotice
proc ssnotice {from keyword arg} {
 global kanallar
 if { [string match -nocase "*Client connecting on port*" $arg] } {
  set deger [rand 4]
  switch -- $deger {
  1 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 1]"
  }
  2 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 2]"
  }
  3 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 3]"
  }
  }
 }
}

şimdi dene :)

CONSTANTiN 03 Temmuz 2007 00:17

Cevap: Tcl istek
 
bunu nasıl nereye hangi dosya içine ekliyoruz ?

SaW 03 Temmuz 2007 00:32

Yanıt: Cevap: Tcl istek
 
Alıntı:

mirclan Nickli Üyeden Alıntı (Mesaj 228533)
bunu nasıl nereye hangi dosya içine ekliyoruz ?

Bu kodları dosyadı.tcl şeklinde bir dosyaya kaydet. (uzantısı tcl olmalı.)
Sonra eggdrop/scripts klasörüne koy.
Bundan sonrası sadece bu kod için bir conf ayarlayabilirsin veya sunucundaki mevcut botların herhangi birisinin confuna ilave edebilirsin (botun admin olması şart)
Her iki durumda da confun en altına
source scripts/dosyadı.tcl
satırını eklemen lazım.

Challenger 03 Temmuz 2007 00:48

Yanıt: Tcl istek
 
Allah Razi olsun ...

Cok tesekkur ederim ...

Bunu cogaltirken,

Kod:

  1 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 1]"
  }
  2 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 2]"
  }
  3 {
      putserv "sajoin [lindex $arg 9] [lindex $kanallar 3]"

kisimlarini cogaltiyoruz degil mi ...

SaW 03 Temmuz 2007 01:08

Yanıt: Tcl istek
 
evet. bracketlara dikkat et o mantıkla çoğaltabilirsin. yani dikkat etmen gerekenler { ve } işaretleri..

Challenger 03 Temmuz 2007 01:15

Yanıt: Tcl istek
 
sormusken bir soru daha sorayim aklimda kalmasin ...

cok guzel bir code cok tsk ederim...

sokmak istedigim kanallar'dan 1 tanesine yogunluk yapabilme gibi bir sans'imiz var mi ?... yani 3/2 1 kanal'a 3/1 diger kanallara random ...

SaW 03 Temmuz 2007 02:13

Yanıt: Tcl istek
 
var tabi bir satır daha ekle,
1 {
putserv "sajoin [lindex $arg 9] [lindex $kanallar 1]"
}
2 {
putserv "sajoin [lindex $arg 9] [lindex $kanallar 2]"
}
3 {
putserv "sajoin [lindex $arg 9] [lindex $kanallar 3]"


mesela
[lindex $kanallar 2] olandan bir kaç tane daha ekleyebilirsin.

tabi set deger [rand 4] değerini de ona göre artırmalısın ;)

Sahip 03 Temmuz 2007 19:45

Cevap: Tcl istek
 
Alıntı:

bunu nasıl nereye hangi dosya içine ekliyoruz ?
Şimdi...
Alıntı:

set kanallar "#kanal1 #kanal2 #kanal3"

bind raw * notice ssnotice
proc ssnotice {from keyword arg} {
global kanallar
if { [string match -nocase "*Client connecting on port*" $arg] } {
set deger [rand 4]
switch -- $deger {
1 {
putserv "sajoin [lindex $arg 9] [lindex $kanallar 1]"
}
2 {
putserv "sajoin [lindex $arg 9] [lindex $kanallar 2]"
}
3 {
putserv "sajoin [lindex $arg 9] [lindex $kanallar 3]"
}
}
}
}
Bunu Bir tcl dosyasi(örnek; sajoin.tcl) yapip ftp/eggdrop/script klasörüne atiyoruz.Daha sonra Hangi Botun Bunu yapmasini istiyorsan,
Confunun en altina bu TCL yi ekliyoruz.Alttaki gibi;
Alıntı:


# TCL EKLENTILERI
# bu bolum eklediginiz tcllere gore duzenliyeceginiz bolum..
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/sajoin.tcl

Ekliyoruz, daha sonra Botumuzu Calistiriyoruz.


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

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