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/)
-   -   X Kanalda Yetkili Konuma Geçti TCL (https://www.ircforumlari.net/tcl-scriptler/599758-x-kanalda-yetkili-konuma-gecti-tcl.html)

No_FeaR 06 Temmuz 2014 11:12

X Kanalda Yetkili Konuma Geçti TCL
 
Kendi Sunucum İçin Derlediğim Bi TCL, Yapımcısı Ben Değilim Sadece bi Kaç Eklenti Yaptım İşine Yarayan Olur Belki Diye de Paylaştım ;)

NOT ; Eggdrop Botlar +q +a Bi Arada Göremez Prefixleri @ Olanlarda Daha Hoş Çalışıyor...


Kod:

bind mode - * mode:msg
proc mode:msg {nick uhost hand chan mode desc} {
  global botnick
  if {$mode == "+o"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Şu Anda Kanal Yetkilisi Konumuna Geçti."
  }
  if {$mode == "+h"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Şu Anda Kanal Yardımcı Operatoru Konumuna Geçti."
  }
  if {$mode == "+v"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Şu Anda (+) Voice Konumuna Geçti."
  }
  if {$mode == "+m"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Kanal Şuanda Konuşmaya Kapatıldı."
  }
  if {$mode == "+s"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Kanal Şuanda Gizli Konuma Alındı."
  }
  if {$mode == "-s"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Kanal Şuanda Gizli Konumdan Çıkarıldı."
  }
  if {$mode == "-m"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Kanal Şuanda Konuşmaya Açıldı."
  }
  if {$mode == "+p"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Kanal Şuanda Özel Konuma Alındı."
  }
  if {$mode == "-p"} {
    if {$desc == $botnick} { return 0 }
    putquick "PRIVMSG $chan $desc Kanal Şuanda Özel Konumdan Çıkarıldı."
  }
}


saywhat 06 Temmuz 2014 21:02

Cevap: X Kanalda Yetkili Konuma Geçti TCL
 
bu şekilde deneyebilirsiniz...
Kod:

# çalışması istenen kanal/ları ayarlamak için ,bota bağlanın:
# .chanset #kanal +modlar

setudef flag modlar

proc mode:msg {nick uhost hand chan mode {target ""}} {
  if {![channel get $chan modlar] || $target eq $::botnick} { return }
 
  switch -exact -- $mode {
  "+o" { puthelp "PRIVMSG $chan :$target Kanal Yetkilisi Konumuna Geçti.";}
  "+h" { puthelp "PRIVMSG $chan :$target Kanal Yardımcı Operatoru Konumuna Geçti.";}
  "+v" { puthelp "PRIVMSG $chan :$target (+) Voice Konumuna Geçti.";}
  "+m" { puthelp "PRIVMSG $chan :$chan Kanalı Konuşmaya Kapatıldı.";}
  "+s" { puthelp "PRIVMSG $chan :$chan Kanalı Gizli Konuma Alındı.";}
  "-s" { puthelp "PRIVMSG $chan :$chan Kanalı Gizli Konumdan Çıkarıldı.";}
  "-m" { puthelp "PRIVMSG $chan :$chan Kanalı Konuşmaya Açıldı.";}
  "+p" { puthelp "PRIVMSG $chan :$chan Kanalı Özel Konuma Alındı.";}
  "-p" { puthelp "PRIVMSG $chan :$chan Kanalı Özel Konumdan Çıkarıldı.";}
  default { return 0 }
  }
}

bind mode - "*" mode:msg
 
putlog "ok..."

+q/-q ve +a/-a modlarını görebilmesi için -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] eggdrop geliştiricisi thommey'in yazdığı bu "arbitrary chanmodes" script'ini yüklemelisiniz.

No_FeaR 06 Temmuz 2014 21:29

Cevap: X Kanalda Yetkili Konuma Geçti TCL
 
Alıntı:

saywhat Nickli Üyeden Alıntı (Mesaj 1041458437)
bu şekilde deneyebilirsiniz...
Kod:

# çalışması istenen kanal/ları ayarlamak için ,bota bağlanın:
# .chanset #kanal +modlar

setudef flag modlar

proc mode:msg {nick uhost hand chan mode {target ""}} {
  if {![channel get $chan modlar] || $target eq $::botnick} { return }
 
  switch -exact -- $mode {
  "+o" { puthelp "PRIVMSG $chan :$target Kanal Yetkilisi Konumuna Geçti.";}
  "+h" { puthelp "PRIVMSG $chan :$target Kanal Yardımcı Operatoru Konumuna Geçti.";}
  "+v" { puthelp "PRIVMSG $chan :$target (+) Voice Konumuna Geçti.";}
  "+m" { puthelp "PRIVMSG $chan :$chan Kanalı Konuşmaya Kapatıldı.";}
  "+s" { puthelp "PRIVMSG $chan :$chan Kanalı Gizli Konuma Alındı.";}
  "-s" { puthelp "PRIVMSG $chan :$chan Kanalı Gizli Konumdan Çıkarıldı.";}
  "-m" { puthelp "PRIVMSG $chan :$chan Kanalı Konuşmaya Açıldı.";}
  "+p" { puthelp "PRIVMSG $chan :$chan Kanalı Özel Konuma Alındı.";}
  "-p" { puthelp "PRIVMSG $chan :$chan Kanalı Özel Konumdan Çıkarıldı.";}
  default { return 0 }
  }
}

bind mode - "*" mode:msg
 
putlog "ok..."

+q/-q ve +a/-a modlarını görebilmesi için -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] eggdrop geliştiricisi thommey'in yazdığı bu "arbitrary chanmodes" script'ini yüklemelisiniz.

@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Hangisi Daha Sağlıklı Peki ;) Veyahut Aralarında Ne Gibi bi Fark Var...

saywhat 06 Temmuz 2014 23:17

Cevap: X Kanalda Yetkili Konuma Geçti TCL
 
1- -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] : eggdrop Tcl commands(komutları) -> bind types(türleri) -> MODE (stackable) satırını/bind'ini inceleyiniz
(altta örnek olarak ,bind mode prosedürünün yapısının nasıl olması gerektiği gösterilmiştir....aynı dökümanı botunuzun "doc/" klasörü içinde "tcl-commands.doc" adıyla bulabilirsiniz.)

2- yukarıda bahsettiğim aynı döküman/linkte "output commands" başlığı altında -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
eggdrop tcl scriptlerinde kullanabileceğiniz ,postalama yöntemleri gösterilmiştir.
-> eggdrop'taki -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "queues" (sıra / sıralama / sıralandırma ...) "öncelik" mantığına göre "putquick" komutunun kullanım yeri/şekilleri : acil mod değişimleri,atılacak kick , yada ban uygulamaları için "tavsiye "edilmiştir.
aksi kullanım şekilleri botun "kaynaklarının" doğru kullanılmaması anlamına gelecektir.

3- eggdrop tcl scriptlerinde postalama: kanala yada nick'e mesaj yada notice şeklinde olsun.yada yukarıda bahsettiğimiz "output commands"'ların kullanımında :
örnek :
Kod:

puthelp "privmsg $chan :mesaj"
yani;
<output-cmd> "<yöntem> <hedef> :<mesaj>" <- : "iki nokta üst-üste" unutursanız, <mesaj> yerine ulaşmaz...diğer değişle bu satır işlemez.

4- her iş için ayrı ayrı,herdefasında :
Kod:

if {$desc == $botnick} { return 0 }
yazmak yerine en üstte böyle bir satırı ekleseniz ,tüm alttaki
Kod:

if {$mode == "....
'lara bakmadan evvel $botnick'le eşleşme olup olmadığına bakacaktır.
her defasında ayrı ayrı aynı şeyi eklemeye de gerek kalmayacaktır.
tek "if" koşulunda , örnek :
Kod:

if {$desc != $botnick && $mode == ".."} { ....
şeklinde de birleştirilebilir.(illa her defasında ... == $botnick} {.. yazmak isteniyorsa..)

No_FeaR 08 Temmuz 2014 21:52

Cevap: X Kanalda Yetkili Konuma Geçti TCL
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Bunun türkçe dökümanlısı yok mu ;(

saywhat 09 Temmuz 2014 04:20

Cevap: X Kanalda Yetkili Konuma Geçti TCL
 
genel hatlarıyla bu işin hikayesi:

1988-2000 yılları arasında Berkeley Üniversitesi computer science (bilgisayar bilimleri) prof.'u John K. Ousterhout
( halihazırda kendisi Stanford Üniversitesi'nde prof. olarak devam ediyor...
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ) ,
Tool Command Language (Tcl) diğer anılan şekliyle Tcl scripting language ( [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ) geliştirir.
daha sonraları bi dönem Bell Labratuarları ve son olarak
ActiveState ( [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ) bünyesinde geliştirilmesi sürdürülüyor...
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Core geliştirici takımı bildiğim kadarıyla 15-20 arası bilim adamından oluşuyor.
Bunların arasında ,eşzamanlı olarak Google'da,Mac'da,NASA'da ve diğer *NIX distrolarının geliştirici takımlarında da (OpenSuse,Debian vs..) yer alan kişilerden oluşuyor.

Bu isimlerin dışında sayısız programcıda "developer" (geliştirici) olarak katkılarda bulunuyor .
-> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ( bunların arasında bir Türk'ünde ( Ozgur D Ugurlu ) katkısı olmuş zamanında...
-> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] )

Gelelim eggdrop'un "hikayesine"...

1993'te EFnet'te , #GayTeens ( "eşcinsel ergenler" ) adındaki bir kanalın sakinlerinden ,
Robey Pointer , kanala yapılan saldırılardan (takeover , flood vs.. gibi ..) iyice sıkılır.
ve Efnet'in services kullanmaması ( bir dönem denenmiş ancak "genel anlamda" kimse hoşnut kalmadığından daha sonraları services olmadan devam etmişler..) etkisiyle,
hem kanal içi işleri halletmek,hem kanalın saldırılardan korunmasını sağlamak,
hemde klasik services'lerin yaptığı "lüzümlu" işleri yaptırabilmek için , 7/24 kanalda kalacak bir bot yazılımı geliştirmeye karar vermiş ve 93 yılı sonlarında ,
( sanırım Kasım yada Aralık civarı ) C diliyle bir bot yazmış ( Bu ilk botun nicki "Valis" imiş...)

Robey'in bu botun yazımıyla uğraştığı dönemde ,kız kardeşi kafayı vejeteryan diyetiyle bozmuş durumdaymış ve
en sevdiği uzak doğu kökenli ( ana kökeni Çin olmakla beraber Japonya , Malezya vs gibi ülkelerde de birkaç farklı isimle tüketilen "egg flower soup" adıyla da anılan
bir tür çorba -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ) çorba'yı pişirirmiş çokça o aralar .

Bu çorba egg drop soup [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yada egg flower soup olarak anılırmış...
Kısaca anlaşılacağı üzere Robey yaptığı bu iRC bot yazılımına bunun etkisiyle eggdrop adını vermiş.
daha sonraları bahsi geçen kanaldaki diğer kişilerinde katkılarıyla bu botun modülleri ve daha sonraları Tcl desteği,scriptleri vs oluşmuş. ve bugünlere kadar gelmiş.

Yaratıcısı Robey Pointer [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] eggdrop dışında pek çok yazılım geliştirmiş ve şu sıralar twitter çalışanlarından biri...

sizin sorunuzun cevabına gelince :

hayır.. bu Dökümanların Türkçe'sini bulamazsınız.
yukarıda da özetle anlatmaya çalıştığım gibi eggdrop olsun Tcl olsun 20+ yaşındalar.
ancak hala Türkiye'de pek fazla insanın dikkatini,ilgisini çekmeyi başarmış değilller.
Almanca,Fransızca yada Rusça orjinal dökümanların hemen hemen aynı dökümanları (en azından "yeterli düzeyde" ) bulabilmeniz mümkün.ama Türkçe yok...

Türkçe olarak bulabilecekleriniz, burası gibi yerlerde bölük - pöçük bilgi kırıntıları olabilir ancak...
Daha ileri gitmek isteniyorsa Ingilizce bilgisi olmazsa olmaz ... gerçek budur...

q0kh4n 15 Temmuz 2014 16:42

Cevap: X Kanalda Yetkili Konuma Geçti TCL
 
anlaşılır anlatımın için teşekkür ederim.


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

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