IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

9Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 16 Nisan 2006, 20:37   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Socket bot yapımı




Her zaman sorulan socket botun nasıl yapıldığı konusunu biraz anlattım. Aşağıdaki kodun içinde neyin ne olduğunu gösteriyor. Sizde bu kodu yükledikten sonra @sdebug penceresine gelen bilgiye göre swalias'ı içinde istediğinizi ekleyebilirsiniz. İşte kod ve açıklaması:

&#214;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&#231;ı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&#246;nderiliyor
swbot NICK BOTUN-NICKI
;servera bağlanırken botun identdi ve usernamei g&#246;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&#252;kl&#252;yoruz ve $1- değerini doldurması i&#231;in tokenize kullanıyoruz
var %; | sockread %; | tokenize 32 %;
;eğer @sdebug penceresi yoksa pencere oluşturuluyor ve sockettan gelen bilgi o pencereye g&#246;steriliyor
if !$window(@sdebug) { window -k0 @sdebug } | aline -p @sdebug $timestamp < $1-
;sockettan gelen bilgi ile swalias aliasını &#231;ağırıyoruz
swalias $1-
}
;socketta bilgi g&#246;nderme aliasımız, eğer bot socketı a&#231;ıksa o socketa istediğimiz bilgiyi g&#246;nderiyoruz
alias swbot { if $sock(bot) { sockwrite -n bot $1- } }

;sockettan gelen bilgiyi okumak i&#231;in oluşturduğumuz swalias aliası
alias swalias {
;eğer bot socketı a&#231;ıksa
if $sock(bot) {
;%: değişkenine status penceresine echolaması i&#231;in bir komut y&#252;kl&#252;yoruz
var %: = echo $color(info) -st > Socket bot:
;eğer serverdan socket VERSIONu istenirse mIRC v6.17'nin version cevabını g&#246;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&#246;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&#252;şmemek i&#231;in bu gerekli.
if $1 == PING { swbot PONG $2- }
;serverdan gelen bilginin 2. kelimesi 474'se, bu 474. rawı g&#246;rd&#252; demektir, 474. raw bir kanaldan banlı olduğunu g&#246;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&#246;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&#246;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&#246;zc&#252;ğ&#252; .hop ise eğer 2. kelime varsa 2. kelimenin olduğu kanalda, yoksa yazılan kanalda hop komutu uygulanıyor yani kanaldan &#231;ı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 &#231;ıkıyor. eğer 2. s&#246;zc&#252;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) }
}
}
}
}



Umarım işinize yarar
Her zaman sorulan socket botun nasıl yapıldığı konusunu biraz anlattım. Aşağıdaki kodun i&#231;inde neyin ne olduğunu g&#246;steriyor. Sizde bu kodu y&#252;kledikten sonra @sdebug penceresine gelen bilgiye g&#246;re swalias'ı i&#231;inde istediğinizi ekleyebilirsiniz. İşte kod ve a&#231;ıklaması:

&#214;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&#231;ı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&#246;nderiliyor
swbot NICK BOTUN-NICKI
;servera bağlanırken botun identdi ve usernamei g&#246;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&#252;kl&#252;yoruz ve $1- değerini doldurması i&#231;in tokenize kullanıyoruz
var %; | sockread %; | tokenize 32 %;
;eğer @sdebug penceresi yoksa pencere oluşturuluyor ve sockettan gelen bilgi o pencereye g&#246;steriliyor
if !$window(@sdebug) { window -k0 @sdebug } | aline -p @sdebug $timestamp < $1-
;sockettan gelen bilgi ile swalias aliasını &#231;ağırıyoruz
swalias $1-
}
;socketta bilgi g&#246;nderme aliasımız, eğer bot socketı a&#231;ıksa o socketa istediğimiz bilgiyi g&#246;nderiyoruz
alias swbot { if $sock(bot) { sockwrite -n bot $1- } }

;sockettan gelen bilgiyi okumak i&#231;in oluşturduğumuz swalias aliası
alias swalias {
;eğer bot socketı a&#231;ıksa
if $sock(bot) {
;%: değişkenine status penceresine echolaması i&#231;in bir komut y&#252;kl&#252;yoruz
var %: = echo $color(info) -st > Socket bot:
;eğer serverdan socket VERSIONu istenirse mIRC v6.17'nin version cevabını g&#246;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&#246;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&#252;şmemek i&#231;in bu gerekli.
if $1 == PING { swbot PONG $2- }
;serverdan gelen bilginin 2. kelimesi 474'se, bu 474. rawı g&#246;rd&#252; demektir, 474. raw bir kanaldan banlı olduğunu g&#246;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&#246;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&#246;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&#246;zc&#252;ğ&#252; .hop ise eğer 2. kelime varsa 2. kelimenin olduğu kanalda, yoksa yazılan kanalda hop komutu uygulanıyor yani kanaldan &#231;ı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 &#231;ıkıyor. eğer 2. s&#246;zc&#252;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) }
}
}
}
}



Umarım işinize yarar

Konu el33t tarafından (09 Haziran 2006 Saat 23:23 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Sohbet
Alt 17 Nisan 2006, 12:42   #2
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




Tesekkür el33t. Güzel bi anlatım.

 
Alıntı ile Cevapla

Alt 27 Nisan 2006, 14:41   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




Arkadaşlar ben Hiç Socket Botu yapmadım acaba bunu nereye ekleyeceğim script Dosyasına mı Yoksa Alias vs. vs Birde bunu ekledikten sonra ne işe yapıyacak yada nasıl kullanacağım yardım ederseniz Sevinirim Arkadaşlar...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 28 Nisan 2006, 00:08   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




Abicim scriptten anlarım da Azck yardım edemezmiiniz Sojcket den anlamam

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 28 Nisan 2006, 22:51   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




beyler burası yardımlaşma için Değil galiba ben Yolumu Şaşırmışım Pardon
ben Bir yardım İstedim Bilmiyorum Die ama her
kez de anasının karnından Bilgli Çıkmıyo Değilmi yada olemi ? ;huh

 
Alıntı ile Cevapla

Alt 30 Nisan 2006, 02:47   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




on 1:start: { bağlan }
alias bağlan {
if !$sock(bot) {
sockopen bot serveripadresi port
} }

Yaparsak scriptimiz açıldığı zaman botumuz otomatik olarak servere girer

__________________
TurkSohbet.NET | #XPass
 
Alıntı ile Cevapla

Alt 22 Mayıs 2006, 20:40   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




el33t ustadım bi sorum olucak yardım ederseniz cok memnın olacagım; ben socket bot ile girdiğim kanalımda 2. opu tanıtmak istiyorum fakat bir t&#252;rl&#252; beceremedim, yani izmir kanalındaki nicklistdeki 2. opa merhaba demesini nasıl saglıyabilirim normalde kullandıgımız $nick(#izmir,2,o) komutunu raw 366 ya uyarlıyabilmem i&#231;in yardımlarınızı bekliyorum teşekk&#252;rler

 
Alıntı ile Cevapla

Alt 23 Mayıs 2006, 18:53   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




if $2 == 353 && $5 == #izmir { %op = $remove($sorttok($right($6-,-1),32,c),:)
swbot PRIVMSG #izmir Merhaba $remove($gettok(%op,2,32),@) }

Bu yamayı bota eklerseniz istediğiniz olur, kanısındayım.:)

__________________
TurkSohbet.NET | #XPass

Konu diEfoRyoU tarafından (23 Mayıs 2006 Saat 19:38 ) değiştirilmiştir. Sebep: Ah smileyler ah:)
 
Alıntı ile Cevapla

Alt 07 Haziran 2006, 16:42   #9
NaTSuKa
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




şimdi bende ş&#246;yle bir kod var diyelim...

Alıntı:
on *:text::#: {
samode $chan +b $address
}
on *:text::#: {
samode $chan +b $address
}
on *:action:*:#: {
samode $chan +b $address
}

bu şekilde bir koruma kodu var ve ben bunun ile GoriL nickli nick şifresi 123456 olan bir sock bot yapmak istiyorum. nasıl yaparım yani neyi nereye eklemem lazıl.. ilk sayfadaki kodlarla nasıl olacak ?

abiler birde socks botu bir anlatın ne farklılıgı var... Ben kendi serverime yaptıgım botu mirc &#252;zerine yazıtorum a&#231;ıyorum baglıyorum bunun ile ne farklılıgı var.. ? hangisi daha iyi aradaki farklar nedir..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
&#246;grenmek istiyorum


Konu NaTSuKa tarafından (08 Haziran 2006 Saat 11:44 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 17 Ağustos 2006, 09:16   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
Yanıt: Socket bot yapımı




@sdebug Penceresi cıkmadan nasıL calıstıra bilirim . Denedim ama kod hata verdi

 
Alıntı ile Cevapla

Cevapla

Etiketler
bot, mirc, mirc download, mirc indir, socket, yapimi, yapımı


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

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Evde Puf Nasıl Yapılır?, Resimli Puf Yapımı Anlatımı, Renkli Puf Yapımı Violent El Sanatları 0 25 Eylül 2014 20:07
socket bot LineS mIRC Scripting Sorunları 1 20 Eylül 2012 23:19
'Cause' IRC Socket bot. Xpyhre mIRC Scripting Sorunları 1 16 Aralık 2010 01:46
socket bot berduSh mIRC Scripting Sorunları 0 10 Ağustos 2007 11:46