06 Ocak 2008, 17:40 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Sock bot sorun Selam arkadaslar.. ;"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 osman1 ;servera bağlanırken botun identdi ve usernamei gönderiliyor swbot USER BOT * * :System ;socket botun nickiyle işaretleniyor. yani $sock(bot).mark değeri botun nicki oluyor sockmark $sockname Osman1 } ;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) } } } } } Ben bu sock botuna kod eklemek istiyorum. Botun özeline gelen mesajları #X kanalına yansıtmak istiyorum. Bide komut uygulatmak istiyorum Örnk: !join #kanal, !part #kanal seklinde Simdiden tsk.ler. | |
|
06 Ocak 2008, 18:14 | #2 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Sock bot sorun Uygulatmak istediğin komut örneğini zaten el33t göstermiş. if $istok(el33t el33t2,%n,32) satırın'da, el33t yazan yere kendi nick'ini yazıcaksın. Devamında, bot'un özeline .join #kanal-ismi yaptığın zaman, zaten bot belirlediğin kanal'a girecektir. Bot'un özeline yazılanları, #x kanal'ına yansıtmak için; if $3 == $sock(bot).mark { swbot privmsg #x Nick: %n - Mesajı: %m } Satırını eklemen yeterli olur. |
|
06 Ocak 2008, 23:19 | #4 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Sock bot sorun alias swalias { if $sock(bot) { var %: = echo $color(info) -st > Socket bot: if :VERSION iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION mIRC v6.17 Khaled Mardam-Bey $+ $chr(1) } if :FINGER iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Sevket Arslan $+ $chr(1) } if $1 == PING { swbot PONG $2- } if $2 == 474 { %: $4 kanalında banlı. } if $2 == 366 { %: $4 kanalına girdi. } if $2 == KICK && $4 == $sock(bot).mark { %: $3 kanalından %n tarafından kicklendi. $+($chr(40),$right($5-,-1),$chr(41)) | swbot JOIN $3 } if $2 == PRIVMSG { var %n = $gettok($gettok($1,1,33),1,58), %m = $right($4-,-1), %k = $3 if $istok(el33t el33t2,%n,32) { if .hop == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< | swbot JOIN %< } if .part == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< } if .join #* iswm %m { swbot JOIN $gettok(%m,2-,32) } } if $3 == $sock(bot).mark { swbot privmsg #x Nick: %n - Mesajı: %m } } } } Kod'u kalın olarak belirttiğim yer. Sen bir üst satıra eklemişsin. Dolayısı ile $istok identifier'ına takılıyor. |
|
07 Ocak 2008, 18:53 | #6 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Sock bot sorun Ben sana bir tane örnek vericem(kufur koruması), ona bakarak mantığını çöz. Ve devamını getir. Yine /swbot alias'ının içinde örnek veriyorum. alias swalias { if $sock(bot) { var %: = echo $color(info) -st > Socket bot: if :VERSION iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION mIRC v6.17 Khaled Mardam-Bey $+ $chr(1) } if :FINGER iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Sevket Arslan $+ $chr(1) } if $1 == PING { swbot PONG $2- } if $2 == 474 { %: $4 kanalında banlı. } if $2 == 366 { %: $4 kanalına girdi. } if $2 == KICK && $4 == $sock(bot).mark { %: $3 kanalından %n tarafından kicklendi. $+($chr(40),$right($5-,-1),$chr(41)) | swbot JOIN $3 } if $2 == PRIVMSG { var %n = $gettok($gettok($1,1,33),1,58), %m = $right($4-,-1), %k = $3 if $istok(el33t el33t2,%n,32) { if .hop == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< | swbot JOIN %< } } if $left($3,1) == $chr(35) { var %1 = 1 | while %1 <= $lines(dosya.txt) { if $regex(%m,$read(dosya.txt,%1)) { swbot mode %k +b %n | swbot kick %k %n sebeb. } inc %1 } } } } Kalın olarak gösterdiğim yer, kufur koruması. Yani dosya.txt içerisin'deki kelimeler, bot'un bulunduğu herhangi bir kanal'da kullanılırsa, kanal'dan ban+kick işlevi ile kullanıcıyı uzaklaştırır. |
|
09 Ocak 2008, 16:53 | #9 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Sock bot sorun 16:51] < :irc.hehe.net 482 Swtechnology #kelebek :You're not channel operator [16:48] < :irc.hehe.net 403 Swtechnology 2 :No such channel [16:48] < :irc.hehe.net 401 Swtechnology +b :No such nick/channel böle bisiler yazıyor nedir ? |
|
Etiketler |
bot, mirc, mirc download, mirc indir, sock, sorun |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Sock bot | Erdem | mIRC Scripting Sorunları | 8 | 24 Şubat 2011 11:23 |
Bad Nick Korumasında Sorun... (sock bot) | oSeNLuRDa_YaKa | mIRC Scripting Sorunları | 6 | 08 Mayıs 2008 20:10 |
sock kod | local | mIRC Scripting Sorunları | 1 | 27 Şubat 2008 18:44 |
sock kod | local | mIRC Scripting Sorunları | 1 | 21 Şubat 2008 03:19 |
sock lar | Flyman | mIRC Scripting Sorunları | 20 | 17 Ağustos 2007 12:02 |