![]() |
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ı: Ö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) } } } } } Umarım işinize yarar |
Yanıt: Socket bot yapımı Tesekkür el33t. Güzel bi anlatım. |
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: |
Yanıt: Socket bot yapımı Abicim scriptten anlarım da Azck yardım edemezmiiniz Sojcket den anlamam :confused: |
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 |
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 |
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ürlü 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çin yardımlarınızı bekliyorum teşekkürler |
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.:) |
Yanıt: Socket bot yapımı şimdi bende şöyle bir kod var diyelim... Alıntı:
abiler birde socks botu bir anlatın ne farklılıgı var... Ben kendi serverime yaptıgım botu mirc üzerine yazıtorum açıyorum baglıyorum bunun ile ne farklılıgı var.. ? hangisi daha iyi aradaki farklar nedir.. ;) ögrenmek istiyorum |
Yanıt: Socket bot yapımı @sdebug Penceresi cıkmadan nasıL calıstıra bilirim . Denedim ama kod hata verdi |
Yanıt: Socket bot yapımı Bu kodlarla bı NoMercy Tasarlayabılırmıyız mesela yanı |
Yanıt: Socket bot yapımı arkadaslar belki imkazsız bırsey ısteyom ama el33 yaptıgı gıbı NoMercy Kodları anlatacak kısı olsa keske tektek 1997 koduda ama ımkansızdır |
Yanıt: Socket bot yapımı peki sock botu proxy ile bağlamak istersek nasıl yapmamız gerek? |
Cevap: Socket bot yapımı Emin olmayarak cevap veriyorum, socketı açarken servera değilde proxy ipsine ve portuna göre açacaksın ve socket açıldığında yani on sockopen eventi içinde swbot NICK BOTUN-NICKI komutundan önce CONNECT (?ya da SERVER) <ip> <port> şeklinde istediğin servera girdireceksin. Denemedim ve çalışıp çalışmayacağı hakkında bir fikrim yok ama RFC1459'dan hatırladığım kadarıyla böyleydi. |
Cevap: Socket bot yapımı ßenimde ufak 1 konuda yardima ihtiyacim var :) if $gettok(%::text,1,32) == !giris { sw $sockname os raw swhois %::nick : is a xx Dj sw $sockname chghost %::nick Dj.xx.com sw $sockname os raw svsnick %::nick : Dj_%::nick sw $sockname privmsg #dj : %::nick Dj Olarak sisteme girisiniz onaylandi. Hersey tamam ama nick deiştirmiyor böyle olunca. Kirmizi ile yaptim yerde bosluk birakinca ise Nicki sadece Dj_ olarak deiştiriyor ;huh |
Cevap: Socket bot yapımı Kod: $+(DJ_,%::nick) |
Cevap: Socket bot yapımı Kod: if $gettok(%::text,1,32) == .topic { |
Cevap: Socket bot yapımı Elimde bi kod vardi mirc icin, server'a girenleri kanallara joinliyordu. ßen bunu sock botun icine dahil etmek icin ugrastim ama yapamadim sanirim. PHP- Kodu: |
Yanıt: Socket bot yapımı Sanirim böyle oluyor denemdim ama if *client connecting* iswm $strip($1-) { sw $sockname SAJOIN $12 #kanal1 sw $sockname SAJOIN $12 #kanal2 sw $sockname SAJOIN $12 #kanal3 sw $sockname SAJOIN $12 #kanal4 } |
Cevap: Socket bot yapımı Bota Gelen mesajı Baska ßir kanala aktarmak icin n yapmamız lazım :) |
Yanıt: Socket bot yapımı Varmi bi calisman kodlari göre bilirmiyiz:confused: |
Cevap: Socket bot yapımı Ufak bisi sorcam bu socks botta girene version cektirmek istersek nasil yapabiliriz? PHP- Kodu: |
Yanıt: Cevap: Socket bot yapımı Alıntı:
|
Yanıt: Cevap: Socket bot yapımı Alıntı:
Kod: if *client connecting* iswm $strip($1-) { |
Cevap: Socket bot yapımı :) calismadi oda. bisi sorcam privmsg özeline mesaj yazar version mu yazcak özeline :D ben girene version cekmek istiodum anlamadin sanirsam :p |
Yanıt: Socket bot yapımı çalışmadi degil çalıştıramadın :) mantik olarak dedigin gibi fakat denersen anlarsin version çekip çekmedigini bizzat ben yaptim baya bir aramistim dedim birde PRIVMSG deniyim denedim oldu :) |
Cevap: Socket bot yapımı Kodlari suraya ekledim, PHP- Kodu: |
Yanıt: Socket bot yapımı VERSION Dikkat et version başindakilerine |
Cevap: Socket bot yapımı Arkadaslar sorularınızı mirc/scripting bölümüne sorunuz. |
Yanıt: Socket bot yapımı * /sockopen: Yetersiz veya eksik parametre |
Yanıt: Socket bot yapımı peki bu log tutmayı sdbug penceresinde online olarak degilde log.txt olarak script içersinde txt olusturarak nasıl yapabilirim yardımcı olursanız sevinirim |
Cevap: Yanıt: Socket bot yapımı Alıntı:
|
Yanıt: Socket bot yapımı nomercy botunu kullanıyorum bu botta belirledigim bir kanaldaki bütün konuşmaları, gün gün olarak nasıl log tutturabilirim hocam? |
Cevap: Socket bot yapımı Şı şekilde birşey yapabilirsin; if $2 == join && $sock(socket-ismi).mark == $remove($gettok($1,1,33),$chr(58)) && $remove($3,$chr(58)) == #KANAL-ISMI { log on $remove($3,$chr(58)) } Yani buradaki mantık şu, bot belirlediğin kanal'a girdiğinde; mIRC o kanal'daki tüm olayları loglayacaktır. Gerekli bölümleri kendine göre ayarla. |
Cevap: Socket bot yapımı Konu güncel olsun. Socket ile ilgili sorunları buraya yazın. Not: İlk başladığımda bu iskelet üzerinden gittim :) |
Cevap: Socket bot yapımı Socket botu bağlamak için gereken server ip ve port bilgisini nasıl görebilirim |
Cevap: Socket bot yapımı bana socket botu sunucuya baglama konusudna yardm edebilecek kimse varmı bu konuya cok yabancıyım |
Cevap: Socket bot yapımı konuyu hortlatalım: socket konusunda sıfırım. belli bir sunucuya 5 kadar nick sokuyorum ama bunları mirc ile tek tek yapıyorum socket olarak bunu ayaralaya bilirmiyiz belli bir kaç kanala giriş yapacak bağlantı gitmesi durumunda yenileyecek yeniden giriş yapacak şekilde bi ayarlama yapacak üstadlardan yardım edecek birisi olursa çok sevinirim iilgi alakanız için şimdiden tşk ederim. |
Cevap: Socket bot yapımı Alıntı:
|
Cevap: Socket bot yapımı girip durması yeterli bağlatı gitmesi durumunda yeniden giriş yapması farklı bi işlemine gerek yok. şöyle bişi olabilirse general nicki ile gireceği kanalları !kanalEkle KanalSil !reset gibi işlem yaptırımı olursa çok daha güzel olur. harici bişi yok. Alaka için tşk ederim... |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:48. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk