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 normal ve msg komut kullanimi (https://www.ircforumlari.net/eggdrop-neostats-bnc/788508-eggdrop-normal-ve-msg-komut-kullanimi.html)

helloweenfs 01 Mart 2018 00:44

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..

Heartbroken 01 Mart 2018 15:29

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!

helloweenfs 03 Nisan 2018 23:04

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

Heartbroken 07 Nisan 2018 17:58

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 }
Satırındaki, Açık Köşeli Ayraç/Parantez, " [ "
Ç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"
Satırından Değişmelisiniz!


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