![]() |
Eggdrop normal ve msg komut kullanimi Merhaba herkese hayırlı forumlar Eggdrop botunu botnick komut olarak kullanabiliyormuyuz örnek vermek gerekirse botnick op nick botnick voice nick ve /msg botnick #kanal op nick /msg botnick #kanal voice nick gibi bu tür komutlari kullanabilirmiyiz birde bot kanala girişlerde kendisine +a gibi bir statü verebilmesi mümkünmüdür teşekkürler kolay gelsin.. |
Cevap: Eggdrop normal ve msg komut kullanimi Kanala Yazılan Herşey İçin: bind pubm Bindi Beş Argümanlı Prosedürü Tetikler. Bunlar: nick: Yazan Kişi, uhost: Yazanın ~ident@host hand; Varsa Yazan Kişinin Bot Kullanıcı Adı/Rumuzu chan; Mesajın Yazıldığı #Kanal text Yada arg; Son Argümana Verilen İsim Tanımlı Değildir. İstenen Ad Verilebilir (args,argv, argc .. Haricinde! Bunların Özel Anlamı Vardır!) Son Argüman #Kanalda Yazılan Yazı/Mesajdır. Özelde Yazılanlar Herşey İçin: bind msgm Dört Argüman'lı Prosedürü Tetikler: nick: Yazan Kişi. uhost: Yazanın ~ident@host hand; Varsa Yazan Kişinin Bot Kullanıcı Adı/Rumuzu text Yada arg; Yazılan Text/Mesaj Bind Yapısı ; bind <Türü> <Flag> <Komut> <Prosedür Adı> bind pubm - * Bot_Komut # Kanalda Yazılan Herşey İçin Event (bind pubm) # - Yada -|- Yada * Herkesi Kapsar! # * Her Yazılanda! # Tetiklenen Prosedür # Bu Kanallarda Çalışsın! set KomutKanal [list #KanalA #KanalB] # proc <Prosedür Adı> <Argümanları> proc Bot_Komut {nick uhost hand chan arg} { # $chan Küçük Harfe Çevrilerek, # Yine Küçük Harfe Çevrilmiş KomutKanal Listesinde Yoksa # Hiçbirşey Yapma/İşleme if {[string tolower $chan] ni [string tolower $::KomutKanal]} { return } # Kanala Yazılan İlk Kelimeyi Küçülterek Seç; set ilk [lindex [split [string tolower $arg]] 0] # ilk'in Bot Adı Olup Olmadığını Kontrol Et: if {![isbotnick $ilk]} { return } # Değilse, İşlem Yapma # Komut Kelimesini Küçülterek Seç; # (Bot Nickinden Sonra Gelecek İkinci Kelime Olmalı!) set komut [lindex [split [string tolower $arg]] 1] # Komut'un Hedefi Olacak Kişi! # Komuttan Sonra Gelen Kelime Küçülterek Seç! set hedef [lindex [split [string tolower $arg]] 2] # Komut Kullanma Yetkisi Sadece # Şu Kullanıcı Flaglarına Sahip Kişilerde Olsun # Diğerlerine Nanik Yap! if {![matchattr [nick2hand $nick] mn|oa $chan]} { puthelp "notice $nick :Nanik!" return 0 } # Global Kullanııcı Yetkileri|Kanalda Atanmış Kullanıcı Yetkileri # m = Bot Master , n = Bot Sahibi/Owner # o = Kanal Op , a = Kanal'da Girişte Oto Op Verilecek Kimse ########################################## # Buraya Kadar Gerekli Kontroller Yapıldı! # Buradan Sonrası İşlemler! # switch Bir Liste Komutu, # Bunun Gibi Birden Çok İşlem # Tek Prosedür Üzerinde Yapılacaksa, # elseif elseif Yerine Kullanılabilecek # Bir Tcl Komutu. # Görünüş Açısından Da Daha Güzel! switch -exact -- $komut { # switch Komutunun Pek Çok -Opsiyonundan Biri; # -exact Tam Olarak Diye Çevirebiliriz Sanırım Exactly Kesinlikle Gibisinden, # Bunun Dışında -glob -regexp -nocase ..vs Seçenekleri Vardır! # # Komut "Şuysa" { Bunlar Yapılacak } Şeklinde Bundan Sonrası! "op" { if {![isop $hedef $chan] && [onchan $hedef $chan]} { # Hedef Kişinin Op'u Zaten Yoksa Ve # Hedef Kişi Kanaldaysa; pushmode $chan +o $hedef # pushmode Mode Değişimleri İçin Kullanılır # Ardından flushmode Komutu Kullanılırsa # Daha Hızlı Mode Değişimi Gerçekleşir! flushmode $chan } else { # Eğer Hedef'in Zaten Op'u Varsa # Yada Hedef Diye Girilen Kişi Kanalda Değilse; puthelp "notice $nick :Peh!" return } } # Sonraki!... "voice" { if {![isvoice $hedef $chan] && [onchan $hedef $chan]} { # Hedef Kişinin Voice'u Zaten Yoksa Ve # Hedef Kişi Kanaldaysa; pushmode $chan +v $hedef # pushmode Mode Değişimleri İçin Kullanılır # Ardından flushmode Komutu Kullanılırsa # Daha Hızlı Mode Değişimi Gerçekleşir! flushmode $chan } else { # Eğer Hedef'in Zaten Voice'u Varsa # Yada Hedef Diye Girilen Kişi Kanalda Değilse; puthelp "notice $nick :Peh!" return } } # Switch Komutunun Sonu default İle Bitmeli! # Öntanımlı Olarak Verilen İşlemler Dışında Kalan Durum # Gerçekleştiğinde, Ne Yapılacağı Buradan Bilenecek: default { return 0 } } ;#switch Listesinin Sonu! # Pubm Bind'i return 0 İle Bitirmezseniz, # Bot Log Almayı Bırakır, # Kanaldaki Mesajların Hiçbiri Log'a İşlemez # O nedenle Her Zaman Pubm Bindini; return 0 };# Bitirin Kanala Giriş Eventi İçin Join Bindi bind join - * Bot_Join proc Bot_Join {nick uhost hand chan} { # Join Eventinde Doğal Olarak Text Yoktur # Dört Argümanı Vardır! # Giren Kişi Bot Değilse Bizi İlgilendirmez! if {![[isbotnick $nick]} { return } # +h +a +q Gibi Modlar Eggdrop Kaynağında # Tanımlı Kullanıcı Modlarından Değildir! # Yerli Sunucuların Aksine, # Efnet,Quakenet,Ircnet,Undernet,Freenode,Dalnet Gibi # Köklü Dev Sunucular Bu Kullanıcı Modları/Yetkilerini Kullanmazlar! # O Nedenlede Eggdrop Geliştirenler Bu Modları Eklemeye # Ayak Sürümüşlerdir Hep! # Değişeceğinide Sanmıyorum Yakın Gelecekte.... # Bu Modu Chan Servis İle Değil Kendi Kendine, # Oper Yetki Kullanarak Yapacaksa ; putserv "privmsg operserv :mode $chan +a $::botnick" return 1 } ;# Bu Kadar! |
Cevap: Eggdrop normal ve msg komut kullanimi bind join - * Bot_Join proc Bot_Join {nick uhost hand chan} { if {![[isbotnick $nick]} { return } putserv "privmsg operserv :mode $chan +a $::botnick" return 1 } ;# giriş eventi için bu şekilde ayarladım ama başarılı olamadım sanıyorum |
Cevap: Eggdrop normal ve msg komut kullanimi Bir Editör Kullanmadan,Test Yada Yazım Kontrolü Yapmadan, Direk Browser Üzerinden Forum'a Yazmıştım Yukarıdakileri. Kod: if {![[isbotnick $nick]} { return } Çift Basmış,Benim Yukarıda Yazdığım Post'ta! Yani Hata Bende! (Ve Klavye'de!) 10 Yıldır (En Azından!) Unreal Sunucu'da Bulunduğumu Hatırlamıyorum. Oper Komutlarınıda Yaklaşık 15 Senedir Kullanmadım. Buraya Yukarıdakini Yazarken, Google'da Sorgulayıp, Karşıma Çıkan Sitede Yazan OperServ Komutlarına Bakarak Yazmıştım. Sizin Sunucuda Farklıysa, Kod: putserv "privmsg operserv :mode $chan +a $::botnick" |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:47. |
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