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 girisi sorunu (https://www.ircforumlari.net/mirc-scripting-sorunlari/827078-socket-bot-girisi-sorunu.html)

alphae 27 Haziran 2019 03:05

socket bot girisi sorunu
 
Alta mirc icinde extra bot acmak itedim bot olusuyor ama calismiyor

bu konuda yarcimdi olabiirmisiniz yapmak istedim var olan bir mirc icinde sisecevir yaptirmak isiyorum


Kod:


;----- Ayar Kismi -----
alias _cbot return Sise-Cevir
alias _jiyopas return 123ddhdh
alias _oper return pest hfghf
alias _sujiyopas return cdhdh
alias _sunuk return ip
alias _sunumip return ip port
alias _services return #Sisecevir


alias _nick return $remove($gettok($1,1,33),:)
alias swSise-Cevir $iif($sock(Sise-Cevir).status == active,sockwrite -nt Sise-Cevir $1-)

on *:sockclose:Sise-Cevir:$+(.timer,Sise-Cevir) 1 2 sockopen Sise-Cevir $_sunumip
on *:sockopen:Sise-Cevir:{
  if ($sockerr) { sockclose Sise-Cevir | $+(.timer,Sise-Cevir) 1 2 sockopen Sise-Cevir $_sunumip | returnex } 
  swSise-Cevir NICK $+($_cbot,$r(100,9999))
  swSise-Cevir USER Paradox "" " $+ $iif($host,$host,$ip) 2 sisecevir
  sockmark $sockname $_cbot
  unset %:nkayit
}

on *:sockread:Sise-Cevir:{
  if ($sockerr) { sockclose Sise-Cevir | $+(.timer,Sise-Cevir) 1 2 sockopen Sise-Cevir $_sunumip | returnex } 
  var %;Sise-Cevir | sockread %;Sise-Cevir | tokenize 32 %;Sise-Cevir
  if ($1 = ping) swSise-Cevir pong $remove($2,:)
  if ($regex($2,/001|433|376)) { swSise-Cevir oper $_oper | swSise-Cevir ns ghost $_cbot $_jiyopas | swSise-Cevir ns release $_cbot $_jiyopas | swSise-Cevir join #0,0 | $+(.timer,_pnicks) 1 3 swSise-Cevir nick $_cbot }
  if $1 == error && $2 == :closing { sockclose Sise-Cevir | $+(.timer,Sise-Cevir) 1 3 sockopen Sise-Cevir $_sunumip } 
  if ($regex($2,/473|475|471|474)) { swSise-Cevir sajoin $_cbot $4 }
  if ($regex($2,/481|411)) { swSise-Cevir oper $_oper | swSise-Cevir nick $_cbot | swSise-Cevir nickserv identify $_jiyopas }
  if $regex($2,/(PRIVMSG|NOTICE|ACTION)) && ($left($3,1) != $chr(35)) {
    if $4 == :VERSION { swSise-Cevir NOTICE $_nick($1) VERSION mIRC v6.35 Khaled Mardam-Bey | swSise-Cevir NOTICE $_nick($1) VERSION 2 web Kayit | return }
    if $4 == :FINGER { swSise-Cevir NOTICE $_nick($1) FINGER 2 sisecevir (Paradox@) Idle $r(1,4) seconds | return }
    if $4 == :PING  { swSise-Cevir NOTICE $_nick($1) PONG $5- | return }
  }
  }




on *:sockread:Sise-Cevir:{
  if $1 == !varim || $1 == !varım {
    if %disc. [ $+ [ $nick ] ] {  msg $chan Oyundan uzaklaştırıldınız, lütfen ceza sürenizin dolmasını bekleyiniz. | return }
    if (!$istok($hget(Oyun,Başlayanlar),$nick,32))  {
      hadd -ms Oyun Başlayanlar $hget(Oyun,Başlayanlar) $nick
      msg $chan 4 $nick oyuna dahil oldu.
    }
  else { msg $chan 4 $nick 1zaten oyuna dahil olmuşsunuz. } }
  if $1 == !yokum {
    if (!$istok($hget(Oyun,Başlayanlar),$nick,32))  {  msg $chan Siz zaten oyuna dahil olmamışsınız. | return }
    var %. $remtok($hget(oyun,Başlayanlar),$nick,32)
    hdel -ms Oyun Başlayanlar
    hadd -ms Oyun Başlayanlar %.
    msg $chan 2 $nick oyundan ayrıldı.
    if ($istok($hget(Oyun,SoruNick),$nick,32))  { msg $chan Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz. | hdel -ms Oyun SoruNick | hdel -ms Oyun SoruCevap  |  hadd -ms Oyun Durum 0 |  hadd -ms Oyun Soruldu 0 | $+(timer,soru) off | return }
    if ($istok($hget(Oyun,SoruCevap),$nick,32))  { msg $chan Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz. | hdel -ms Oyun SoruNick | hdel -ms Oyun SoruCevap  |  hadd -ms Oyun Durum 0 |  hadd -ms Oyun Soruldu 0 | $+(timer,soru) off | return }
  }
  if $1 == !cevir || $1 == !çevir {
    if (!$istok($hget(Oyun,Başlayanlar),$nick,32)) { msg $chan Oyuna dahil olmadığınız için !cevir yapamazsınız. | return }
    if ($token($hget(oyun,Başlayanlar),0,32) == $null) { msg $chan Oyuncu bulunmadığı için !cevir komutunu kullanamazsınız. | return }
    if ($token($hget(Oyun,Başlayanlar),0,32) == 1) { msg $chan Şuan oyunda sadece bir kişi dahil olmuştur ve oyun en az iki kişi ile oynanmaktadır. | return }
    if $hget(Oyun,Durum) == 1 {  msg $chan Soru ve cevap işlemi tamamlanmadıkça şişe tekrar çevrilemez! | return }
    msg $chan 10Şişe dönüyor bekleyiniz..
    var %tab = $hget(oyun,başlayanlar)
    var %s = $numtok(%tab,32)
    var %q = $token(%tab,$r(1,$(%s,2)),32)
    var %a = $remtok(%tab,%q,32)
    var %k = $token(%a,$r(1,$calc($(%s,2) -1)),32)
    msg $chan 4 %q soracak ---> 2 %k cevap verecek.
    hadd -m Oyun Durum 1
    hadd -m Oyun SoruNick %q
    hadd -m Oyun SoruCevap %k
    .$+(timer,soru) 1 180 sıfırla $chan
  }
  if $1 == !s {
    if $hget(Oyun,Durum) != 1 {  msg $chan !s ve !c komutları şişe çevrilmeden kullanılamaz. | return }
    if (!$istok($hget(Oyun,SoruNick),$nick,32))  { msg $chan Sadece 4 $hget(Oyun,SoruNick) 1soru sorabilir ve 2 $hget(Oyun,SoruCevap) 1cevap verebilir. | return }
    if $hget(Oyun,Soruldu) == 1 {  msg $chan Sadece bir defa soru sorabilirsiniz. | return }
    if !$2 { msg $chan Sorunuzu tam olarak belirtiniz. | return }
  else { $+(timer,soru) 1 180 sıfırla $chan | msg $chan 4Soru - $hget(Oyun,SoruNick) : $2- | hadd -m Oyun Soruldu 1 } }
  if $1 == !c {
    if $hget(Oyun,Durum) != 1 {  msg $chan !s ve !c komutları şişe çevrilmeden kullanılamaz. | return }
    if (!$istok($hget(Oyun,SoruCevap),$nick,32))  { msg $chan Sadece 4 $hget(Oyun,SoruNick) 1soru sorabilir ve 2 $hget(Oyun,SoruCevap) 1cevap verebilir. | return }
    if $hget(Oyun,Soruldu) != 1 {  msg $chan Sorunuz henüz sorulmadı, lütfen bekleyiniz. | return }
    if !$2 { msg $chan Cevapınızı tam olarak belirtiniz. | return }
    else {
      $+(timer,soru) off
      msg $chan 2Cevap - $hget(Oyun,SoruCevap) : $2-
      msg $chan Soru ve cevap işlemi tamamlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
    }
  }
  if $1 == !oyuncular {
    if !%oyuncular. [ $+ [ $chan ] ] {
      inc -u120 %oyuncular. [ $+ [ $chan ] ]
      if ($token($hget(oyun,başlayanlar),0,32) == $null) { msg $chan Oyuna dahil olan hiç kimse yoktur. | return }
      msg $chan 5 $replace($hget(oyun,başlayanlar),$chr(32),$+($chr(32),-,$chr(32))) şuan oyundadır.
    }
    else {
      msg $chan 5 !oyuncular komutunu sürekli kullanamazsınız. (2 dakikada bir defa oyuncular listelenir.)
    }
  }
  if $1 == !dis {
    if $nick !isop $chan && $nick !ishop $chan { msg $chan !dis ve !reset komutunu sadece kanal yetkilileri kullanabilir. | return }
    if !$2 { msg $chan Lütfen diskalifiye edeceğiniz nicki belirtiniz. Kullanımı : !dis nick | return }
    if ($token($hget(oyun,başlayanlar),0,32) == $null) { msg $chan Şuan oyun listesinde kimse bulunmamaktadir. | return }
    if (!$istok($hget(Oyun,Başlayanlar),$2,32)) { msg $chan $2 Oyuncular listesinde bulunmamaktadir. | return }
    var %. $remtok($hget(oyun,Başlayanlar),$2,32)
    hdel -ms Oyun Başlayanlar
    hadd -ms Oyun Başlayanlar %.
    msg $chan  2 $2 1nicki, 4 $nick  1tarafından oyundan diskalifiye edildi ve 10 dakika boyunca !varim komutuyla oyuna dahil olamayacak.
    inc -u600 %disc. [ $+ [ $2 ] ]
    if ($istok($hget(Oyun,SoruNick),$2,32))  {
      msg $chan Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      return
    }
    if ($istok($hget(Oyun,SoruCevap),$2,32))  {
      msg $chan Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      return
    }
  }
  if $1 == !reset {
    if $nick !isop $chan && $nick !ishop $chan { msg $chan !dis ve !reset komutunu sadece kanal yetkilileri kullanabilir. | return }
    else {
      msg $chan Oyun sıfırlanmıştır. !varım komutu ile oyuna tekrar dahil olup, şişeyi çevirebilirsiniz.
      hdel -ms Oyun Başlayanlar
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      unset %disc.*
      unset %oyuncular*
    }
  }
}

on *:quit: {
  if ($istok($hget(Oyun,Başlayanlar),$nick,32))  {
    var %. $remtok($hget(oyun,Başlayanlar),$nick,32)
    hdel -ms Oyun Başlayanlar
    hadd -ms Oyun Başlayanlar %.
    msg #Sisecevir 2 $nick oyundan ayrıldı.
    if ($istok($hget(Oyun,SoruNick),$nick,32))  {
      msg #Sisecevir Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      return
    }
    if ($istok($hget(Oyun,SoruCevap),$nick,32))  {
      msg  #Sisecevir Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      return
    }
  }
}
on *:part:#Sisecevir: {
  if $nick == $me {
    hdel -ms Oyun Başlayanlar
    hdel -ms Oyun SoruNick
    hdel -ms Oyun SoruCevap 
    hadd -ms Oyun Durum 0
    hadd -ms Oyun Soruldu 0
    $+(timer,soru) off
    unset %disc.*
    unset %oyuncular*
  }
  if ($istok($hget(Oyun,Başlayanlar),$nick,32))  {
    var %. $remtok($hget(oyun,Başlayanlar),$nick,32)
    hdel -ms Oyun Başlayanlar
    hadd -ms Oyun Başlayanlar %.
    msg #Sisecevir 2 $nick oyundan ayrıldı.
    if ($istok($hget(Oyun,SoruNick),$nick,32))  {
      msg #Sisecevir Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      return
    }
    if ($istok($hget(Oyun,SoruCevap),$nick,32))  {
      msg  #Sisecevir Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
      hdel -ms Oyun SoruNick
      hdel -ms Oyun SoruCevap 
      hadd -ms Oyun Durum 0
      hadd -ms Oyun Soruldu 0
      $+(timer,soru) off
      return
    }   
  }
}
on *:nick: {
  if ($istok($hget(Oyun,Başlayanlar),$nick,32))  {
    var %. $remtok($hget(oyun,Başlayanlar),$nick,32)
    hdel -ms Oyun Başlayanlar
    hadd -ms Oyun Başlayanlar %.
    hadd -ms Oyun Başlayanlar $hget(Oyun,Başlayanlar) $newnick
    msg #Sisecevir 2 $nick oyundan ayrıldı.
    msg #Sisecevir 4 $newnick oyuna dahil oldu.
    if ($istok($hget(Oyun,SoruNick),$nick,32))  {
      hadd -ms Oyun SoruNick  $newnick
    }
    if ($istok($hget(Oyun,SoruCevap),$nick,32))  {
      hadd -ms Oyun SoruCevap  $newnick
    }
  }
}
on *:kick:#: {
  if $knick == $me {
    hdel -ms Oyun Başlayanlar
    hdel -ms Oyun SoruNick
    hdel -ms Oyun SoruCevap 
    hadd -ms Oyun Durum 0
    hadd -ms Oyun Soruldu 0
    $+(timer,soru) off
    unset %disc.*
    unset %oyuncular*
  }
  var %. $remtok($hget(oyun,Başlayanlar),$knick,32)
  hdel -ms Oyun Başlayanlar
  hadd -ms Oyun Başlayanlar %.
  msg #Sisecevir 2 $knick oyundan atıldı.
  if ($istok($hget(Oyun,SoruNick),$knick,32))  {
    msg #Sisecevir Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
    hdel -ms Oyun SoruNick
    hdel -ms Oyun SoruCevap 
    hadd -ms Oyun Durum 0
    hadd -ms Oyun Soruldu 0
    $+(timer,soru) off
    return
  }
  if ($istok($hget(Oyun,SoruCevap),$knick,32))  {
    msg #Sisecevir Oyun sıfırlandı, şişeyi tekrar çevirebilirsiniz.
    hdel -ms Oyun SoruNick
    hdel -ms Oyun SoruCevap 
    hadd -ms Oyun Durum 0
    hadd -ms Oyun Soruldu 0
    $+(timer,soru) off
    return
  }
}
alias sıfırla {
  hdel -ms Oyun SoruNick
  hdel -ms Oyun SoruCevap 
  hadd -ms Oyun Durum 0
  hadd -ms Oyun Soruldu 0
  msg $1 Süre zaman aşımına uğradı, 3 dakika içersinde soru cevap tamamlanmadığından oyun sıfırlanmıştır. Şişeyi tekrar çevirebilirsiniz.
}
alias hs {
  if (!$1) {
    var %1 = 1
    while ($hget(%1)) { echo -: TABLO: $v1 | inc %1 }
  }
  var %1 = 1
  while ($hget($1,%1).item) {
    echo -a Tablo: $hget($1) - ITEM: $v1 - DATA: $hget($1,%1).data
    inc %1
  }
}


YouMyCure 27 Haziran 2019 07:40

Cevap: socket bot girisi sorunu
 
Parantez hatasi var dikkatli kontrol et ve socket bot da quit/part vs gibi eventler çalışmaz.

alphae 28 Haziran 2019 20:16

Cevap: socket bot girisi sorunu
 
Alıntı:

YouMyCure Nickli Üyeden Alıntı (Mesaj 1042106698)
Parantez hatasi var dikkatli kontrol et ve socket bot da quit/part vs gibi eventler çalışmaz.

bot hic calimadi zaten kodu ben kendim öyle yaptım olmadı açıkcası


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

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