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/)
-   -   Eggdrop botum Oto +ao olsun. (https://www.ircforumlari.net/eggdrop-neostats-bnc/169667-eggdrop-botum-oto-ao-olsun.html)

SeYH_SaMiL 01 Ocak 2009 18:55

Eggdrop botum Oto +ao olsun.
 
Selam, arkadaşlar ben basit bir eggdrop bot yapmaya çalışıyorum ihtiyaç duyduğum özellikleri eklmeye çalışıyorum, botun 1 kişi olan kanallara girmesini sağladım önceden girse daha güzel olurdu ama : ) onu yapamadım, şimdi yapmak isteidğim botun 1 kişi olan kanallara girdiğinde direk sop(+ao) konumuna kendini alması operserv yardımıyla tcl sine veya conf dosyasına eklemem gereken kodu paylaşırmısınız.

CanCeL 01 Ocak 2009 19:17

Cevap: Eggdrop botum Oto +ao olsun.
 
Kod:

# Odadaki user sayısı
set usersayisi "1"
# Genel odalar
set globalkanallar {
"#Sohbet"
"#Oyun"
}
 
bind raw - "322" kanal_listele
set listzaman 10
if {![string match "*kanal_listesi*" [utimers]]} {
 utimer $listzaman kanal_listesi
}
proc kanal_listesi {} {
 global listzaman
 putserv "LIST"
 utimer $listzaman kanal_listesi
 return 1
}
proc kanal_listele {from keyword arg} {
 global usersayisi globalkanallar botnick
 set listekanaladi [lindex $arg 1]
 set guncelsayi [lindex $arg 2]
 if {[lsearch -exact $globalkanallar [string tolower $listekanaladi]] != -1} {return 0}
 if {$guncelsayi >= $usersayisi && ![validchan $listekanaladi]} {
  channel add $listekanaladi { +nodesynch flood-chan 10:2 }
puthelp "os mode $listekanaladi +o $botnick"
puthelp "privmsg $listekanaladi Keyifli sohbetler"
 }
 if {$guncelsayi < $usersayisi && [validchan $listekanaladi]} {
  channel remove $listekanaladi
 } else {
  return 0
 }
}

Bunu deneyin...

NOT: ScanX'ın içinden alıntı bir kod. Kod yazarı SaW'dır...

SeYH_SaMiL 01 Ocak 2009 19:49

Cevap: Eggdrop botum Oto +ao olsun.
 
Ne yazıkki belittiğiniz kodu bende denedim ama olmadı, zaten hatırladığım kadarıyla ScanX 'de botun girdiği kanallarda sop konumuna geçmesi için botu kaydeden yani kendini tanıtan kişinin nicki ve belirlediği pass 'ı tcl de bulunan kullanıcı adı ve pass kısmına yazması gerekiyordu, aksi halde bot kanallara girip sop konumuna çıkmıyor ve bir çok koruma özelliğinide kullanamıyordu.

Benim istediğim daha basit bir işlev varsa tabi kodu, girdiği kanallarda direk sop konumuna geçmesi ama sanırım eksik bişeler var CanCeL 'inde belirttiği kodu kullanınca tekbaşına ne yazıkki herhangi bir işlev yapmıyor bot. eklememiz gereken kodlarmı var ayrıca acaba ilgin için teşekkürler CanCeL.

CanCeL 01 Ocak 2009 19:56

Cevap: Eggdrop botum Oto +ao olsun.
 
Kullandığın tcl'yi buraya ekle, kontrol edelim...

SeYH_SaMiL 01 Ocak 2009 20:58

Cevap: Eggdrop botum Oto +ao olsun.
 
Kullandığım tcl tümüyle ScanX botu kodlarından alınmıştır.

Tcl kodu:
Kod:

###################
# Temizleme tclsi #
###################
bind pub - !temizle clear
#PROC
proc clear {nick uhand host chan text} {
if {[isop $nick $chan] == 0} {return 0}
for {set x 0} {$x<30} {incr x} {
putquick "PRIVMSG $chan :$x"
}
putquick "PRIVMSG $chan :Oda Ekranı Temizlendi.Küfür ve Kötü Söz Her Zaman Sahibine Aittir. İyi Sohbetler."
}
###############################################################
## Bot sunucu üzerinde aşağıda belirleyeceğiniz sayıdan daha ##
## daha fazla user olan kanala otomatik olarak girer ve ##
## kanalı korumaya alır. Default olarak 5 ayarlanmıştır. ##
###############################################################
# Odadaki user sayısı
set usersayisi "1"
# Genel odalar
set globalkanallar {
"#Sohbet"
}
bind raw - "322" kanal_listele
set listzaman 10
if {![string match "*kanal_listesi*" [utimers]]} {
utimer $listzaman kanal_listesi
}
proc kanal_listesi {} {
global listzaman
putserv "LIST"
utimer $listzaman kanal_listesi
return 1
}
proc kanal_listele {from keyword arg} {
global usersayisi globalkanallar botnick
set listekanaladi [lindex $arg 1]
set guncelsayi [lindex $arg 2]
if {[lsearch -exact $globalkanallar [string tolower $listekanaladi]] != -1} {return 0}
if {$guncelsayi >= $usersayisi && ![validchan $listekanaladi]} {
channel add $listekanaladi { +nodesynch flood-chan 10:2 }
putquick "os mode $listekanaladi $botnick"
putquick "privmsg $listekanaladi Keyifli sohbetler"
}
if {$guncelsayi < $usersayisi && [validchan $listekanaladi]} {
channel remove $listekanaladi
} else {
return 0
}
}
 
 
#nick şifresini yazınız
set ScanXsifre "budur1"
 
 
if {![string match "*cycle_yap*" [timers]]} {
timer [rand 5] cycle_yap
}
proc cycle_yap {} {
global globalkanallar admin_chan
set kanal [lindex $globalkanallar [rand [expr [llength $globalkanallar] + 1]]]
if {$kanal != $admin_chan && $kanal != "#help"} {
set ::cygir 1;
putserv "cycle $kanal"
utimer 5[list set ::cygir 0]
}
timer 5 cycle_yap
}
bind notc - "*bu sizin nickiniz ise*" nckidentify
proc nckidentify {nick uhost hand arg dest} {
global ScanXsifre
if {$nick == "NickServ"} { putquick "privmsg NickServ :identify $ScanXsifre" }
}
bind nick - * ghostla
proc ghostla {nick uhost hand chan nn} {
global botnick ScanXsifre
if {$nick == $botnick} {
putserv "privmsg NickServ :ghost $botnick $ScanXsifre"
putserv "privmsg NickServ :release $botnick $ScanXsifre"
}
}

ihtayaç duyduğum ve botumun özelliklerini şöyle yapmak istiyorum;
1) 2 kişinin olduğu kanallara girmesi ve sop konumuna geçmesi ( mümkünse 1 kişi olduğu kanallara girip kişi çıkıtığında kanaldan çıkması yani kendini 1 kişi olarak görmemesi)
2) Kanalı temizlemesi
3) birde mümkünse küfür koruması yapması ve özelinden veya opers kanalından !kufur ekle edilenküfür şeklinde küfürlü kelimeleri küfür listesine eklemek.

Bukadarı bana yeter ScanX in bazı özellikleri sunucumun özellikleri bakımından fazla detay ve gereksiz bir çok banlanma ve spam sorunları oluyor bu nedenle daha basite indirilmiş bir bota ihtiyaç duyuyorum.

bot operini giriyor nick şifresini giriyor ama işte işlev olarak temizleme ve 2 kişinin olduğu kanalalra giriyor. 3 cü isteğimi daha ekleyemedim araştırıyorum bilgisi olan arkadaşlar yardımcı olursa sevinirim.

CanCeL 01 Ocak 2009 21:08

Cevap: Eggdrop botum Oto +ao olsun.
 
Alıntı:

putquick "os mode $listekanaladi $botnick"
olan satırı
Alıntı:

putquick "os mode $listekanaladi +o $botnick"
olarak değiştirin...

SeYH_SaMiL 02 Ocak 2009 17:18

Cevap: Eggdrop botum Oto +ao olsun.
 
Değiştirdim ama değişen birşey olmadı, yine op konumuna çıkmadı, botu kanala alırken ./eggdrop -mn komutuyla loglara bakdım girişden sora mode kullanmıyor girişimdede bulunmuyor yani engelleyen birşey yok bot admin liste ekli ve services admin yetkisine sahip :s

BuCaLI 02 Ocak 2009 19:07

Cevap: Eggdrop botum Oto +ao olsun.
 
Kod:

bind join - * kgiris
 
proc kgiris { n u h c } {
global botnick
if {$n == $botnick} { putquick "os mode $c +ao $botnick $botnick" }
}


SaW 02 Ocak 2009 21:18

Cevap: Eggdrop botum Oto +ao olsun.
 
Zaten ScanX'in içinde ilgili kısım vardı onu da alsaydın :) ayrı olarak istiyorsan BuCaLI'nin verdiği kodu

proc kgiris { n u h a } {


Bu kısmını;

proc kgiris { n u h c } {

Olarak değiştirip kullanabilirsin, aksi halde çalışmayacaktır.

SeYH_SaMiL 09 Ocak 2009 20:39

Cevap: Eggdrop botum Oto +ao olsun.
 
Daha yeni deneme fırsatı buldum ve sorunsuz şekilde oldu, teşekkürler.

Son olarak botuma !küfür ekle Küfürmesajı Şeklinde küfürlü kelimelerde kanal ban atmasını nasıl sağlayabilirim, Uyarısız direk ban atmasını istiyorum ve direk yazılan kelimede atmasını yani adi kelimesini küfür lsitesine botun eklediğimde bot adin ne sorusundada kişiyi "adi" kısmını algılayıp banlamasın istiyorum. Bu mümkünse ve elinizdeböyle bir kod mevcutsa paylaşırsanız çok sevinirim.


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net