mIRC Popup Menüleri: Sağ Tık Menülerini Özelleştirmek
İçindekiler
IRC kullanırken sık yaptığınız işlemler vardır: Birine op vermek, bir kullanıcıyı banlamak, whois sorgusu yapmak, bir kanaldan çıkmak. Bunları her seferinde komut yazarak yapmak yerine sağ tık menüsünden tek tıkla yapabilirsiniz. mIRC popup menüleri, bu kısayolları oluşturmanızı sağlar. Doğru kurulmuş bir menü seti, özellikle kanal moderatörlerinin işini belirgin şekilde hızlandırır.
Menü Türleri
mIRC, farklı yerlerdeki sağ tık menüleri için ayrı tanımlar kullanır:
| Menü türü | Nerede görünür? |
|---|---|
menu status | Durum penceresi |
menu channel | Kanal penceresinin sohbet alanı |
menu nicklist | Kanal kullanıcı listesi |
menu query | Özel mesaj penceresi |
menu menubar | Üst menü çubuğu |
menu @pencere | Özel pencereler |
Birden fazla türü tek blokta birleştirebilirsiniz:
menu channel,nicklist {
Whois:/whois $$1
}
Temel Yapı
menu nicklist {
Op ver:/mode $chan +o $$1
Op al:/mode $chan -o $$1
-
Whois:/whois $$1
}
Her satırın yapısı: görünecek metin, iki nokta, çalıştırılacak komut. Tek başına bir tire (-) karakteri, menüye ayırıcı çizgi ekler. Ayırıcılar, menüyü mantıklı gruplara bölmek için çok kullanışlıdır.
Menü tanımlarını Popups sekmesinde veya bir remote dosyasında yazabilirsiniz. Remote dosyasında yazmanın avantajı, menüyü scriptinizle birlikte tek dosyada paylaşabilmenizdir.
Seçili Kullanıcı: $$1
Kullanıcı listesi menülerinde $$1, sağ tıkladığınız kişinin nickini verir. Çift dolar işareti, nick yoksa komutun hiç çalışmamasını sağlar.
Birden fazla kişi seçtiyseniz $snick($chan,1), $snick($chan,2) gibi identifier'larla hepsine erişebilirsiniz. $snick($chan,0) seçili kişi sayısını verir:
menu nicklist {
Secililere op ver: {
var %i = 1
while (%i <= $snick($chan,0)) {
mode $chan +o $snick($chan,%i)
inc %i
}
}
}
Döngüler için mIRC while döngüsü yazımıza bakın.
Alt Menüler
Menünüz uzadığında alt menüler oluşturarak düzenli tutabilirsiniz:
menu nicklist {
Yetki
.Op ver:/mode $chan +o $$1
.Op al:/mode $chan -o $$1
.Voice ver:/mode $chan +v $$1
.Voice al:/mode $chan -v $$1
Ceza
.Kick:/kick $chan $$1
.Ban:/mode $chan +b $address($$1,2)
.Kick ve ban: {
mode $chan +b $address($$1,2)
kick $chan $$1
}
}
Alt menü öğeleri, başlarına nokta konarak belirtilir. İki nokta kullanarak ikinci seviye alt menüler de oluşturabilirsiniz. Ban maskeleri için IRC ban maskeleri yazımıza bakın.
Çok Satırlı Komutlar
Bir menü öğesi birden fazla komut çalıştıracaksa süslü parantez kullanın:
menu nicklist {
Uyar ve not al: {
notice $$1 Lutfen kanal kurallarina uyun.
write uyarilar.txt $asctime $+ : $$1 uyarildi
}
}
Dosya işlemleri için mIRC dosya işlemleri yazımıza bakın.
Koşullu Menü Öğeleri
Bir menü öğesinin yalnızca belirli durumlarda görünmesini sağlayabilirsiniz. Bunun için $iif identifier'ı kullanılır:
menu nicklist {
$iif($me isop $chan,Op ver):/mode $chan +o $$1
$iif($1 isop $chan,Op al):/mode $chan -o $$1
}
Burada "Op ver" öğesi yalnızca siz kanalda op olduğunuzda, "Op al" öğesi ise sağ tıkladığınız kişi op olduğunda görünür. Koşul sağlanmadığında öğe menüde hiç yer almaz. Bu teknik, menüleri sade ve bağlama uygun tutmanın en zarif yoludur.
$iif bir koşul, doğruysa dönecek değer ve isteğe bağlı olarak yanlışsa dönecek değer alır. Koşullar için mIRC if else yazımıza bakın.
Kanal Menüsü Örnekleri
menu channel {
Kanal bilgisi: {
echo -a Kanal: $chan
echo -a Kisi sayisi: $nick($chan,0)
echo -a Modlar: $chan($chan).mode
echo -a Konu: $chan($chan).topic
}
-
Temizle:/clear
Kanaldan ayril:/part $chan
}
Bu menü, kanal hakkında hızlı bilgi almanızı ve sık işlemleri tek tıkla yapmanızı sağlar.
Durum Penceresi Menüsü
menu status {
Hizli baglan
.OrnekAg:/server irc.ornekag.net +6697
.Diger Ag:/server irc.digerag.net +6697
-
Tum kanallardan cik: {
var %i = $chan(0)
while (%i >= 1) {
part $chan(%i)
dec %i
}
}
}
Dinamik Menüler
Menü öğelerinin metni de identifier içerebilir. Bu, menünün duruma göre farklı görünmesini sağlar:
menu nicklist {
$+(Ignore,$chr(32),$$1):/ignore -w $address($$1,2)
}
$chr(32) bir boşluk karakteri verir; $+ ile birleştirilen metinlerde boşluk eklemek için kullanılır. Bu örnekte menü öğesi "Ignore Ayse" gibi görünür. Metin işleme için mIRC token identifierları yazımıza bakabilirsiniz.
Menüleri Düzenli Tutmak
- Az ama öz: Gerçekten kullandığınız işlemleri ekleyin; uzun menülerde aradığınızı bulmak zorlaşır.
- Ayırıcılar kullanın: İlgili öğeleri gruplayın.
- Alt menüler: Beşten fazla öğe varsa alt menülere bölün.
- Tehlikeli işlemleri ayırın: Ban, kick gibi geri alınması zor işlemleri menünün üst kısmında, yanlışlıkla tıklanabilecek yerlerde tutmayın.
- Koşullu öğeler: Yalnızca anlamlı olduğunda görünen öğeler, menüyü sade tutar.
Addon Menüleriyle Çakışma
Yüklediğiniz addon'lar da kendi menü öğelerini ekler. Çok sayıda addon kullanıyorsanız sağ tık menünüz hızla şişebilir. Bu durumda kendi menülerinizi bir alt menü altında toplamak düzeni korur:
menu nicklist {
Araclarim
.Op ver:/mode $chan +o $$1
.Whois:/whois $$1
}
Addon çakışmaları için mIRC addon çakışmaları yazımıza bakın.
Gerçek Bir Senaryo
Bir kanal moderatörü, günde onlarca kez op verip alıyor, kullanıcıları uyarıyor ve bazen banlıyor. Her işlemi komut yazarak yapmak zaman alıyor ve acele ettiğinde yazım hatası yapıyor. Kullanıcı listesi için bir menü seti hazırlıyor: yetki işlemleri bir alt menüde, ceza işlemleri başka bir alt menüde, bilgi sorguları ayrı bir grupta. Ceza işlemlerini koşullu hâle getirip yalnızca kendisi op olduğunda görünmesini sağlıyor. Artık bütün işlemler iki tıkla ve hatasız yapılıyor.
Menüleri Tasarlamak
İyi bir menü, bir arayüz tasarımı işidir. En sık kullandığınız işlemleri en üste koyun; menünün üst kısmı en hızlı ulaşılan yerdir. Birbiriyle ilgili işlemleri ayırıcılarla gruplayın ve her grubun içinde en çok kullanılanı başa alın. Menü öğelerinin metinleri kısa ve net olsun; "Kullanıcıya operatör yetkisi ver" yerine "Op ver" yazmak hem daha hızlı okunur hem de menüyü dar tutar.
Tehlikeli işlemler konusunda özellikle dikkatli olun. Bir kullanıcıyı kalıcı olarak banlayan bir öğenin, sık kullandığınız bir öğenin hemen altında olması, acele ettiğinizde yanlış tıklamaya yol açabilir. Böyle işlemleri ayrı bir alt menüye almak veya menünün alt kısmına yerleştirmek, kazara tıklamaları önler. Çok kritik işlemler için bir onay adımı eklemek de düşünülebilir.
Menüleri Zamanla Geliştirmek
Menünüzü bir kez kurup bırakmak yerine kullanımınıza göre geliştirmek daha iyi sonuç verir. Birkaç hafta sonra hangi öğeleri hiç kullanmadığınızı fark edeceksiniz; bunları kaldırmak menüyü sadeleştirir. Buna karşılık sık yazdığınız ama menüde olmayan komutları eklemek verimliliği artırır.
Menünüzü başka bilgisayarlarda da kullanıyorsanız menü tanımlarınızı ayrı bir dosyada tutmak taşımayı kolaylaştırır. Dosyayı kopyalayıp yüklediğinizde bütün menü düzeniniz yeni kurulumda hazır olur. Bu dosyayı yedeklerinizin içinde tutmayı da ihmal etmeyin; uzun süre uğraşarak oluşturduğunuz bir menü düzenini yeniden kurmak zahmetlidir.
Menü tanımlarınızı paylaşırken kanal adları ve kişisel kısayollar gibi size özel satırları gözden geçirmeyi de unutmayın; başkaları için anlamlı olmayan öğeler karışıklık yaratır.
Sonuç
Popup menüleri, IRC kullanımınızı hızlandıran basit ama etkili bir özelliktir. Menü türlerini öğrenin, $$1 ile seçili kullanıcıya erişin, alt menüler ve ayırıcılarla düzen kurun, $iif ile koşullu öğeler oluşturun ve menülerinizi sade tutun. Scriptlerinizde veri saklamaya geçmek için sıradaki rehberimiz mIRC değişkenler.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Popup menüleri nerede tanımlanır?
Script editörünün Popups sekmesinde veya bir remote dosyasında menu blokları ile tanımlanır.
Seçili kullanıcının nickini nasıl alırım?
Kullanıcı listesi menülerinde $$1 identifier'ı sağ tıkladığınız kişinin nickini verir.
Birden fazla kişi seçtiğimde komut hepsine uygulanır mı?
Varsayılan olarak ilk seçili kişiye uygulanır. Hepsine uygulamak için bir döngü yazmanız gerekir.


