IRCForumda.Net  

Geri git   IRCForumda.Net > mIRC Scripting ve Sohbet Programları > mIRC Scripting Dersleri

mIRC Scripting Dersleri mIRC veya IRC komutları hakkında detaylı anlatı, bilgi.

Cevapla
 
LinkBack Seçenekler Stil
Eski 31-01-2009   #1 (permalink)
User
System32 Kullanıcısının Avatarı
Giriş Tarihi: 31-12-2008
Mesajlar: 11
İtibar Gücü: 4
Rep Puanı : 10
Rep Derecesi : System32 is on a distinguished road
Cool Socket Bot Yapımı

Önce mIRC'de yazı yazdığımız yerde yani command line'dan /sockopen bot <server-ip> <port> komutunu yazarak botumuzu istediğimiz servera bağlıyoruz.

;"bot" adlı socketımız açıldığında
on *:sockopen:bot:{
;eğer socketta bir sorun varsa işlemi durduruyoruz
if ($sockerr) { echo $color(info) -st Socket botun bağlantısı kesildi. | return }
;servera bağlanırken botun nicki gönderiliyor
swbot NICK BOTUN-NICKI
;servera bağlanırken botun identdi ve usernamei gönderiliyor
swbot USER IDENTD * * :USERNAME BURAYA
;socket botun nickiyle işaretleniyor. yani $sock(bot).mark değeri botun nicki oluyor
sockmark $sockname BOTUN-NICKI
}
;serverdan socketa bilgi geldiğinde
on *:sockread:bot:{
;eğer socketta bir sorun varsa işlemi durduruyoruz
if ($sockerr) { echo $color(info) -st Socket botun bağlantısı kesildi. | return }
;%; diye bir değişken oluşturup sockettan gelen bilgiyi bu değişkene yüklüyoruz ve $1- değerini doldurması için tokenize kullanıyoruz
var %; | sockread %; | tokenize 32 %;
;eğer @sdebug penceresi yoksa pencere oluşturuluyor ve sockettan gelen bilgi o pencereye gösteriliyor
if !$window(@sdebug) { window -k0 @sdebug } | aline -p @sdebug $timestamp < $1-
;sockettan gelen bilgi ile swalias aliasını çağırıyoruz
swalias $1-
}
;socketta bilgi gönderme aliasımız, eğer bot socketı açıksa o socketa istediğimiz bilgiyi gönderiyoruz
alias swbot { if $sock(bot) { sockwrite -n bot $1- } }

;sockettan gelen bilgiyi okumak için oluşturduğumuz swalias aliası
alias swalias {
;eğer bot socketı açıksa
if $sock(bot) {
;%: değişkenine status penceresine echolaması için bir komut yüklüyoruz
var %: = echo $color(info) -st > Socket bot:
;eğer serverdan socket VERSIONu istenirse mIRC v6.17'nin version cevabını gönderiyoruz.
if :VERSION iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION mIRC v6.17 Khaled Mardam-Bey $+ $chr(1) }
;eğer serverdan botumuzun fingerı istenirse ona cevap gönderiyoruz
if :FINGER iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Sevket Arslan $+ $chr(1) }
;eğer server bizi pinglerse, bizde onu pongluyoruz, düşmemek için bu gerekli.
if $1 == PING { swbot PONG $2- }
;serverdan gelen bilginin 2. kelimesi 474'se, bu 474. rawı gördü demektir, 474. raw bir kanaldan banlı olduğunu gönderir. statuse 4. değer olan kanaldan banlı olduğunu bildiriyor.
if $2 == 474 { %: $4 kanalında banlı. }
;2. kelime 366 ise yani /names komutunun sonu ki bu genelde bot kanala girdiğinde gelir, girdiğimiz kanal status penceresine gösteriliyor.
if $2 == 366 { %: $4 kanalına girdi. }
;eğer 2. kelime kickse ve 4. kelime botumuzun nickiyse, statuse kanaldan kicklendiğimizi kimin kicklediğini ve neden kicklendiğini gösteriyoruz.
if $2 == KICK && $4 == $sock(bot).mark { %: $3 kanalından %n tarafından kicklendi. $+($chr(40),$right($5-,-1),$chr(41)) | swbot JOIN $3 }
;eğer 2. kelime PRIVMSG ise
if $2 == PRIVMSG {
;%n değişkenine nicki, %m değişkenine gelen mesajı, %k değişkenine kanalı ayarlıyoruz
var %n = $gettok($gettok($1,1,33),1,58), %m = $right($4-,-1), %k = $3
;eğer nickler belirlediğimiz nickler ise (burda el33t ve el33t2)
if $istok(el33t el33t2,%n,32) {
;eğer gelen mesajın birinci sözcüğü .hop ise eğer 2. kelime varsa 2. kelimenin olduğu kanalda, yoksa yazılan kanalda hop komutu uygulanıyor yani kanaldan çıkıp tekrar giriliyor.
if .hop == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< | swbot JOIN %< }
;bu da .hop gibi fakat bunda botumuz belirtilen kanaldan çıkıyor. eğer 2. sözcük varsa, o kanaldan, yoksa mesajın yazıldığı kanaldan
if .part == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< }
;bu da .part gibi ama bununla istediğimiz kanala sokuyoruz
if .join #* iswm %m { swbot JOIN $gettok(%m,2-,32) }
}
}
}
}

Yazar : el33t

İşinize Yararsa Ne Mutlu Bana Alıntıdır..!
__________________
System32

Son düzenleyen CtrL; 02-02-2009 10:21..
System32 Şuan Çevrimdışı   Alıntı ile Cevapla
Eski 02-02-2009   #2 (permalink)
Özel Kullanıcı
Avatar Yok
Giriş Tarihi: 14-02-2008
Mesajlar: 243
İtibar Gücü: 123
Rep Puanı : 2380
Rep Derecesi : Regex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond repute
Varsayılan

Ders, el33t'ye aittir.
Regex Şuan Çevrimdışı   Alıntı ile Cevapla
Cevapla

Etiketler
bot, socket, yapımı


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Mesaj Yazma Kuralları
Konu Açma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

İfadeler Açık
[IMG] Kodları Açık
HTML Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Foruma Zıpla

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Kola Kutusundan Yılbaşı Ağacı Yapımı Crazy Serbest Kürsü 1 31-12-2008 12:59
FarkLı Host Yapımı buSra Geri Dönüşüm Kutusu 3 13-12-2008 21:55
RSS Sayfa Yapımı CtrL Web 2.0 0 06-12-2008 23:34

Bağlantılar Temel Forum Bilgileri ve Yasal Uyarılar
toplist

irc
, Webmaster Forumu
IRCForumda.Net, vBulletin® 3.8.3 altyapısı kullanılarak tasarlanmıştır.
Telif hakkı ©2000-2012, Jelsoft Enterprises Ltd. şirketine aittir.
Site açıklaması: IRC Forum Sitesi - IRC sunucuları, mIRC Scripting, IRCd yardım, Webmaster ve her tür forumlara yer veren IRC forumu!

IRCForumda.Net, bir forum sitesi olduğu için kullanıcılar her türlü görüşünü, onay beklemeksizin siteye ileti olarak gönderebilmektedir. 5651 sayılı yasaya göre bu yazılardan doğabilecek tüm sorumluluk ilgili kullanıcıya ait olup, yine 5651 sayılı yasaya göre sitemiz, iletileri kontrol etmekle yükümlü değildir. Forum yöneticilerinin gözünden kaçan bu tür durumlarda, şikâyetlerinizi admin@ircforumda.net elektronik posta adresine bildirirseniz gerekli işlemler iki iş günü içerisinde forum sorumlularınca gerçekleştirilecektir.

2008-2011© IRC bir tutkudur!


Search Engine Friendly URLs by vBSEO 3.2.0