Ana Sayfa
mIRC Scripting Dersleri mIRC Scripting için yazılmış, öğretici ders dokümanlarına ulaşabilirsiniz.


mIRC Scripting Dersleri #02 – Remote Editor ve Script Dosyalarının Kullanımı

mIRC Scripting için yazılmış, öğretici ders dokümanlarına ulaşabilirsiniz.


Kullanıcı Etiket Listesi

1Beğeniler
  • 1 Post By SonsuZ

 
LinkBack Konu Araçları Görünüm Modları
09 Ekim 2026, 23:11   #1
Çevrimiçi
Varsayılan mIRC Scripting Dersleri #02 – Remote Editor ve Script Dosyalarının Kullanımı

Merhaba arkadaşlar,

İlk dersimizde basit bir komut oluşturmuştuk. Bu dersimizde ise mIRC içerisinde kodlarımızı nerede yazacağımızı ve nasıl yöneteceğimizi ele alacağız.

Script Editor nasıl açılır?

mIRC açıkken
Kod:
Alt + R
tuşlarına basmanız yeterlidir.

Karşımıza çıkan editörde farklı bölümler bulunmaktadır.

Aliases

Kendi komutlarımızı tanımladığımız bölümdür.

Örnek:
Kod:
saat {
  echo -a Şu anki saat: $time
}
Komut satırına
Kod:
/saat
yazdığımızda geçerli saat gösterilir.

Remotes

IRC olaylarını yakalamak, kullanıcı hareketlerini takip etmek ve otomatik işlemler gerçekleştirmek için kullandığımız bölümdür.

Örnek:
Kod:
on *:JOIN:#: {
  if ($nick == $me) { return }
  echo -a $nick kullanıcısı $chan kanalına giriş yaptı.
}
Bu kod, bulunduğunuz kanallara başka kullanıcılar katıldığında aktif pencerede bilgi gösterir.

Popups

mIRC içerisinde sağ tıklama menüleri oluşturmamızı sağlar.

Örneğin bir menüye sık kullandığımız komutları ekleyebiliriz.

Script dosyaları

mIRC scriptleri genellikle
Kod:
.mrc
uzantılı dosyalarda saklanır.

Remote bölümüne harici bir dosya yüklemek için şu komut kullanılabilir:
Kod:
/load -rs "C:\Scripts\ornek.mrc"
Buradaki dosya yolu örnektir. Kendi dosyanızın bulunduğu konumu yazmalısınız.

Önemli uyarı

Kaynağını bilmediğiniz scriptleri doğrudan yüklemeyin. mIRC kodları dosya işlemleri ve dış komutlar çalıştırabildiği için güvenilmeyen kodlar risk oluşturabilir.

Sonuç

Kod yazmak kadar kodun nerede çalıştığını ve nasıl yüklendiğini bilmek de önemlidir.

Sonraki dersimizde Alias kullanımını biraz daha detaylandıracağız.

İyi forumlar.

__________________
Her kapıyı açabiliyor olmanız, her kapıdan geçmeniz gerektiği anlamına gelmez.
 
09 Ekim 2026, 23:20   #2
Çevrimiçi
Varsayılan Yanıt: mIRC Scripting Dersleri #02 – Remote Editor ve Script Dosyalarının Kullanımı

İçeriği görmek için buraya tıklayarak kaydolunuz.
Arkadaşlar, Remote Editor konusunu biraz daha ileri taşıyalım.

Özellikle birden fazla
Kod:
.mrc
dosyasıyla çalışanların karşılaştığı sorunlardan biri, hangi modülün yüklü olduğunu takip etmek ve gerektiğinde dosyaları kontrollü şekilde yönetmektir.

Bunun için küçük bir Script Modül Yöneticisi hazırlayalım.

Bu örnekte dosyanın varlığını, yüklenme durumunu ve işlem sonucunu kontrol edeceğiz. Ayrıca yalnızca belirlediğimiz
Kod:
modules
klasöründeki dosyalar üzerinde işlem yapacağız.

Kod:
Kod:
alias modul {
var %islem = $lower($1)
var %ad = $2

if (!$istok(yukle kaldir durum,%islem,32)) {
echo -a Kullanım: /modul <yukle|kaldir|durum> <dosya>
return
}

if (!%ad) {
echo -a HATA: Modül adı belirtilmedi.
return
}

if ($regex(%ad,/^[a-zA-Z0-9_-]+$/) != 1) {
echo -a HATA: Geçersiz modül adı.
return
}

var %klasor = $+( $mircdir,modules\ )
var %dosya = $+(%klasor,%ad,.mrc)

if (%islem == durum) {
if ($script(%dosya)) {
echo -a [MODUL] %ad şu anda yüklü.
}
else {
echo -a [MODUL] %ad yüklü değil.
}
return
}

if (%islem == yukle) {
if (!$isfile(%dosya)) {
echo -a HATA: Dosya bulunamadı: %dosya
return
}

if ($script(%dosya)) {
echo -a [MODUL] %ad zaten yüklü.
return
}

load -rs $qt(%dosya)

if ($script(%dosya)) {
echo -a [MODUL] %ad başarıyla yüklendi.
}
else {
echo -a HATA: %ad yüklenemedi.
}
return
}

if (%islem == kaldir) {
if (!$script(%dosya)) {
echo -a [MODUL] %ad zaten yüklü değil.
return
}

unload -rs $qt(%dosya)

if (!$script(%dosya)) {
echo -a [MODUL] %ad başarıyla kaldırıldı.
}
else {
echo -a HATA: %ad kaldırılamadı.
}
}
}
Kurulum:

mIRC ana klasöründe
Kod:
modules
adında bir klasör oluşturuyoruz.

Örneğin:
Kod:
mIRC\
modules\
koruma.mrc
kanal.mrc
sistem.mrc
Yukarıdaki kodu Remote Editor içerisine ekliyoruz.

Kullanım:
Kod:
/modul yukle koruma
/modul durum koruma
/modul kaldir koruma
Kodun önemli noktaları:
  • Kod:
    $istok()
    ile izin verilen işlemleri kontrol ediyoruz.
  • Kod:
    $regex()
    ile modül adlarını sınırlandırıyoruz.
  • Kod:
    $isfile()
    ile dosyanın mevcut olup olmadığını denetliyoruz.
  • Kod:
    $script()
    ile modülün yüklü olup olmadığını öğreniyoruz.
  • Kod:
    /load -rs
    ve
    Kod:
    /unload -rs
    ile modülü yönetiyoruz.
  • Kod:
    $qt()

  • sayesinde boşluk içeren dosya yollarını komutlara güvenli biçimde iletiyoruz.
Burada özellikle dikkat edilmesi gereken nokta, kullanıcıdan doğrudan herhangi bir dosya yolu kabul etmememiz.
Modül adını kontrol edip dosyayı kendi belirlediğimiz klasörden seçiyoruz.

Küçük bir teknik not:
Kod:
/load -rs
ile zaten yüklü bir script yeniden yüklenirse içeriği güncellenebilir.

Bizim örneğimiz ise bunu bilerek engelliyor.

Çünkü amacımız otomatik güncelleme değil, kontrollü modül yönetimi.
Ayrıca bir modülün yüklenmiş görünmesi, içerisindeki bütün kodların hatasız çalıştığını garanti etmez.

Bu örnek dosya yönetimi içindir; tam kapsamlı bir script doğrulama sistemi değildir.
Bir de güvenlik tarafını unutmayalım:
Kod:
modules
klasörüne koyduğumuz dosyaların içeriğine güvenmemiz gerekiyor.

Dosya adını kontrol etmek, zararlı bir scripti güvenli hâle getirmez.

Sonuç olarak: Remote Editor yalnızca kod yazdığımız bir alan değildir.

Doğru kullanıldığında modüler ve yönetilebilir bir scripting altyapısının merkezidir.

Kodun büyüklüğünden ziyade, kontrolün kimde olduğu önemlidir.

İyi forumlar.
__________________
Her kapıyı açabiliyor olmanız, her kapıdan geçmeniz gerektiği anlamına gelmez.
 
09 Ekim 2026, 23:28   #3
Çevrimdışı
Varsayılan Yanıt: mIRC Scripting Dersleri #02 – Remote Editor ve Script Dosyalarının Kullanımı

İçeriği görmek için buraya tıklayarak kaydolunuz.
Emeğinize sağlık
__________________
 

Yer İmleri


Şu anda bu konuyu görüntüleyen etkin kullanıcılar: 1 (0 üye ve 1 konuk)
 

Yayınlama Kuralları


Forum saati GMT +3 olarak ayarlanmıştır. Şu an saat: 00:46

Forum
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
IRCdForum.Net, lisanslı vBulletin® kullanmaktadır.
Yasal Uyarı
IRCdForum.Net; 5651 sayılı kanuna göre yer sağlayıcı bir forum sitesidir. Dolayısıyla forumdaki içeriklerden ilgili içeriği paylaşan üyeler sorumludur. Hukuka aykırı içerik bildirimleri için İLETİŞİM linkinden bildirim gönderebilirsiniz.

güzel hosting

IRCdForum.Net; altyapı gücünü Güzel Hosting'den alır.