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 badnick.TCL !komut nick txt'den okuyor. :) (https://www.ircforumlari.net/eggdrop-neostats-bnc/690561-eggdrop-badnicktcl-komut-nick-txtden-okuyor.html)

soLyanim 30 Mart 2015 17:19

Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
#sorf kanalında !yasakla nick yapıldığın nickleri scripts/nicklist.txt e kayıt eder ve burada kayıtlı olan nickler Eggdrop bot'un olduğu kanala girdiğinde bot nicki banlar ve #cinsellik odasına sajoinler.

Komutlar !yasakla nick (nick ekler.)
!yasaklama nick (txt'de ki nicki siler.)

txt'yi elle oluşturmaktan ziyade sunucuya giren badnicklere göre olusturmanız mesela badnick1 sunucunuza girdi
!yasakla badnick1 diye listeye almanız daha iyidir.

En azından txt'de gereksiz nick birikintisi olmaz.


PHP- Kodu:

bind join "% *" wscom
proc wscom 
{nick uhost handle chan} { 
set nicklist "scripts/nicklist.txt" 
    
set opinfo [open $nicklist r
    
set lines [split [read -nonewline $opinfo] \n
close $opinfo 
    
foreach opcheck $lines 
        if {[
string match -nocase "$nick$opcheck]} { 
      
putquick "MODE $chan +b $nick"
      
putquick "KICK $chan $nick 4nickiniz global kanallara uygun degildir. /nick yeninick komutu ile nickinizi degistirebilirsiniz."
      
putquick "SAJOIN $nick #cinsellik"    
        


    } 



bind pub o|!yasakla yasakla 
proc yasakla 
{nick host hand chan text} { 
    
set badnick [join [lindex [split $text0]] 
    
set ops [open "scripts/nicklist.txt"
    
set nicks [split [read -nonewline $ops] \n
 
close $ops 
    
if {![llength $nicks]} { 
        
set ops [open "scripts/nicklist.txt" w
    } else { 
        
set ops [open "scripts/nicklist.txt" a
    } 
    foreach 
line $nicks 
        if {[
string match -nocase "$badnick$line]} { 
     
putquick "NOTICE $nick :$badnick yasakli listesine eklendi." 

        

    } 
 
puts $ops "$badnick
   
close $ops 


bind pub o|!yasaklama yasaklama 
proc yasaklama 
{nick host hand chan text} { 
    
set yasaklama [join [lindex [split $text0]] 
    
set ops [open "scripts/nicklist.txt"
    
set nicks [split [read -nonewline $ops] \n
 
close $ops 
    
if {![llength $nicks]} { 
   
putquick "NOTICE $nick :nick yasakli listesinden silindi." 
   
    

    
set line [lsearch -exact $nicks "$yasaklama
    
set badnicks [lreplace $nicks $line $line
    
set ops [open "scripts/nicklist.txt" w
    
puts $ops [join $badnicks "\n"
  
close $ops 


scripts/nicklist.txt eklemeyi unutmayın.

test etmek için irc.websohbet.com sunucusuna nickinizi badnickolarak girip deneyebilirsiniz.

tekrar belirtmekte fayda var.
Bot badnickleri sadece kendi olduğu kanallardan atar.
Daha geliştirilebilir bir şeylerde çıkarmaya çalışılabilir İF üzerinde.

İyi forumlar.

No_FeaR 20 Nisan 2015 21:40

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
Alıntı:

soLyanim Nickli Üyeden Alıntı (Mesaj 1041639873)
#sorf kanalında !yasakla nick yapıldığın nickleri scripts/nicklist.txt e kayıt eder ve burada kayıtlı olan nickler Eggdrop bot'un olduğu kanala girdiğinde bot nicki banlar ve #cinsellik odasına sajoinler.

Komutlar !yasakla nick (nick ekler.)
!yasaklama nick (txt'de ki nicki siler.)

txt'yi elle oluşturmaktan ziyade sunucuya giren badnicklere göre olusturmanız mesela badnick1 sunucunuza girdi
!yasakla badnick1 diye listeye almanız daha iyidir.

En azından txt'de gereksiz nick birikintisi olmaz.


PHP- Kodu:

bind join "% *" wscom
proc wscom 
{nick uhost handle chan} { 
set nicklist "scripts/nicklist.txt" 
    
set opinfo [open $nicklist r
    
set lines [split [read -nonewline $opinfo] \n
close $opinfo 
    
foreach opcheck $lines 
        if {[
string match -nocase "$nick$opcheck]} { 
      
putquick "MODE $chan +b $nick"
      
putquick "KICK $chan $nick 4nickiniz global kanallara uygun degildir. /nick yeninick komutu ile nickinizi degistirebilirsiniz."
      
putquick "SAJOIN $nick #cinsellik"    
        


    } 



bind pub o|!yasakla yasakla 
proc yasakla 
{nick host hand chan text} { 
    
set badnick [join [lindex [split $text0]] 
    
set ops [open "scripts/nicklist.txt"
    
set nicks [split [read -nonewline $ops] \n
 
close $ops 
    
if {![llength $nicks]} { 
        
set ops [open "scripts/nicklist.txt" w
    } else { 
        
set ops [open "scripts/nicklist.txt" a
    } 
    foreach 
line $nicks 
        if {[
string match -nocase "$badnick$line]} { 
     
putquick "NOTICE $nick :$badnick yasakli listesine eklendi." 

        

    } 
 
puts $ops "$badnick
   
close $ops 


bind pub o|!yasaklama yasaklama 
proc yasaklama 
{nick host hand chan text} { 
    
set yasaklama [join [lindex [split $text0]] 
    
set ops [open "scripts/nicklist.txt"
    
set nicks [split [read -nonewline $ops] \n
 
close $ops 
    
if {![llength $nicks]} { 
   
putquick "NOTICE $nick :nick yasakli listesinden silindi." 
   
    

    
set line [lsearch -exact $nicks "$yasaklama
    
set badnicks [lreplace $nicks $line $line
    
set ops [open "scripts/nicklist.txt" w
    
puts $ops [join $badnicks "\n"
  
close $ops 


scripts/nicklist.txt eklemeyi unutmayın.

test etmek için irc.websohbet.com sunucusuna nickinizi badnickolarak girip deneyebilirsiniz.

tekrar belirtmekte fayda var.
Bot badnickleri sadece kendi olduğu kanallardan atar.
Daha geliştirilebilir bir şeylerde çıkarmaya çalışılabilir İF üzerinde.

İyi forumlar.

Merhaba...
Bunu Hangi Kanalda Yapıyoruz ?
Yada bi Yönetim Odası Belirliyebilir muyuz..

Mesela #GlobalOP Kanalımız |> Sadece &-@`ler Yasaklayabilse Yapılabilir mi ?

rascoLn 22 Nisan 2015 17:52

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
Duzeltilmesi gereken yer

Bu kısmı :
Kod:

set ops [open "scripts/nicklist.txt"]


Şu şekilde değiştir:

Kod:

set ops [open "scripts/nicklist.txt" r]


Eğer istenilen bir kanal içerisinde komut uygulanıcaksa kanal değişkeni oluşturursun..

ORNEK :
set kanal "kanalismi"

sonrasında procedurumuzden gelen kanalı yani "chan" verisini oluşturduğumuz kanal değişkeniyle aynımı eşitmi diye sorgularsınız

ORNEK :
proc blabla {nick host hand chan text} {
global kanal
if {$chan == $kanal} {
eşitse burdaki komutları uygular
} else {
eşit değilse burdakileri uygular
}
}

kırmızı ile belirttiğim sorguda eşitliği aradık eğer eşitlik sağlandı ise sorgumuzun içine gir dedik. süslü parantezlere dikkat edelim eger içerideki komutların sadece o kanalda çalışmasını istiyorsak tümünü bu sorgunun içine almamız gerekmektedir..

Hanqi kanalda komutun çalışacağını ayarladıktan sonra op veya sop arkadaşların sadece bu komutu kullanmasını istiyoruz dersek komutumuz;

ORNEK: [isop $nick $chan]

Yani kanal üstünde nick op ise demek $chan yerine yukarıda olusturdugumuz "kanal" değişkenini atarsak sadece o kanaldakilere bakılır yani [isop $nick $kanal]...

Ama o kanaldakiler zaten op ben sadece o kanaldakiler kullanabilsin istiyorum denirse bu seferde ;

ORNEK : [onchan $nick $chan]

kodunu kullanmanız gerekecek. Burdada nick o kanal üstünde ise kullanabilsin diyoruz.


Bu tür kodları sorgu içerisinde kullanınız . IF , ELSEIF, ELSE


alphae 10 Ağustos 2015 21:58

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
admin ops denedim komut calismiyor

alphae 10 Ağustos 2015 21:59

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
!yasakla _cam
sekilde yaptim ama komut hic bir oda calismiyor..

rascoLn 11 Ağustos 2015 04:49

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
Kod:

bind join - "*" wscom
proc wscom {nick uhost handle chan} {
if { [file isfile "scripts/nicklist.txt"] } {
    set opinfo [open "scripts/nicklist.txt" r]
    set lines [read $opinfo]
    close $opinfo
      if { [lsearch -exact $lines $nick] > -1 } {
      putquick "MODE $chan +b $nick"
      putquick "KICK $chan $nick nickiniz global kanallara uygun degildir. /nick yeninick komutu ile nickinizi degistirebilirsiniz."
      putquick "SAJOIN $nick #cinsellik"   
        }
    }
}

bind pub - !yasakla yasakla
proc yasakla {nick host hand chan text} {
if {![isop $nick $chan]} { return 0 }
    if { [file isfile "scripts/nicklist.txt"] } {
    set badnick [lindex $text 0]
    set ops [open "scripts/nicklist.txt" r]
    set nicks [read $ops]
    close $ops
    if { [lsearch -exact $nicks $badnick] eq -1 } {
    set ops [open "scripts/nicklist.txt" a]
    puts $ops " $badnick"
  close $ops
  putquick "NOTICE $nick :$badnick yasakli listesine eklendi."
    } else {
    putquick "NOTICE $nick :$badnick nicki yasakli listesinde mevcut."
    }
} else {
set badnick [lindex $text 0]
  set ops [open "scripts/nicklist.txt" w]
  puts $ops " $badnick"
  close $ops
  putquick "NOTICE $nick :$badnick yasakli listesine eklendi."
}
}

bind pub - !yasaklama yasaklama
proc yasaklama {nick host hand chan text} {
if {![isop $nick $chan]} { return 0 }
if { [file isfile "scripts/nicklist.txt"] } {
    set yasaklama [lindex $text 0]
    set ops [open "scripts/nicklist.txt" r]
    set nicks [read $ops]
 close $ops
 if { [lsearch -exact $nicks $yasaklama] > -1 } {
    set line [lsearch -exact $nicks $yasaklama]
    set badnicks [lreplace $nicks $line $line]
    set ops [open "scripts/nicklist.txt" w]
    puts $ops $badnicks
  close $ops
  putquick "NOTICE $nick :$yasaklama yasakli listesinden silindi."
} else {
putquick "NOTICE $nick :$yasaklama yasakli listesinde mevcut değil."
}
} else {
close [open "scripts/nicklist.txt" w]
putquick "NOTICE $nick :nicklist.txt dosyasi yoktu olusturuldu."
}
}


alphae 11 Ağustos 2015 18:57

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
ise yaramiyor ops odasinda adminde global odada !yasaklama fotomodel yaptim olmadi..

Alıntı:

rascoLn Nickli Üyeden Alıntı (Mesaj 1041676949)
Kod:

bind join - "*" wscom
proc wscom {nick uhost handle chan} {
if { [file isfile "scripts/nicklist.txt"] } {
    set opinfo [open "scripts/nicklist.txt" r]
    set lines [read $opinfo]
    close $opinfo
      if { [lsearch -exact $lines $nick] > -1 } {
      putquick "MODE $chan +b $nick"
      putquick "KICK $chan $nick nickiniz global kanallara uygun degildir. /nick yeninick komutu ile nickinizi degistirebilirsiniz."
      putquick "SAJOIN $nick #cinsellik"   
        }
    }
}

bind pub - !yasakla yasakla
proc yasakla {nick host hand chan text} {
if {![isop $nick $chan]} { return 0 }
    if { [file isfile "scripts/nicklist.txt"] } {
    set badnick [lindex $text 0]
    set ops [open "scripts/nicklist.txt" r]
    set nicks [read $ops]
    close $ops
    if { [lsearch -exact $nicks $badnick] eq -1 } {
    set ops [open "scripts/nicklist.txt" a]
    puts $ops " $badnick"
  close $ops
  putquick "NOTICE $nick :$badnick yasakli listesine eklendi."
    } else {
    putquick "NOTICE $nick :$badnick nicki yasakli listesinde mevcut."
    }
} else {
set badnick [lindex $text 0]
  set ops [open "scripts/nicklist.txt" w]
  puts $ops " $badnick"
  close $ops
  putquick "NOTICE $nick :$badnick yasakli listesine eklendi."
}
}

bind pub - !yasaklama yasaklama
proc yasaklama {nick host hand chan text} {
if {![isop $nick $chan]} { return 0 }
if { [file isfile "scripts/nicklist.txt"] } {
    set yasaklama [lindex $text 0]
    set ops [open "scripts/nicklist.txt" r]
    set nicks [read $ops]
 close $ops
 if { [lsearch -exact $nicks $yasaklama] > -1 } {
    set line [lsearch -exact $nicks $yasaklama]
    set badnicks [lreplace $nicks $line $line]
    set ops [open "scripts/nicklist.txt" w]
    puts $ops $badnicks
  close $ops
  putquick "NOTICE $nick :$yasaklama yasakli listesinden silindi."
} else {
putquick "NOTICE $nick :$yasaklama yasakli listesinde mevcut değil."
}
} else {
close [open "scripts/nicklist.txt" w]
putquick "NOTICE $nick :nicklist.txt dosyasi yoktu olusturuldu."
}
}



rascoLn 11 Ağustos 2015 20:25

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
Botun olduğu kanalda op olan kisiler tarafından uygulanır

alphae 11 Ağustos 2015 21:46

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
zaten op olanlar deniyo

alphae 11 Ağustos 2015 21:49

Cevap: Eggdrop badnick.TCL !komut nick txt'den okuyor. :)
 
21:48] <@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]> !yasaklama camda


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

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