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/)
-   -   !ban-!unban-!kick-!op-!deop vs... Kodları (https://www.ircforumlari.net/tcl-scriptler/40198-ban-unban-kick-op-deop-vs-kodlari.html)

CanCeL 31 Ekim 2007 00:11

!ban-!unban-!kick-!op-!deop vs... Kodları
 
İşe yarar diye düşündüm bu kodu yazdım.
Bu komutları sadece oda Operatorleri kullanabilir.
Kod:

###########################
# Hazırlayan by: CanCeL
###########################
bind pub - !ban banned
#PROC
proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan +b $text"
putquick "privmsg $chan : $text Basariyla Banlandi $nick"
}
bind pub - !unban ubanned
#PROC
proc ubanned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan -b $text"
putquick "privmsg $chan : $text Basariyla Banı Kaldırıldı $nick"
}
bind pub - !kick kicked
#PROC
proc kicked {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "kick $chan $text Aykırı Davranış!"
putquick "privmsg $chan : $text Odadan uzaklastırıldı $nick"
}
bind pub - !kb kban
#PROC
proc kban {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan +b $text"
putquick "kick $chan $text Aykırı Davranış!"
putquick "privmsg $chan : $text Odadan banlanıp uzaklastırıldı $nick"
}
bind pub - !voice vops
#PROC
proc vops {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan +v $text"
putquick "privmsg $chan : $text Voice konumuna cıkarıldı. $nick"
}
bind pub - !devoice dvop
#PROC
proc dvop {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan -v $text"
putquick "privmsg $chan : $text Voice konumundan indirildi. $nick"
}
bind pub - !op top
#PROC
proc top {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan +o $text"
putquick "privmsg $chan : $text Operator Konumuna Cıkarıldı $nick"
}
bind pub - !deop deop
#PROC
proc deop {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan -o $text"
putquick "privmsg $chan : $text Operator Konumundan Indirildi. $nick"
}
bind pub - !temizle clear
#PROC
proc clear {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :Oda Ekranı Temizlendi $nick !"
}

Komutlar:
!ban <nick>
!unban <nick>
!kick <nick>
!kb <nick>
!op <nick>
!deop <nick>
!voice <nick>
!devoice <nick>
!temizle


Botun daha hızlı işlem yapması için;

SHH'ye login olun ve;
cd egg*1*
cd src
cd mod
cd server.mod
pico server.c
Açılan dosyada
#define msgrate 2
satırını bulup
#define msgrate 0
Şeklinde değiştirip ctrl +x + y basarak (kaydeder) çıkıyorsunuz. Daha sonra:
cd
cd egg*1*
yazıp açılan dizinde sırasıyla
./configure
make config
make
make install

DipNot: Test ettim gayet güzel çalışıyor, CR'de kullanılan komutları ekledim (!ban-!unban) Unrealda kullanacak olanlar "samode $chan" yazan yerlere "os mode $chan" yapması yeterli olacak. Ayrıca botun !kb/kick gibi komutları kullanması icin odada op konumunda bulunması lazım ve operini açması lazım... ;)

Saygılar...

illegal_NicCK 31 Ekim 2007 17:48

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Herbişeyine sağlık kanka. Güzel çalışma tebrikler.

SaW 31 Ekim 2007 21:35

Yanıt: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Son dönemlerde TCL scriptingde de hazır tcllerin değil de bu şekilde iyi/kötü emek verilerek hazırlanmış TCL'lerin de artması beni sevindiriyor.. TCL scriptinge olan bu ilgi gerçekten bir "TCL sever" olarak beni mutlu ediyor..
Bunu yazan ve paylaşan arkadaşa tekrar teşeşkkürler, bu işler böyle başlar ve gelişir..
Şimdi bu kodu bizi eleştirelim (olumlu yönde, bişeyler öğrenmek adına..)
Parça parça kodu ele almak istiyorum..

Kod:

bind pub - !ban banned
#PROC
proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "samode $chan +b $text"
putquick "privmsg $chan : $text Basariyla Banlandi $nick"
}

proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0} ;komutu yazana op değilse çalışma. Buraya kadar güzel.
Şimdi gelelim $text değerine.. !ban kelimesinden sonra gelen bütün kelimeleri kapsar.. Yani diyelimki !ban ahmet mehmet hasan yazdık.. ahmet nickine ahmet!*@* şeklinde ban koyacaktır.. O halde geliştirmek için neler yapabiliriz..
Diyelimki ip ye ban atmasını istiyoruz, o halde yapmamız gereken şu: Nickin kanaldaki hostunu getchanhost komutunu kullanarak almaya çalışacaz..
biz $text değerinin bir den fazla kelime olma ihtimaline karşın, birinci kelimesini banlanacak nick olarak alalım.. bunun için ise lindex komutunu kullanacaz.. Şimdi örneklerle gösterelim..
[lindex $text 0] dediğimiz zaman $text değerinin ilk değerini alır..
şimdi sıra getchanhost ile bu ilk değerin (nickin) kanaldaki hostunu alalım..
[getchanhost [lindex $text 0] $chan]
Böylece hostunu ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] masikinin ASDKAKLS.KJASDJKA.ASDJAJD.IP kısmını almış bulunuyoruz..)
Şimdi gelelim bunu banlamaya..
putquick "samode $chan +b $text"
Burayı putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]"
Şekline çevirebiliriz..
Şimdi öğrenmek adına örneği genişletelim istiyorum..
Banlayınca kicklemekte lazım gelir :) Bu yüzden hani o $text değerindeki ilk ahmet değerinden sonrakileride kick nedeni olarak alalım.. yani bunu yazan kişi şöyle yazdı sayıyoruz : !ban ahmet sana yasak burası
"sana yasak burası" kick sebebi sayıyoruz. Peki bunu nasıl alacaz?
Bu kez bir başka komutla tanışıyoruz: lrange
lrange komutu bir aralık için kullanılır (lindex değerler kümesinde bir tek değer içindi..)
[lrange $text 1 end] bunu yazarsak (0 ilk değer içindi biz 1 kullandık) ikinci değerden başla en son değere kadar (en son değer dahil) al, demiş oluruz..
O halde öreniğimizde geçen !ban ahmet sana yasak burası koyu punta ile belirtiğim kısmı aldık..
Şimdi banladığımız kişiyi kickleyelim..

putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]"

Şeklinde kanaldan kickledik..
O halde kodumuzun son görünümüne bakıp bir kaç ileri adıma daha gidecez..

proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]"
putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]"
}

Bu haliyle de kod hala yetersiz.. Geliştirmeye devam ediyoruz..
$text değerindeki ilk kelimeyi nick olarak algıla ve kanaldan hostunu al dedik.. Peki bu nick (ya da mask) kanalda değilse?
İşte bunun için if kullanmamız gerekecek.. Burada hem if nasıl kullanılır onu görecez ve hem bir iki yeni komutla daha tanışacaz..
Ne dedik? kanalda değilse.. Bunu da onchan komutuyla anlıyoruz..
Genel kullanımı [onchan $nick $chan] şeklindedir.. Burada bizim nick dediğimiz değer [lindex $text 0] idi.. öyleyse komutumuz [onchan [lindex $text $chan] olmalıdır.. Şimdi bunu if içine sokalım..
if {[onchan lindex $text $chan]} { komut...
Kullanım budur..
o halde kodun en son hali nedir?

proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
if {[onchan [lindex $text 0] $chan]} {
putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]"
putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]"
}
}

Peki kanalda değilse? yani [onchan [lindex $text 0] $chan] değerinin olumsuz haliyse.. başına ! koyduğumuz hal yani..
ikinci bir if içine sokabiliriz veya bir kişi ya kanaldadır ya da değildir olacağı için bunların dışında manasına gelen else kullanabilir.. biz else kullanalım..

proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
if {[onchan lindex $text $chan]} {
putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]"
putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]"
} else {
putquick "mode $chan +b [lindex $text 0]"
}
}

Şeklinde oluyor..

Tabi bütün bunları geliştirmek çok daha mümkün.. Bu sadece bir başlangıç olsun.. Alttaki diğer kodları da bu şekilde göstermek isterdim ama tek post altında çok uzun bir döküman olacağından okunmak için cazip olmayabilir..
Onları da bu postun ardından gelecek sorulara göre diğer postlarda ben ve diğer arkadaşımlarımla açıklamaya çalışırız..

Umarım faydalı olmuştur..

bLackdiamond 28 Ocak 2008 14:20

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
arkadaşlar bu tclye !+m !kill nick !zline gibi komutları nasıl ekleyebiliriz? Yardımcı olabilirmisiniz ?

pardon zline kill felan olmaz :D oplar kullanacağı için af edersiniz ama
+m ve -m komutları için bir fikriniz var mı

CanCeL 28 Ocak 2008 14:33

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Alıntı:

bLackdiamond Nickli Üyeden Alıntı (Mesaj 335094)
arkadaşlar bu tclye !+m !kill nick !zline gibi komutları nasıl ekleyebiliriz? Yardımcı olabilirmisiniz ?

!+m komutunu şu şekilde yaparsın(Biraz inceleseydin kendinde hazırlayabilirdin) :)

PHP- Kodu:

bind pub - !+m chanmod
#Komut algılama
proc chanmod {nick uhand host chan text} {
if {![
isop $nick $chan]} {return 0}
putquick "mode $chan +m"
putquick "privmsg $nick : $chan +m Moduna Alindi $nick"




!zline komutunuda vereyim, diğerlerinize sen kendin üretirsin...
PHP- Kodu:

bind pub - !zline uzaklas
#Komut algılama
proc uzaklas {nick uhand host chan text} {
if {![
isop $nick $chan]} {return 0}
putquick "zline $text"



Komut: !zline <nick> <Sebep>

bLackdiamond 28 Ocak 2008 14:36

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Abiciğim Süpersin Çok tşk ederim :)

CanCeL 28 Ocak 2008 14:39

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Alıntı:

bLackdiamond Nickli Üyeden Alıntı (Mesaj 335094)
pardon zline kill felan olmaz :D oplar kullanacağı için

O zaman !zline gibi komutlarıda kendi belirlediğin odadaki kişiler kullanabilir.
PHP- Kodu:

#Oper Odası
set yonetim "#Opers"
 
bind pub - !zline uzaklas
#Komut algılama
proc uzaklas {nick uhand host chan text} {
global 
yonetim
if {[isop $nick $chan] || [onchan $nick $yonetim]==0} {
putquick "zline $text"


!zline <nick> <sebep> komutunu sadece #Opers odasında uygulanmasına izin vermiş olursun böyle...
(Fakat komutu uygulayacağın odada op olmanda gerekiyor;))

bLackdiamond 28 Ocak 2008 18:01

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
bunu sadece adminlerin kullanmasını istiyorum onu nasıl yapabilirim ?

vblades 02 Aralık 2010 06:30

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Arkadaslar Bizim Okey Sistemimizde Kanaldan Yazılar irc ye LMSG olarak dusuyor ben bu tcl yı cok ıstedım buldum denedım !op olarak calısıyor yanlız mirci sadece adminler kullanıyor diger gorevlilere mirc kullanmasi okey sistemlerinde hem tehlike hem kapalı o yuzden bunu LMSG !op olarak nasıl kullana bilirim..Acil lazim gercekden ılgılenen olursa cok sevınırım

vblades 03 Aralık 2010 07:07

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Yokmu Arkadaslar Bir Bakan ..rica Etsem Bununla Bilen Bir Kişi Yardımcı Olsun

SkyStaR35 19 Haziran 2011 14:46

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Üstad Bu Anopeye oLur mu Peki?

dEathLeSs 19 Haziran 2011 20:06

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Tcl nin servislerle bir alakası yok ki. Arkadaş orda tcl'i yapmış, anlatımınıda vermiş. Sen de onun dediklerini aynen uygularsan sorunsuz olarak çalışacaktır.

SkyStaR35 21 Haziran 2011 16:45

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
üstad mesela ben bu tcl yi esokey sisteminde kullanmak istiyorum esokey webde yazılan mesela selam yazınca unrealde LMSG selam diye görünüyor bu tcl yi ne sekilde düzenlersem esokey sisteminde !op yazınca op olmasını istiyorum nasıl bir düzenleme yapmam lazım tcl üstünde

tesekkürler şimdiden

CLubber 23 Haziran 2011 15:54

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Kod:

########################################
#        Fantasy TCL v1.0            #
########################################
bind pub - lmsg kenan
proc kenan {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
set komut [lindex $text 0]
set person [lindex $text 1]
set sebep [lindex $text 2]
set deopla "!deop"
set voicele "!voice"
set kickle "!kick"
set banla "!ban"
set temizle "!temizle"
if {$komut == $deopla} { putquick "MODE $chan -o $nick"; return 0 }
if {$komut == $voicele} { putquick "MODE $chan +v $person"; return 0 }
if {$komut == $kickle} { putquick "KICK $chan $person $sebep"; return 0 }
if {$komut == $banla} { putquick "MODE $chan +b $person"; return 0 }
if {$komut == $temizle} {
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\002"
putquick "PRIVMSG $chan :\00302Kanal geneli \00304$nick \00302tarafından temizlenmiştir. Keyifli sohbetler dileriz. \00304$chan\00304"; return 0 }
}


mmycropp 07 Temmuz 2014 20:43

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Selamun aleyküm arkadaşlar konu belkide şuanda hortlayacak ama benim bir sıkıntım var bu komutları osmode olarak değiştirdiğimde line hatası alıyorum line 60 hatası ayrıca ben bu tcl yi oper olacak bir eggdropda değil normal bir kanalda yetkisi olan bir eggdropa ekleyeceğim yardımcı olursanız sevinirim

No_FeaR 07 Temmuz 2014 23:02

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Kardeşim Bende Pek Anlamam Ama Bide Böyle Dene İstersen ;(
Denemedim de Sadece İhtimal İşte ;)

Kod:

###############
# Hazırlayan by: CanCeL
###########################
bind pub - !ban banned
#PROC
proc banned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan +b $text"
putquick "privmsg $chan : $text Basariyla Banlandi $nick"
}
bind pub - !unban ubanned
#PROC
proc ubanned {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan -b $text"
putquick "privmsg $chan : $text Basariyla Banı Kaldırıldı $nick"
}
bind pub - !kick kicked
#PROC
proc kicked {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan $text Aykırı Davranış!"
putquick "privmsg $chan : $text Odadan uzaklastırıldı $nick"
}
bind pub - !kb kban
#PROC
proc kban {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan +b $text"
putquick "kick $chan $text Aykırı Davranış!"
putquick "privmsg $chan : $text Odadan banlanıp uzaklastırıldı $nick"
}
bind pub - !voice vops
#PROC
proc vops {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan +v $text"
putquick "privmsg $chan : $text Voice konumuna cıkarıldı. $nick"
}
bind pub - !devoice dvop
#PROC
proc dvop {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan -v $text"
putquick "privmsg $chan : $text Voice konumundan indirildi. $nick"
}
bind pub - !op top
#PROC
proc top {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan +o $text"
putquick "privmsg $chan : $text Operator Konumuna Cıkarıldı $nick"
}
bind pub - !deop deop
#PROC
proc deop {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "chanserv $chan -o $text"
putquick "privmsg $chan : $text Operator Konumundan Indirildi. $nick"
}
bind pub - !temizle clear
#PROC
proc clear {nick uhand host chan text} {
if {![isop $nick $chan]} {return 0}
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :."
putquick "PRIVMSG $chan :Oda Ekranı Temizlendi $nick !"
}


saywhat 08 Temmuz 2014 01:30

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
oper olmayacak bir botta kullanılacaksa ,niye operserv komutlarıyla değiştirme ihtiyacı duydunuz ki?

henüz uyandım bir saat bile olmadı, konuyu görüp yazdım bir kod, şimdi bitti ,buraya atıyorum.denemek isteyen denesin... hata vs alınırsa bildirin çaresine bakarız.. syntax check/yazım kontrolü yaptım (olurda ayraç hatası vs gözden birşey kaçırmışmıyım diye) sorun yok... ama deneyip "iş üstünde" görmeniz gerek...

Kod:

# .chanset #kanal +komutlar
# kanal üstünde aktif eder.
setudef flag komutlar

# komutlara erişimi olacak kullanıcılar : m = bot master | n = bot sahibi
set yetkiler "mn"

# !temizle komutunda kaç satır ile temizlenmesi isteniyor.
set temizsatir "15"

bind pubm - "*" kmt_pubs

proc kmt_pubs {nick uhost hand chan text} {
  if {![channel get $chan komutlar]} { return 0 }
  if {![matchattr [nick2hand $nick] $::yetkiler $chan]} {
      puthelp "notice $nick :Komutları kullanmak için en az $::yetkiler flaglarına sahip olmalısınız..."
      return 0
    }
      set kmt [lindex [split [string tolower $text]] 0]
      set hedef [lindex [split [string tolower $text]] 1]
      set neden [join [lrange [split [string tolower $text]] 2 end]]
     
      switch -exact -- $kmt {
    !deopla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : $::lastbind <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] && [isop $hedef $chan] && ![isbotnick $hedef]} {
                  puthelp "notice $nick :$hedef $chan kanalında deoplanıyor.."
                  pushmode $chan -o $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston bir sorunumuz var..."
                  }
            }
      !kick { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : $::lastbind <hedef-nick> <sebep>"
                  puthelp "notice $nick :Bir <sebep> belirtilmezse, öntanımlı olarak \"istek üzerine\" sebep olarak eklenecektir..."
                  return 0
                  }
              if {[llength $neden] eq 0} { set neden "istek üzerine";}
              if {[onchan $hedef $chan] && [botisop $chan] && ![isbotnick $hedef]} {
                  puthelp "notice $nick :$hedef ,$chan kanalında ,$neden sebebiyle kickleniyor..."
                  putkick $chan $hedef :$neden
                  } else {
                  puthelp "notice $nick :Houston sesim geliir mü?"
                  }
            }
    !voice { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : $::lastbind <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && ![isvoice $hedef $chan]} {
                  puthelp "notice $nick :$hedef $chan kanalında voicelanıyor.."
                  pushmode $chan +v $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston nedir senden çektiğim böyle hıh?!..."
                  }
            }
    !banla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : $::lastbind <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && ![isbotnick $hedef]} {
                  puthelp "notice $nick :$hedef $chan kanalında banlanıyor.."
                  pushmode $chan +b $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston seninle benim bir sorunumuz olduğu kesin!..."
                  }
            }
  !temizle { if {[validchan $chan] && [botonchan $chan]} {
                  puthelp "notice $nick :$chan kanalı temizleniyor.."
                  puthelp "privmsg $chan :$chan kanalı için temizlik vakti..."
                  set i 0; set j "\00300,04 \u262A  \003"
                  while {$i < $::temizsatir} { puthelp "privmsg $chan :$j"; incr i }
                  puthelp "privmsg $chan :$chan kanalında temizlik tamamlandı..."
                  } else {
                  puthelp "notice $nick :of Houston of...işimiz var seninle..."
                  }
            }
    default { return }
            }
        return 0
    }
   
    putlog "ok..."


saywhat 08 Temmuz 2014 03:39

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
şimdi denemek için vaktim oldu... görebildiğim kadar, sorun/lar lastbind komutu görünen o ki pubm bind'i için uygun değilmiş ... (daha önce fark etmemiştim...) birde komutu kullanan kişiye atılan bilgi notice'lerinin ,örnek !kick yada !banla komutunda putkick yada pushmode ,puthelp'ten daha hızlı olduğu görülüyor. o nedenlede işlem yapıldıktan sonra komutu kullanana notice gidiyor..du ..
düzeltildi iki konuda...puthelp notice'leri daha hızlı olan putserv ile değiştirildi,lastbind yerine kullanılan komut/lar olduğu gibi girildi....
komut işleyişlerinde vs zaten sorun yoktu...

Kod:

# .chanset #kanal +komutlar
# kanal üstünde aktif eder.
setudef flag komutlar

# komutlara erişimi olacak kullanıcılar : m = bot master | n = bot sahibi
set yetkiler "mn"

# !temizle komutunda kaç satır ile temizlenmesi isteniyor.
set temizsatir "15"

bind pubm - "*" kmt_pubs

proc kmt_pubs {nick uhost hand chan text} {
  if {![channel get $chan komutlar]} { return 0 }
  if {![matchattr [nick2hand $nick] $::yetkiler $chan]} {
      puthelp "notice $nick :Komutları kullanmak için en az $::yetkiler flaglarına sahip olmalısınız..."
      return 0
    }
      set kmt [lindex [split [string tolower $text]] 0]
      set hedef [lindex [split [string tolower $text]] 1]
      set neden [join [lrange [split [string tolower $text]] 2 end]]
     
      switch -exact -- $kmt {
    !deopla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !deopla <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] && [isop $hedef $chan] && ![isbotnick $hedef]} {
                  putserv "notice $nick :$hedef $chan kanalında deoplanıyor.."
                  pushmode $chan -o $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston bir sorunumuz var..."
                  }
            }
      !kick { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !kick <hedef-nick> <sebep>"
                  puthelp "notice $nick :Bir <sebep> belirtilmezse, öntanımlı olarak \"istek üzerine\" sebep olarak eklenecektir..."
                  return 0
                  }
              if {[llength $neden] eq 0} { set neden "istek üzerine";}
              if {[onchan $hedef $chan] && [botisop $chan] && ![isbotnick $hedef]} {
                  putserv "notice $nick :$hedef ,$chan kanalında ,$neden sebebiyle kickleniyor..."
                  putkick $chan $hedef :$neden
                  } else {
                  puthelp "notice $nick :Houston sesim geliir mü?"
                  }
            }
    !voice { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !voice <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && ![isvoice $hedef $chan]} {
                  putserv "notice $nick :$hedef $chan kanalında voicelanıyor.."
                  pushmode $chan +v $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston nedir senden çektiğim böyle hıh?!..."
                  }
            }
    !banla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !banla <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && ![isbotnick $hedef]} {
                  putserv "notice $nick :$hedef $chan kanalında banlanıyor.."
                  pushmode $chan +b $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston seninle benim bir sorunumuz olduğu kesin!..."
                  }
            }
  !temizle { if {[validchan $chan] && [botonchan $chan] && [botisop $chan]} {
                  putserv "notice $nick :$chan kanalı temizleniyor.."
                  putserv "privmsg $chan :$chan kanalı için temizlik vakti..."
                  set i 0; set j "\00300,04 \u262A  \003"
                  while {$i < $::temizsatir} { puthelp "privmsg $chan :$j"; incr i }
                  putserv "privmsg $chan :$chan kanalında temizlik tamamlandı..."
                  } else {
                  puthelp "notice $nick :of Houston of...işimiz var seninle..."
                  }
            }
    default { return }
            }
        return 0
    }
 
    putlog "ok..."

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

mmycropp 20 Temmuz 2014 11:41

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
Bot üzerinde verdiğiniz tcl kodları çalıştıramadım ya da çalışmadı !deopla yapıyorum olmuyor rehash a çektim restart da yaptım bota olmadı

saywhat 20 Temmuz 2014 13:28

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
bota telnet / dcc bağlıyken : .chanset #kanal +komutlar

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
.chaninfo #kanal komutuyla aktif olup olmadığı görülür.

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

mmycropp 20 Temmuz 2014 15:23

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
User defined channel flags:
-komutlar

aktif duruma nasıl getirebilirim ?

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 15:23 -->-> Daha önceki mesaj 15:18 --

tamam şimdi komutlar çalıştı ancak,

<.mycrop> !kick dsa
-Mycro-Bot- Houston sesim geliir mü?
<.mycrop> !kick dsa noway
-Mycro-Bot- Houston sesim geliir mü?
<.mycrop> !opla dsa
<.mycrop> !banla dsa
-Mycro-Bot- Houston seninle benim bir sorunumuz olduğu kesin!...
<.mycrop> !temizle
-Mycro-Bot- of Houston of...işimiz var seninle...

saywhat 20 Temmuz 2014 15:54

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
örnek olarak !kick komutu için istenen şartlar:
Kod:

{[onchan $hedef $chan] && [botisop $chan] && ![isbotnick $hedef]} {
kickle diye verilen "hedef" kanalda mı? ve bot kanalda op mu? ve hedef bot değilse ...
şartları konulmuş ..bu şartlar var ise istenen komut uygula, şartlardan herhangi biri uyuşmuyorsa o aldığınız "sorun" çıktısı verip uyarıyor sizi...

her komutta bu uyarıyı aldığınıza bakarak ,botunuz kanalda "op" değilmiş gibi düşündürüyor.. çünkü her komutta botun kanalda op olması "koşul" olarak istenmiş....
(!opla komutu yok benim verdiğim kodda !deopla var.. başka başka komutlar eklenip komut sayısı istendiği kadar çoğaltılabilir ....)

saywhat 20 Temmuz 2014 18:31

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
arka sayfadaki koddaki komutlara (kick,banla,temizle,deopla,voice) komutlarına ek olarak,
opla, devoice, halfop, dehalfop, rehash, restart, die, hata, gir , çık ve cycle komutları eklenmiş hali :

Kod:

# .chanset #kanal +komutlar
# kanal üstünde aktif eder.
setudef flag komutlar

# komutlara erişimi olacak kullanıcılar : m = bot master | n = bot sahibi
set yetkiler "mn"

# !temizle komutunda kaç satır ile temizlenmesi isteniyor.
set temizsatir "15"

bind pubm - "*" kmt_pubs

proc kmt_pubs {nick uhost hand chan text} {
  if {![channel get $chan komutlar]} { return 0 }
  if {![matchattr [nick2hand $nick] $::yetkiler $chan]} {
      puthelp "notice $nick :Komutları kullanmak için en az $::yetkiler flaglarına sahip olmalısınız..."
      return 0
    }
      set kmt [lindex [split [string tolower $text]] 0]
      set hedef [lindex [split [string tolower $text]] 1]
      set neden [join [lrange [split [string tolower $text]] 2 end]]
     
      switch -exact -- $kmt {
    !deopla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !deopla <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] && [isop $hedef $chan] && ![isbotnick $hedef]} {
                  putserv "notice $nick :$hedef $chan kanalında deoplanıyor.."
                  pushmode $chan -o $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston bir sorunumuz var..."
                  }
            }
      !kick { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !kick <hedef-nick> <sebep>"
                  puthelp "notice $nick :Bir <sebep> belirtilmezse, öntanımlı olarak \"istek üzerine\" sebep olarak eklenecektir..."
                  return 0
                  }
              if {[llength $neden] eq 0} { set neden "istek üzerine";}
              if {[onchan $hedef $chan] && [botisop $chan] && ![isbotnick $hedef]} {
                  putserv "notice $nick :$hedef ,$chan kanalında ,$neden sebebiyle kickleniyor..."
                  putkick $chan $hedef :$neden
                  } else {
                  puthelp "notice $nick :Houston sesim geliir mü?"
                  }
            }
    !voice { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !voice <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && ![isvoice $hedef $chan]} {
                  putserv "notice $nick :$hedef $chan kanalında voicelanıyor.."
                  pushmode $chan +v $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston nedir senden çektiğim böyle hıh?!..."
                  }
            }
    !banla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !banla <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && ![isbotnick $hedef]} {
                  putserv "notice $nick :$hedef $chan kanalında banlanıyor.."
                  pushmode $chan +b $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston seninle benim bir sorunumuz olduğu kesin!..."
                  }
            }
  !temizle { if {[validchan $chan] && [botonchan $chan] && [botisop $chan]} {
                  putserv "notice $nick :$chan kanalı temizleniyor.."
                  putserv "privmsg $chan :$chan kanalı için temizlik vakti..."
                  set i 0; set j "\00300,04 \u262A  \003"
                  while {$i < $::temizsatir} { puthelp "privmsg $chan :$j"; incr i }
                  putserv "privmsg $chan :$chan kanalında temizlik tamamlandı..."
                  } else {
                  puthelp "notice $nick :of Houston of...işimiz var seninle..."
                  }
            }
      !opla { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !opla <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] && ![isop $hedef $chan]} {
                  putserv "notice $nick :$hedef $chan kanalında oplanıyor.."
                  pushmode $chan +o $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston dertlerim hiç bitmiyor..."
                  }
            }
  !devoice { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !devoice <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] || [botishalfop $chan] && [isvoice $hedef $chan]} {
                  putserv "notice $nick :$hedef $chan kanalında devoicelanıyor.."
                  pushmode $chan -v $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston bırak sen artık bu işleri..."
                  }
            }
    !halfop { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !halfop <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] && ![ishalfop $hedef $chan]} {
                  putserv "notice $nick :$hedef $chan kanalında halfoplanıyor.."
                  pushmode $chan +h $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston olmıyacak bu iş seninle..."
                  }
            }
  !dehalfop { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !dehalfop <hedef-nick>"; return }
              if {[onchan $hedef $chan] && [botisop $chan] && [ishalfop $hedef $chan]} {
                  putserv "notice $nick :$hedef $chan kanalında dehalfoplanıyor.."
                  pushmode $chan -h $hedef
                  flushmode $chan
                  } else {
                  puthelp "notice $nick :Houston arkası gelmez dertlerimin..."
                  }
            }
    !rehash { putquick "privmsg $chan :Yeniden yükleniyor..."
              rehash
              puthelp "privmsg $chan :Yükleme tamamlandı..."
            }
  !restart { putquick "privmsg $chan :Yeniden başlatılıyor...Dönüşüm muhteşem olacak, beni bekleyin..."
              restart
            }
      !hata { foreach hata [split $::errorInfo "\n"] {
                puthelp "privmsg $chan :$hata"
                }
            }
      !die { set mesaj [join [lrange [split $text] 1 end]]
              if {[llength $mesaj] eq 0} { set mesaj "ah! vuruldum, ölüyorum!!!..";}
              die "$mesaj"
            }
      !gir { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !gir <#hedef-kanal>"; return }
              if {![string match -nocase "#*" $hedef]} {
                  puthelp "notice $nick :Kanal adını doğru girdiğinize emin olun..."
                  return 0
                }
                  putserv "notice $nick :$hedef kanalına giriliyor..."
                  channel add $hedef
                  puthelp "privmsg $hedef :Aleyküm Selam ağalar..."
            }
      !çık { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !çık <#hedef-kanal>"; return }
              if {[botonchan $hedef] && [validchan $hedef]} {
                  putserv "notice $nick :$hedef kanalından çıkılıyor..."
                  channel remove $hedef
                  puthelp "notice $nick :kanaldan çıkıldı..."
                } else {
                  puthelp "notice $nick :dertlerim hiç bitmiyor houston..."
                }
            }
    !cycle { if {[llength $hedef] eq 0} { puthelp "notice $nick :Kullanımı : !cycle <#hedef-kanal>"; return }
              if {[botonchan $hedef] && [validchan $hedef] && [string match -nocase "#*" $hedef]} {
                  channel set $hedef +inactive
                  channel set $hedef -inactive
                  puthelp "notice $nick :$hedef kanalında cycle edildi..."
                } else {
                  puthelp "notice $nick :hep dert ,hep dert houston,,,böyle olmuyor ama bak deyim sana..."
                }
            }
    default { return }
            }
        return 0
    }
 
    putlog "ok..."

daha fazlasını eklemek isteyen eklesin benden bu kadar..sıkıldım...

ReaXiOn 30 Ağustos 2019 16:50

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
bind pub - !ban banned #PROC proc banned {nick uhand host chan text} { if {![isop $nick $chan]} {return 0} putquick "samode $chan +b $text" putquick "privmsg $chan : $text Basariyla Banlandi $nick" }




!ban nick yapınca banlıyor sonrasında Egg bot hemen banı -b yapıyor bunun nedeni ne olabilir :)


birde nick i banlamak yerine ip ye ban nasıl attırabilirim.

IUC 29 Kasım 2024 16:50

Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları
 
öncelikle merhaba

Scripti birebir yapıştırdım ama hiç bir reaksiyon yok sebebini bilen varmı ?


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

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