IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  odeaweb

>
+
Etiketlenen Kullanıcılar

5Beğeni(ler)
  • 1 Post By SNOOPY
  • 2 Post By SNOOPY
  • 1 Post By SNOOPY
  • 1 Post By Xadd1

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 07 Kasım 2025, 15:29   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Eggdrop ile ilgili




Merhaba sizden ricam

herhangi bir komutu kanalda yasaklamak istiyorum .

Yardımcı olursanız sevinirim.

Mesela dj kanalında .kickradyo komutunu yetkili op sop hop lar hariç yasaklamak istiyorum.

kanalı +m yada resticted yaparakta olur ama tcl olarak nasıl yapabiliriz

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 07 Kasım 2025, 17:16   #2
Çevrimiçi
~ BLaCK_and_WHiTe ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop ile ilgili




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# kickradyo_protect.tcl # Kullanım: bu dosyayı eggdrop'un script dizinine koyup yükleyin (source ile). # Varsayılan izinli liste: ops, sop, hop veya 'allowed_kicks' listesinde olan nickler # ---- Ayarlar ---- # Bu listeye ayrıca izin vermek istediğiniz özel nickleri ekleyin set allowed_kicks {Nick1 Nick2 BotAdmin} # Eğer true yaparsanız yetkisiz kullananları uyarır (mesaj), # eğer "kick_on_violation" true ise o kullanıcıyı kanaldan atar. set kick_on_violation false set ban_on_violation false ;# true yaparsanız +b ekleme de yapılır (örnek gösterim) # ---- Yetki kontrol proc'u ---- proc _kr_check_privs {nick uhost chan} { # Bu proc, nick'in yetkili olup olmadığını döndürür (1/0). # Birkaç yöntem dener: 1) eggdrop'un dahili fonksiyonları 2) allowed_kicks listesi # NOT: eggdrop kurulumunuza göre `chanop` ya da `isop` fonksiyonları farklı olabilir. # Eğer hata verirse, catch ile güvenle fallback'a düşer. # 1) Eğer botun kendi takibiyle kanal operatörü ise if {[catch {chanop $chan $nick} res] == 0} { if {$res} { return 1 } } # 2) Bazı eggdroplarda isop/is_chanop benzeri fonksiyon olabilir if {[catch {isop $nick $chan} res2] == 0} { if {$res2} { return 1 } } # 3) Fallback: allowed_kicks listesinde mi? global allowed_kicks if {[lsearch -nocase $allowed_kicks $nick] >= 0} { return 1 } # Yetkili değilse 0 döner return 0 } # ---- Public mesaj bağlama ---- # Bu bind, kanalda birisi ".kickradyo" yazdığında çalışır. # Bind pattern: ^\.kickradyo( |$) -> komutun başta olması ve parametre opsiyonel bind pub - {^\.kickradyo( |$)} _kr_handle_pub proc _kr_handle_pub {nick uhost hand chan text} { # nick = gönderen, uhost = user@host, chan = #kanal, text = tüm mesaj if {[_kr_check_privs $nick $uhost $chan]} { # Yetkili: hiçbir şey yapma, diğer botlar/komutlar devam etsin. return } # Yetkisiz kullanıcı: uyar, ve opsiyonel olarak kick/ban uygula putquick "PRIVMSG $chan :$nick: Bu komutu kullanma yetkiniz yok." putquick "NOTICE $nick :Bu komut yalnızca kanal yetkililerine açıktır." global kick_on_violation ban_on_violation if {$kick_on_violation} { # Kick (neden yazısı isteğe bağlı) putquick "KICK $chan $nick :Yetkisiz .kickradyo kullanımı" } if {$ban_on_violation} { # Basit bir +b ekleme örneği (hostmask daha uygun olur) # Burada uhost değişkenini doğrudan kullanıyoruz (örnek), kendi network'unuz için düzenleyin. set mask "*!*@$uhost" putquick "MODE $chan +b $mask" } # İsteğe bağlı: komutun başka botlara ulaşmasını engellemek isterseniz # dönüş ile diğer bindlerin çalışmasını önlemeye çalışabilirsiniz. (eggdrop sürümüne göre farklılık gösterir) # Bazı kurulumlarda "return -code 1" vs. "return" davranışı değişir. Genelde return ile yeterli olur. return }

Kod daha önceden elimde vardı istediğine göre eklemeleri yaptım. Kod bana ait değil ve denemesini yapmadım olmazsa yaz düzeltme yaparız

__________________
BLaCK_and_WHiTe is now known as SNOOPY


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 07 Kasım 2025, 18:55   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop ile ilgili




hiçbirşey olmadı snoopy . normal kullanılıyor komut yasaklamadı

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 07 Kasım 2025, 21:09   #4
Çevrimiçi
~ BLaCK_and_WHiTe ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop ile ilgili




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# Yasaklanacak komutlar set yasak_komutlar {.kickradyo .djal .voiceal} # Manuel izinli kullanıcılar set allowed_users {AdminNick Deneme} # Log dosyası ve boyut limiti (1 MB = 1048576 bayt) set komut_log_dosya "komut_koruma.log" set komut_log_limit 1048576 # ============================================ # -- Yetki kontrolü -- proc is_authorized_user {nick hand chan} { global allowed_users if {[matchattr $hand o|o $chan]} { return 1 } ;# kanal op if {[matchattr $hand m|m]} { return 1 } ;# global master if {[matchattr $hand h|h $chan]} { return 1 } ;# halfop if {[lsearch -nocase $allowed_users $nick] != -1} { return 1 } return 0 } # ============================================ # -- Log dosyası boyutu kontrolü -- proc kontrol_log_boyutu {} { global komut_log_dosya komut_log_limit if {[file exists $komut_log_dosya]} { set boyut [file size $komut_log_dosya] if {$boyut > $komut_log_limit} { set eski "${komut_log_dosya}_old.log" catch {file delete -force $eski} catch {file rename -force $komut_log_dosya $eski} putlog "komut_koruma_dj.tcl >> Log dosyası limiti aştı ($boyut bayt) — eski log yedeklendi: $eski" } } } # ============================================ # -- Yasaklı komut loglama prosedürü -- proc logla_yasakli_komut {chan nick uhost text} { global komut_log_dosya # Boyut kontrolü yap kontrol_log_boyutu set zaman [strftime "%d.%m.%Y %H:%M:%S"] set satir "$zaman [string toupper $chan] >> $nick ($uhost) yasaklı komutu denedi: $text" # Bot loguna da yaz putlog $satir # Dosyaya yaz if {[catch {set f [open $komut_log_dosya "a+"]} err]} { putlog "HATA: Log dosyasına yazılamadı ($komut_log_dosya): $err" return } puts $f $satir close $f } # ============================================ # -- Mesaj dinleyici -- bind pubm - "*" kontrol_pub_mesaj proc kontrol_pub_mesaj {nick uhost hand chan text} { global yasak_komutlar # Sadece #dj kanalında çalışsın if {$chan ne "#dj"} { return 0 } # Başta boşluk varsa temizle set text [string trimleft $text] foreach cmd $yasak_komutlar { # Büyük/küçük harf duyarsız kontrol if {[string match -nocase "${cmd}*" $text]} { if {![is_authorized_user $nick $hand $chan]} { putquick "NOTICE $nick :$cmd komutunu kullanma yetkiniz yok!" putquick "PRIVMSG $chan :$nick bu komutu kullanamaz!" logla_yasakli_komut $chan $nick $uhost $text # Yetkisiz kullanıcıyı atmak istersen aşağıdaki satırı aktif et: # putquick "KICK $chan $nick :Yetkisiz komut kullanımı ($cmd)" break } } } return 0 } putlog "komut_koruma_dj.tcl yüklendi - #dj kanalında aktif (log: komut_koruma.log, limit: 1MB)"

Bir de bunu dener misin TCL ekledin mi conf'a.

Log dosyasına sınır koyma fikri için @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] a teşekkürler

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# Log dosyası ve boyut limiti (1 MB = 1048576 bayt) set komut_log_dosya "komut_koruma.log" set komut_log_limit 1048576


__________________
BLaCK_and_WHiTe is now known as SNOOPY


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.

Konu SNOOPY tarafından (07 Kasım 2025 Saat 22:57 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 08 Kasım 2025, 06:24   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop ile ilgili




tcl olarakta ekledim confada ekledim ama
olmadi snoopy. hicbi tepkime yok. telnetten
-n ile calistirdiginda hata varmi diye bakiyorum ama
hatada yok. tepkide yok kanalda.

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 08 Kasım 2025, 11:29   #6
Çevrimiçi
~ BLaCK_and_WHiTe ~
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop ile ilgili




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# === Ayarlar === set yasak_komutlar {.kickradyo .djal .voiceal} set allowed_users {AdminNick Deneme} set komut_log_dosya "komut_koruma.log" set komut_log_limit 1048576 ;# 1 MB # === Yetki kontrolü === proc is_authorized_user {nick hand chan} { global allowed_users if {$hand eq "*"} { return 0 } ;# Userlist'te yoksa handle koruması # op / master / halfop kontrolü if {[matchattr $hand o|o $chan]} { return 1 } if {[matchattr $hand m|m]} { return 1 } if {[matchattr $hand h|h $chan]} { return 1 } # Manuel izinli kullanıcılar if {[lsearch -nocase $allowed_users $nick] != -1} { return 1 } return 0 } # === Log dosyası kontrolü === proc kontrol_log_boyutu {} { global komut_log_dosya komut_log_limit if {[file exists $komut_log_dosya]} { set boyut [file size $komut_log_dosya] if {$boyut > $komut_log_limit} { set eski "${komut_log_dosya}.old" catch {file delete -force $eski} catch {file rename -force $komut_log_dosya $eski} putlog "komut_koruma_dj.tcl >> Log dosyası limit aştı ($boyut byte) — eski log yedeklendi: $eski" } } } # === Log yazıcı === proc logla_yasakli_komut {chan nick uhost text} { global komut_log_dosya kontrol_log_boyutu set zaman [strftime "%d.%m.%Y %H:%M:%S"] set satir "$zaman [string toupper $chan] >> $nick ($uhost) yasaklı komutu denedi: $text" putlog $satir if {[catch {set f [open $komut_log_dosya "a+"]} err]} { putlog "HATA: Log dosyasına yazılamadı ($komut_log_dosya): $err" return } puts $f $satir close $f } # === Mesaj dinleyici === bind pubm - "*" kontrol_pub_mesaj proc kontrol_pub_mesaj {nick uhost hand chan text} { global yasak_komutlar # sadece #dj kanalında aktif if {![string match -nocase "#dj" $chan]} { return 0 } set text [string trimleft $text] foreach cmd $yasak_komutlar { if {[string match -nocase "${cmd}*" $text]} { if {![is_authorized_user $nick $hand $chan]} { putquick "NOTICE $nick :❌ $cmd komutunu kullanma yetkiniz yok!" putquick "PRIVMSG $chan :$nick bu komutu kullanamaz!" logla_yasakli_komut $chan $nick $uhost $text # Eğer atmak istiyorsan şu satırı aktif et: # putquick "KICK $chan $nick :Yetkisiz komut kullanımı ($cmd)" break } } } return 0 } putlog "✅ komut_koruma_dj.tcl yüklendi — #dj kanalında aktif (yasaklı komutlar: .kickradyo, .djal, .voiceal)"

Bu hali ile dener misin

__________________
BLaCK_and_WHiTe is now known as SNOOPY


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 08 Kasım 2025, 12:38   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Eggdrop ile ilgili




tesekkur ederim snoopy
gayet basarili.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Eggdrop Bot -eggdrop: No such file or directory hatası Scprit Eggdrop, NeoStats, BNC 1 04 Ocak 2015 00:49
Eggdrop ile ilgili? i-Q Eggdrop, NeoStats, BNC 1 21 Temmuz 2009 20:57
eggdrop'un girdiği kanallarla ilgili bi soru. karniyarik Eggdrop, NeoStats, BNC 0 21 Ağustos 2007 22:11
Eggdrop ile ilgili bi sorum olacak. kursat_33 Eggdrop, NeoStats, BNC 3 15 Mart 2007 01:30

×