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

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Dersleri (https://www.ircforumlari.net/mirc-scripting-dersleri/)
-   -   Socket bot yapımı (https://www.ircforumlari.net/mirc-scripting-dersleri/15932-socket-bot-yapimi.html)

el33t 16 Nisan 2006 20:37

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

h4pp3n 17 Nisan 2006 12:42

Yanıt: Socket bot yapımı
 
Tesekkür el33t. Güzel bi anlatım.

ExpresSs 27 Nisan 2006 14:41

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...:confused:

ExpresSs 28 Nisan 2006 00:08

Yanıt: Socket bot yapımı
 
Abicim scriptten anlarım da Azck yardım edemezmiiniz Sojcket den anlamam
:confused:

ExpresSs 28 Nisan 2006 22:51

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

diEfoRyoU 30 Nisan 2006 02:47

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

codcu 22 Mayıs 2006 20:40

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

diEfoRyoU 23 Mayıs 2006 18:53

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.:)

NaTSuKa 07 Haziran 2006 16:42

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.. ;) &#246;grenmek istiyorum

artemiSo 17 Ağustos 2006 09:16

Yanıt: Socket bot yapımı
 
@sdebug Penceresi cıkmadan nasıL calıstıra bilirim . Denedim ama kod hata verdi


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:27.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net