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 Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Socket Bot. (https://www.ircforumlari.net/mirc-scripting-sorunlari/53435-socket-bot.html)

lacremel 11 Nisan 2008 12:13

Socket Bot.
 
; Botun Rapor Vericeği Kanal
alias raporchan return #
; Botun Oto Gireceği Kanallar Araya Virgülde Koy
alias kanallar return #Kelebek
; Botun Nicki
alias botnick return CIP
; Botun Full Namesi
alias botfullname return Socket` System
; Botun Identd Adresi
alias botidentd return CIP
; Botun Bağlanıcağı Serverin IP Adresi
alias botserverip return irc.bilmem.net
; Botun Bağlanıcağı Serverin Portu
alias botserverport return 6667
; Botun Quit Mesajı
alias botquitmsg return osman
alias bagla {
komut quit $botquitmsg
sockclose bot
sockopen bot $botserverip $botserverport
}
on *:sockopen:bot:{
if ($sockerr) { echo -s Bağlantı kesildi | return }
komut NICK $botnick
komut USER $botidentd * * : $+ $botfullname
sockmark $sockname YEah
}
on *:sockread:bot:{
if ($sockerr) { echo -s Bağlantı Kesildi | return }
var %; | sockread %; | tokenize 32 %;
ciprix $1-
if $2 == 376 || $2 == 422 {
komut join $kanallar
komut join $raporchan
komut list
}
}
alias komut { if $sock(bot) { sockwrite -n bot $1- } }
alias ciprix {
if $sock(bot) {
var %: = echo $color(info) -st > Socket bot:
if :VERSION iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION Bot $+ $chr(1) }
if :FINGER iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Bot $+ $chr(1) }
if $1 == PING { komut PONG $2- }
}
if $2 == PRIVMSG && *#* !iswm $3 {
komut privmsg ıosman < $gettok($1,1,33) > $4-
}
; Burdaki bi bracket'i sildik
if *!gir* iswm $3- {
if $5 == $null {
komut privmsg osman Kanal belirtin ÖRN: !gir #***
}
else {
komut privmsg osman $5 kanalına girmiş bulunmaktayım
komut join $5
}
}
if *!cik* iswm $3- {
if $5 == $null {
komut privmsg osman Kanal belirtin ÖRN: !cik #***
}
else {
komut privmsg osman $5 kanalından çıkmış bulunmaktayım
komut part $5
}
}
if *!tara* iswm $3- {
if $5 == $null {
komut privmsg osman kanal belirtin ÖRN: !tara #d-bana
}
else {
komut privmsg osman $5 kanalına tarama yapildi
komut tara $5
}
}
}
; en sona bitane ekledik

bu kod CipriX tarafından yazılmıstır Tesekkürler diliyorum kendisine.

Özeline gelen mesajları osman nickine bildiriyor. sunu eklemek istiorum. Mesajı bildirdiqi zaman CIP nickli botumun özeline !ban nick yaptıqım zaman bulunduqum kanallardan cs akick atman istiorum. tesekkürler simdiden

XcLusive 14 Nisan 2008 05:18

Cevap: Socket Bot.
 
Kod:

; Botun Rapor Vericeği Kanal
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy
alias kanallar return #deneme
; Botun Nicki
alias botnick return CIP
; Botun Full Namesi
alias botfullname return Socket` System
; Botun Identd Adresi
alias botidentd return KELEBEK
; Botun Bağlanıcağı Serverin IP Adresi
alias botserverip return irc.kelebek.org
; Botun Bağlanıcağı Serverin Portu
alias botserverport return 6667
; Botun Quit Mesajı
alias botquitmsg return osman
alias bagla {
  komut quit $botquitmsg
  sockclose bot
  sockopen bot $botserverip $botserverport
}
on *:sockopen:bot:{
  if ($sockerr) { echo -s Bağlantı kesildi | return }
  komut NICK $botnick
  komut USER $botidentd * * : $+ $botfullname
  sockmark $sockname YEah
}
on *:sockread:bot:{
  if ($sockerr) { echo -s Bağlantı Kesildi | return }
  var %; | sockread %; | tokenize 32 %;
  ciprix $1-
  if $2 == 376 || $2 == 422 {
    komut join $kanallar
    komut join $raporchan
    komut list
  }
}
alias komut { if $sock(bot) { sockwrite -n bot $1- } }
alias ciprix {
  if $sock(bot) {
    var %: = echo $color(info) -st > Socket bot:
    if :VERSION iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION Bot $+ $chr(1) }
    if :FINGER iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Bot $+ $chr(1) }
    if $1 == PING { komut PONG $2- }
  }
  if $2 == PRIVMSG && *#* !iswm $3 {
    komut privmsg osman < $gettok($1,1,33) > $4-
  }

  if $4 == :!ban && $5 && $6 {
    var %i = 1
    set %::bnick $6
    while (%i <= $gettok($5,0,44)) {
      komut chanserv akick $gettok($5,%i,44) add %::bnick
      komut chanserv akick $gettok($5,%i,44) enforce
      komut chanserv akick $gettok($5,%i,44) del %::bnick
      inc %i
    }
  }
  if *!gir* iswm $3- {
    if $5 == $null {
      komut privmsg osman Kanal belirtin ÖRN: !gir #***
    }
    else {
      komut privmsg osman $5 kanalına girmiş bulunmaktayım
      komut join $5
    }
  }
  if *!cik* iswm $3- {
    if $5 == $null {
      komut privmsg osman Kanal belirtin ÖRN: !cik #***
    }
    else {
      komut privmsg osman $5 kanalından çıkmış bulunmaktayım
      komut part $5
    }
  }
  if *!tara* iswm $3- {
    if $5 == $null {
      komut privmsg osman kanal belirtin ÖRN: !tara #d-bana
    }
    else {
      komut privmsg osman $5 kanalına tarama yapildi
      komut tara $5
    }
  }
}

bota ek olarak

Kod:

  if $4 == :!ban && $5 && $6 {
    var %i = 1
    set %::bnick $6
    while (%i <= $gettok($5,0,44)) {
      komut chanserv akick $gettok($5,%i,44) add %::bnick
      komut chanserv akick $gettok($5,%i,44) enforce
      komut chanserv akick $gettok($5,%i,44) del %::bnick
      inc %i
    }
  }

ekledim..
bunu kendine göre değiştirebilirsin belki bulunduğun server nick'i direk olarak akick'e almaz senden mask isteyebilir o zaman

komut chanserv akick $gettok($5,%i,44) add %::bnick
komut chanserv akick $gettok($5,%i,44) enforce
komut chanserv akick $gettok($5,%i,44) del %::bnick


olan yerleri


komut chanserv akick $gettok($5,%i,44) add $+(%::bnick,!*@*)
komut chanserv akick $gettok($5,%i,44) enforce
komut chanserv akick $gettok($5,%i,44) del $+(%::bnick,!*@*)


olarak değiştirsin..

komutlar kanalda çalışıyor, ban atma ise şöyle;

!ban #kanal nick
!ban #kanal1,#kanal2,#kanal3 nick

kanal limiti yok istediğin kadar ekleyebilirsin..

eğer yok hayır ben bu komutu botun özelinde uygulamak istiyorum diyorsan aşağıda kodu kullanabilirsin..

Kod:

; Botun Rapor Vericeği Kanal
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy
alias kanallar return #deneme
; Botun Nicki
alias botnick return CIP
; Botun Full Namesi
alias botfullname return Socket` System
; Botun Identd Adresi
alias botidentd return KELEBEK
; Botun Bağlanıcağı Serverin IP Adresi
alias botserverip return irc.kelebek.org
; Botun Bağlanıcağı Serverin Portu
alias botserverport return 6667
; Botun Quit Mesajı
alias botquitmsg return osman
alias bagla {
  komut quit $botquitmsg
  sockclose bot
  sockopen bot $botserverip $botserverport
}
on *:sockopen:bot:{
  if ($sockerr) { echo -s Bağlantı kesildi | return }
  komut NICK $botnick
  komut USER $botidentd * * : $+ $botfullname
  sockmark $sockname YEah
}
on *:sockread:bot:{
  if ($sockerr) { echo -s Bağlantı Kesildi | return }
  var %; | sockread %; | tokenize 32 %;
  ciprix $1-
  if $2 == 376 || $2 == 422 {
    komut join $kanallar
    komut join $raporchan
    komut list
  }
}
alias komut { if $sock(bot) { sockwrite -n bot $1- } }
alias ciprix {
  if $sock(bot) {
    var %: = echo $color(info) -st > Socket bot:
    if :VERSION iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION Bot $+ $chr(1) }
    if :FINGER iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Bot $+ $chr(1) }
    if $1 == PING { komut PONG $2- }
  }
  if $2 == PRIVMSG  {
    if $4 == :!ban && $5 && $6 {
      var %i = 1
      set %::bnick $6
      while (%i <= $gettok($5,0,44)) {
        komut chanserv akick $gettok($5,%i,44) add %::bnick
        komut chanserv akick $gettok($5,%i,44) enforce
        komut chanserv akick $gettok($5,%i,44) del %::bnick
        inc %i
      }
    }
  }
  if $2 == PRIVMSG && *#* !iswm $3 {
    komut privmsg ıosman < $gettok($1,1,33) > $4-
  }
  if *!gir* iswm $3- {
    if $5 == $null {
      komut privmsg osman Kanal belirtin ÖRN: !gir #***
    }
    else {
      komut privmsg osman $5 kanalına girmiş bulunmaktayım
      komut join $5
    }
  }
  if *!cik* iswm $3- {
    if $5 == $null {
      komut privmsg osman Kanal belirtin ÖRN: !cik #***
    }
    else {
      komut privmsg osman $5 kanalından çıkmış bulunmaktayım
      komut part $5
    }
  }
  if *!tara* iswm $3- {
    if $5 == $null {
      komut privmsg osman kanal belirtin ÖRN: !tara #d-bana
    }
    else {
      komut privmsg osman $5 kanalına tarama yapildi
      komut tara $5
    }
  }
}


lacremel 14 Nisan 2008 09:19

Cevap: Socket Bot.
 
Ne kadar tesekkür etsem azdır. Cok sağolun hocam. Kolay gelsin. Yalnız hocam bu botu Kendi Scriptimde sokuyorum. !ban komutunu uyguladıktan sonra ben kendim cs akick yapmak istiyorum botum değil. bi nevi Anti-Spam bot gibi iste. Mümkünmüdür.

sniper 14 Nisan 2008 12:29

Cevap: Socket Bot.
 
ben bu işten bişey anlamadım ya :D bu soket bot u doldurur ken örneğin

; Botun Rapor Vericeği Kanal <==bu kısımlar siliniyomu yenibaşladık bilmiyoz
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy <==bukısımlar silinecekmi?
alias kanallar return #deneme

bir sorum daha olacak soket bot ircop yetkisi olmadan da hızlı çalışırmı? mesela ircop yetkisi olmasa örneğin 2saniyede bir sayfayı siliyo NoMercy oda YapabiLirmi + bu sitenin bir server i varmı bilgilerinizi bekliyorum :D teşekkürler;oki;oki;oki

XcLusive 14 Nisan 2008 14:34

Cevap: Socket Bot.
 
Alıntı:

lacremel Nickli Üyeden Alıntı (Mesaj 372851)
Ne kadar tesekkür etsem azdır. Cok sağolun hocam. Kolay gelsin. Yalnız hocam bu botu Kendi Scriptimde sokuyorum. !ban komutunu uyguladıktan sonra ben kendim cs akick yapmak istiyorum botum değil. bi nevi Anti-Spam bot gibi iste. Mümkünmüdür.

on *:input:?:{
if ($active != botnicki) || ($1 != !ban) { goto end }
var %i = 1
while (%i <= $gettok($2,0,44)) {
echo -a chanserv akick $gettok($2,%i,44) add $3
echo -a chanserv akick $gettok($2,%i,44) enforce
echo -a chanserv akick $gettok($2,%i,44) del $3
inc %i
}
:end
}

XcLusive 14 Nisan 2008 14:39

Cevap: Socket Bot.
 
Alıntı:

sniper Nickli Üyeden Alıntı (Mesaj 372985)
ben bu işten bişey anlamadım ya :D bu soket bot u doldurur ken örneğin

; Botun Rapor Vericeği Kanal <==bu kısımlar siliniyomu yenibaşladık bilmiyoz
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy <==bukısımlar silinecekmi?
alias kanallar return #deneme

bir sorum daha olacak soket bot ircop yetkisi olmadan da hızlı çalışırmı? mesela ircop yetkisi olmasa örneğin 2saniyede bir sayfayı siliyo NoMercy oda YapabiLirmi + bu sitenin bir server i varmı bilgilerinizi bekliyorum :D teşekkürler;oki;oki;oki

sock mirc alt yapısı ile çalışan bir sistemdir genelde bu tür bot olaylarında mirc daima systray'da çalışır (simge durumunda küçültülmüş) sock hızlıdır ancak tam performans çalışmasını için pc nin RAM'i yüksek olmalı çünki sock bot çalıştıkça yada sen bilgisayarda işlem yaptıkça RAM harcarsın.. işin kısası hızlıdır :) ircop olup veya olmaması fark etmez bota ircop yetkisi verilmesinin nedeni yetki kapasitesini açmak içindir.

radiCOOL 15 Nisan 2008 01:34

Yanıt: Socket Bot.
 
Alıntı:

; Botun Rapor Vericeği Kanal <==bu kısımlar siliniyomu yenibaşladık bilmiyoz
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy <==bukısımlar silinecekmi?
alias kanallar return #deneme
Eğer bir sunucu sahibi isen özellikle tcl dosyalarında

/* Bu kısım falan filandır

Şeklinde yazılar görürsün .. Nasıl ki tcl dosyalarında /* işareti o satırı komut olmaktan çıkartıyorsa ; mIRC remote browser a eklerken de ; işareti o satırdaki yazıları komut olmaktan çıkartır ..Yani bir alt satırdaki işlemleri kontrol eder o satırı atlar ...Böylelikle hata vermemiş olur... Başına ; konmasının sebebi odur yani .. Silinmesi olayına gelince yukarıda yazdıklarımdan doLayı o satırları silsen de silmesen de botun çalışmaya devam edeceltir ..Tabii ki kodlamanın estetiği açısından silsen fena olmaz ..


Dependent 15 Nisan 2008 07:56

Cevap: Socket Bot.
 
Yorumlar, comment hakkında daha detaylı açıklama için [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].

sniper 16 Nisan 2008 11:24

Cevap: Socket Bot.
 
Alıntı:

XcLusive Nickli Üyeden Alıntı (Mesaj 373086)
sock mirc alt yapısı ile çalışan bir sistemdir genelde bu tür bot olaylarında mirc daima systray'da çalışır (simge durumunda küçültülmüş) sock hızlıdır ancak tam performans çalışmasını için pc nin RAM'i yüksek olmalı çünki sock bot çalıştıkça yada sen bilgisayarda işlem yaptıkça RAM harcarsın.. işin kısası hızlıdır :) ircop olup veya olmaması fark etmez bota ircop yetkisi verilmesinin nedeni yetki kapasitesini açmak içindir.

Hocam ELine SağLık VaLLa BiLgi GüzeLşey ya ;oki;oki;oki
Bende Çok GüzeL King Oynarım ha :D

peki bir ricada bulunsam başlangıç olarak sunucuya bağlanıp nick giren ve clear çeken bir soket bot yapabilirmisiniz
NOT: AnLatırsanız Çok Daha iyi OLur amacım BaLık Yemek değiL tutmayı Öğrenmek :D buLafı Çok sevdim ya :D

XcLusive 16 Nisan 2008 14:40

Cevap: Socket Bot.
 
bazende izlemek gerekir anlatmakla olmaz sen bunu kendince, kafanda mantıklar kurarak yapmalı ve öğrenmelisin, parametrelerin anlamlarını bilmediğin sürece yapamazsın saten istediğin sock botun %80 kodu yukarıda mevcut.
balık tutmak için bile farklı yem kullanılır sazana ayrı kefale ayrı.. sen bu yemleri bilmesen ben sana git sazan yemi getir desem nerden bileceksin hangisinin hangi balığın yemi olduğunu? :) onun için ilk önce öğrenmek sonrada yapmak gerekir..
yukarıdaki kodu biraz açıkladım..


; Botun Rapor Vericeği Kanal
alias raporchan return #deneme
; Botun Oto Gireceği Kanallar Araya Virgülde Koy
alias kanallar return #deneme
; Botun Nicki
alias botnick return CIP
; Botun Full Namesi
alias botfullname return Socket` System
; Botun Identd Adresi
alias botidentd return KELEBEK
; Botun Bağlanıcağı Serverin IP Adresi
alias botserverip return irc.kelebek.org
; Botun Bağlanıcağı Serverin Portu
alias botserverport return 6667
; Botun Quit Mesajı
alias botquitmsg return osman
;bağlantı komutu
alias bagla {
;botu ircten çıkartmak için kullanılan komut
komut quit $botquitmsg
;sock (bot) u çıkart
sockclose bot
;sock botu bağla
sockopen bot $botserverip $botserverport
}
;sock bot bağlandığında yapılacaklar
on *:sockopen:bot:{
;sock hatalı ise mesaj bildir
if ($sockerr) { echo -s Bağlantı kesildi | return }
;girilecek bot nicki
komut NICK $botnick
;botun identi
komut USER $botidentd * * : $+ $botfullname
sockmark $sockname YEah
}
;botun okuduklarını çevirme
on *:sockread:bot:{
;hata mesajını görüntüle
if ($sockerr) { echo -s Bağlantı Kesildi | return }
;variables değeri oluşturup bu değerleri okutma
var %; | sockread %; | tokenize 32 %;
;ciprix komutu $1-
ciprix $1-
;rawları okuduğunda yapılacak işlemler
if $2 == 376 || $2 == 422 {
komut join $kanallar
komut join $raporchan
komut list
}
}
;komut komutu / eğer sock bot bağlıysa belirtilen komutu uygula
alias komut { if $sock(bot) { sockwrite -n bot $1- } }
;ciprix komutu
alias ciprix {
;eğer sock (bot) varsa
if $sock(bot) {
;version/time/ping çekildiğinde işlenecek komutlar
var %: = echo $color(info) -st > Socket bot:
if :VERSION iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION Bot $+ $chr(1) }
if :FINGER iswm $4- { komut NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Bot $+ $chr(1) }
if $1 == PING { komut PONG $2- }
}
;özele mesaj geldiğinde işlenecek komutlar
if $2 == PRIVMSG {
;!ban komutu parametreleri
if $4 == :!ban && $5 && $6 {
var %i = 1
set %::bnick $6
while (%i <= $gettok($5,0,44)) {
komut chanserv akick $gettok($5,%i,44) add %::bnick
komut chanserv akick $gettok($5,%i,44) enforce
komut chanserv akick $gettok($5,%i,44) del %::bnick
inc %i
}
}
}
;kanala mesaj geldiğinde işlenecek komutlar
if $2 == PRIVMSG && *#* !iswm $3 {
komut privmsg ıosman < $gettok($1,1,33) > $4-
}
;gir komutu parametreleri
if *!gir* iswm $3- {
if $5 == $null {
komut privmsg osman Kanal belirtin ÖRN: !gir #***
}
else {
komut privmsg osman $5 kanalına girmiş bulunmaktayım
komut join $5
}
}
;!cik komutu parametreleri
if *!cik* iswm $3- {
if $5 == $null {
komut privmsg osman Kanal belirtin ÖRN: !cik #***
}
else {
komut privmsg osman $5 kanalından çıkmış bulunmaktayım
komut part $5
}
}
;tara komutu parametreleri
if *!tara* iswm $3- {
if $5 == $null {
komut privmsg osman kanal belirtin ÖRN: !tara #d-bana
}
else {
komut privmsg osman $5 kanalına tarama yapildi
komut tara $5
}
}
}



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 09: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