- Katılım
- 6 Ağu 2025
- Mesajlar
- 54
- Çözümler
- 1
- Tepkime puanı
- 26
- IFGT Puan
- 8
İnternetin erken dönemlerinde anlık iletişimin bel kemiğini oluşturan IRC (Internet Relay Chat), yalnızca metin tabanlı bir sohbet protokolü olmanın çok ötesindeydi. Bu ekosistemi bu kadar güçlü kılan en önemli faktörlerden biri, istemci tarafında (özellikle popüler mIRC istemcisinde) sunulan otomasyon ve programlanabilirlik yetenekleriydi. Bu yeteneklerin kalbinde ise komut dosyalarının yazıldığı ve çalıştırıldığı "Remote" (Uzak) sekmesi yer alır.
Remote, mIRC Scripting Language (mSL) kullanılarak olay güdümlü (event-driven) kodların yazıldığı, botların oluşturulduğu ve karmaşık istemci otomasyonlarının sağlandığı ana merkezdir.
Bu mimari, günümüz modern yazılım geliştirmede kullanılan "event listener" mantığının en saf ve erken dönem örneklerinden biridir.
Remote, mIRC Scripting Language (mSL) kullanılarak olay güdümlü (event-driven) kodların yazıldığı, botların oluşturulduğu ve karmaşık istemci otomasyonlarının sağlandığı ana merkezdir.
Bu mimari, günümüz modern yazılım geliştirmede kullanılan "event listener" mantığının en saf ve erken dönem örneklerinden biridir.
Plaintext
Bu basit kod bloğunda;
Bu soket yeteneği sayesinde bir mIRC istemcisi sadece IRC sunucusuna bağlı kalmaz; dışarıdaki bir web API'sine istek atabilir, HTTP üzerinden veri çekebilir, veritabanlarıyla haberleşebilir veya ağ üzerinde mini bir sunucu gibi davranabilir. Kanal moderasyonu (otomatik ban atma, flood korumaları, spam filtreleri) gibi işlemlerin tamamı, mili-saniyeler içinde bu Remote sekmesindeki kodlar aracılığıyla işlenir.
IRC Remote, birçok yazılımcının programlama mantığıyla, değişken kavramıyla, algoritmik düşünmeyle ve ağ (network) paketlerinin nasıl işlendiğiyle tanıştığı ilk platform olmuştur. Sistemin esnekliği, kendi arayüzünü (dialoglar) yaratma imkanı sunması ve hızlı derlenme özelliği, onu döneminin ötesinde bir araç haline getirmiş ve kodlama dünyasında kalıcı bir iz bırakmıştır.
Remote, mIRC Scripting Language (mSL) kullanılarak olay güdümlü (event-driven) kodların yazıldığı, botların oluşturulduğu ve karmaşık istemci otomasyonlarının sağlandığı ana merkezdir.
Olay Güdümlü Mimari (Event-Driven Architecture)
IRC Remote sisteminin en belirgin özelliği, tamamen olay güdümlü bir mimariye sahip olmasıdır. Kodlar yukarıdan aşağıya sırayla çalışmak yerine, belirli bir tetikleyici (trigger) gerçekleştiğinde devreye girer. Sunucudan gelen bir veri paketi, bir kullanıcının kanala girmesi veya belirli bir kelimenin yazılması gibi durumlar anında yakalanır ve işlenir.Bu mimari, günümüz modern yazılım geliştirmede kullanılan "event listener" mantığının en saf ve erken dönem örneklerinden biridir.
Temel Yapı Taşları
Remote scriptlerinin çalışma prensibi üç ana bileşene dayanır:- Events (Olaylar): Kodun ne zaman çalışacağını belirleyen dinleyicilerdir. Bir kanala mesaj geldiğinde ON TEXT, biri kanala katıldığında ON JOIN, sunucuya bağlanıldığında ise ON CONNECT olayları tetiklenir.
- Identifiers (Tanımlayıcılar): Anlık olarak sistemden veya olaydan veri çekmeye yarayan, $ işareti ile başlayan fonksiyonlardır. Örneğin, işlemi yapan kişinin rumuzunu almak için $nick, olayın gerçekleştiği kanalı öğrenmek için $chan kullanılır.
- Variables (Değişkenler): Verileri depolamak için kullanılan, % işareti ile tanımlanan bellek alanlarıdır. Local (sadece o kod bloğunda geçerli) veya Global olarak tanımlanabilirler.
Örnek Bir Remote Senaryosu
Bir kanalda birisi "!selam" yazdığında, botun veya istemcinin otomatik olarak cevap vermesini sağlayan temel bir Remote kodu şu şekilde yazılır:
Kod:
on *:TEXT:!selam:#: {
msg $chan Merhaba $nick, kanala hoş geldin! Bugün nasılsın?
}
Gemini şunu dedi:
IRC Remote: mIRC Scripting ve Olay Güdümlü Programlamanın Temelleri
İnternetin erken dönemlerinde anlık iletişimin bel kemiğini oluşturan IRC (Internet Relay Chat), yalnızca metin tabanlı bir sohbet protokolü olmanın çok ötesindeydi. Bu ekosistemi bu kadar güçlü kılan en önemli faktörlerden biri, istemci tarafında (özellikle popüler mIRC istemcisinde) sunulan otomasyon ve programlanabilirlik yetenekleriydi. Bu yeteneklerin kalbinde ise komut dosyalarının yazıldığı ve çalıştırıldığı "Remote" (Uzak) sekmesi yer alır.Remote, mIRC Scripting Language (mSL) kullanılarak olay güdümlü (event-driven) kodların yazıldığı, botların oluşturulduğu ve karmaşık istemci otomasyonlarının sağlandığı ana merkezdir.
Olay Güdümlü Mimari (Event-Driven Architecture)
IRC Remote sisteminin en belirgin özelliği, tamamen olay güdümlü bir mimariye sahip olmasıdır. Kodlar yukarıdan aşağıya sırayla çalışmak yerine, belirli bir tetikleyici (trigger) gerçekleştiğinde devreye girer. Sunucudan gelen bir veri paketi, bir kullanıcının kanala girmesi veya belirli bir kelimenin yazılması gibi durumlar anında yakalanır ve işlenir.Bu mimari, günümüz modern yazılım geliştirmede kullanılan "event listener" mantığının en saf ve erken dönem örneklerinden biridir.
Temel Yapı Taşları
Remote scriptlerinin çalışma prensibi üç ana bileşene dayanır:- Events (Olaylar): Kodun ne zaman çalışacağını belirleyen dinleyicilerdir. Bir kanala mesaj geldiğinde ON TEXT, biri kanala katıldığında ON JOIN, sunucuya bağlanıldığında ise ON CONNECT olayları tetiklenir.
- Identifiers (Tanımlayıcılar): Anlık olarak sistemden veya olaydan veri çekmeye yarayan, $ işareti ile başlayan fonksiyonlardır. Örneğin, işlemi yapan kişinin rumuzunu almak için $nick, olayın gerçekleştiği kanalı öğrenmek için $chan kullanılır.
- Variables (Değişkenler): Verileri depolamak için kullanılan, % işareti ile tanımlanan bellek alanlarıdır. Local (sadece o kod bloğunda geçerli) veya Global olarak tanımlanabilirler.
Örnek Bir Remote Senaryosu
Bir kanalda birisi "!selam" yazdığında, botun veya istemcinin otomatik olarak cevap vermesini sağlayan temel bir Remote kodu şu şekilde yazılır:Plaintext
Kod:
on *:TEXT:!selam:#: {
msg $chan Merhaba $nick, kanala hoş geldin! Bugün nasılsın?
}
Bu basit kod bloğunda;
- on *:TEXT: kısmı, herhangi bir kullanıcı seviyesinden gelen metinleri dinlediğini belirtir.
- !selam kısmı hedeflenen tetikleyici kelimedir.
- # işareti, bu olayın özel mesajlarda değil, herhangi bir kanalda gerçekleştiğinde çalışacağını ifade eder.
- Süslü parantezler { } içindeki alan ise olay gerçekleştiğinde yürütülecek komutları (aksiyonu) barındırır.
Otomasyon ve Gelişmiş Özellikler
Remote scriptleri sadece otomatik cevap vermekten ibaret değildir. Sistem, zamanlayıcılar (/timer) aracılığıyla asenkron işlemler yapmaya, dosya okuma/yazma işlemleri gerçekleştirmeye ve hatta doğrudan TCP/UDP soket bağlantıları kurmaya (/sockopen, /sockread) olanak tanır.Bu soket yeteneği sayesinde bir mIRC istemcisi sadece IRC sunucusuna bağlı kalmaz; dışarıdaki bir web API'sine istek atabilir, HTTP üzerinden veri çekebilir, veritabanlarıyla haberleşebilir veya ağ üzerinde mini bir sunucu gibi davranabilir. Kanal moderasyonu (otomatik ban atma, flood korumaları, spam filtreleri) gibi işlemlerin tamamı, mili-saniyeler içinde bu Remote sekmesindeki kodlar aracılığıyla işlenir.
Günümüz Yazılım Dünyasındaki Yeri ve Mirası
Bugün Discord, Telegram veya Slack gibi platformlarda kullanılan modern bot mimarilerinin temelleri, IRC Remote konseptiyle atılmıştır. Modern bot API'lerindeki webhook'lar ve dinleyici fonksiyonları, mIRC'deki ON TEXT veya ON JOIN gibi Remote eventlerinin güncellenmiş ve daha yapısal (JSON tabanlı) hale getirilmiş versiyonlarıdır.IRC Remote, birçok yazılımcının programlama mantığıyla, değişken kavramıyla, algoritmik düşünmeyle ve ağ (network) paketlerinin nasıl işlendiğiyle tanıştığı ilk platform olmuştur. Sistemin esnekliği, kendi arayüzünü (dialoglar) yaratma imkanı sunması ve hızlı derlenme özelliği, onu döneminin ötesinde bir araç haline getirmiş ve kodlama dünyasında kalıcı bir iz bırakmıştır.