Tekil Mesaj gösterimi
  #1  
Alt 20 Mayıs 2019, 05:48
Avatar Yok
IrCbaStarD IrCbaStarD isimli Üye şimdilik offline konumundadır
 Headcoder 

mS Puan: 41
mS Derece: IrCbaStarD Meraklı
 
Üyelik tarihi: 28 Kasım 2009
Mesajlar: 13
Konular: 9
Eklentiler: 0
Alınan Teşekkür: 30
Yapılan Teşekkür: 13
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
#forumbg Ms-Swift Socket!

Kod ms'ye -m ile bağlanmadan giriş yapmayı sağlıyor. Local sunucular için biraz editlemelisiniz. Çok fazla uğraşmak istemediğim için sunucuda nickinizin kayıtlı olduğu var saydım. Bağlanmak için /mss komutunu uygulamanız yeterli.

Özellik olarak tab ve pm penceresi açabiliyorsunuz.


Kod:
alias mss {
  if !%me { set %me $$?"Swiftirc.Net'deki nickinizi yazınız." }
  if !%pass { set %pass $$?"Swiftirc.net nick şifrenizi yazınız." }
  if (!$window(@Ms)) window -k0l16zSe @Ms
  if (!$sock(ms)) sockopen ms irc.swiftirc.net 6667 
}
on *:SOCKOPEN:ms: {
  var %n %me,%s sockwrite -n $sockname
  %s nick %n | %s user $+($remove($emailaddr,@),$chr(32),",$chr(32),",$chr(32),$fullname)
  sockmark ms %n
}
on *:sockread:ms:sockread %s  | ms.c %s
alias ms.c {
  var %n $regsubex($1,:(.+)!.+@.+,\1)
  if ($1 = ping) sockwrite -n $sockname pong $2
  if ($2 = 422) sockwrite -n $sockname join #Msl.tr
  if ($2 $4 = 332 #Msl.tr) echo $color(topic) @Ms Topic  $+(',$right($5-,-1),')
  if ($2 = 333) echo $color(topic) @Ms Topic 14 $5  Tarafından yazılmıştır.
  if ($2 $3 = privmsg #Msl.tr) { if !$window(@Ms) { window -k0l16zSe @Ms | b.names } | echo $color(msg) -t @Ms $+(<,$iif($hget(u,%n),$p.clr($v1)),%n,>) $right($4-,-1) | window -g1 @Ms }
  if ($2 = 404) echo @Ms 4Kanalda konuşmak için lütfen nickini kayıtla. /ns register şifre email.
  if ($2 = 366) ms.list
  if $2 = 353 {
    var %s 1, %f $numtok($right($6-,-1),32), %u $right($6-,-1) 
    while %s <= %f {
      if $regex($gettok(%u,%s,32),^@) { .write o.txt $replace($gettok(%u,%s,32),@,[4A] 4@ $chr(32))) |  hadd -m u $c.pre($gettok(%u,%s,32)) @ }
      elseif $regex($gettok(%u,%s,32),^%) { .write h.txt $replace($gettok(%u,%s,32),$chr(37),[5H] 5% $chr(32))) | hadd -m u $c.pre($gettok(%u,%s,32)) $chr(37) }
      elseif $regex($gettok(%u,%s,32),^\+) { .write v.txt $replace($gettok(%u,%s,32),+,[7V] 7+ $chr(32))) | hadd -m u $c.pre($gettok(%u,%s,32)) + }
      else write u.txt [9Z] $gettok(%u,%s,32) 
      inc %s
    }
  }
  if ($istok(mode join part quit kick,$2,32)) b.names 
  var %h $regsubex($1,:.+!(.+@.+),\1)
  if ($2 = join) echo $color(join) -t @Ms [Join] %n  $+($chr(40),%h,$chr(41))
  if ($2 = part) echo $color(part) -t @Ms [Part] %n $+($chr(40),%h,$chr(41))
  if $2 = notice && This nickname is registered and protected. If it is your isin $1- { sockwrite -n $sockname identify %pass }
  if $2 $3 = privmsg $sock($sockname).mark {
    if !$window($+(@Ms.,%n)) { window -k0zSe $+(@Ms.,%n) }
    echo $color(msg) -t $+(@Ms.,%n) $+(<,%n,>) $right($4-,-1)
    window -g1 $+(@Ms.,%n)
  }
  if $istok(311 307 319 312 330,$2,32) { var %n $+(@Ms.,$4) | echo $color(whois) -t %n $iif($left($5,1) = :,$4 $right($5-,-1),$4-) }
}
alias c.pre return $remove($1,@,+,%)
alias p.clr return $replace($1,@,4@,$chr(37),13 $+ $chr(37) $+ ,+,3+)
alias ms.list {
  clear -l @Ms | clear @nicklist
  window -h @nicklist
  $iif($file(o.txt),filter -fwt 32 1 o.txt @nicklist)
  $iif($file(h.txt),filter -fwt 32 1 h.txt @nicklist)
  $iif($file(v.txt),filter -fwt 32 1 v.txt @nicklist)
  $iif($file(u.txt),filter -fwt 32 1 u.txt @nicklist)
  var %s 1, %f $line(@Nicklist,0)
  while %s <= %f { aline -l @Ms $$line(@nicklist,%s) | inc %s }
  .remove o.txt | .remove h.txt | .remove v.txt | .remove u.txt
}
alias b.names { hfree -w u | sockwrite -n ms names #msl.tr }
on *:input:@Ms:{
  if $left($1,1) != / {
    sockwrite -n ms privmsg #Msl.Tr $iif($left($1,1) = :,$chr(58) $+ $1-,$1-)
    echo -t @Ms $+(<,$iif($hget(u,$$sock(ms).mark),$p.clr($v1)),$sock(ms).mark,>) $1-
    if %1 { unset %1 }
  }
  else {
    sockwrite -n ms $remove($1-,/)
    if $1 = /nick { sockmark ms $2 }
    b.names
  }
  haltdef
}
on *:tabcomp:@Ms:{
  if (!$2) var %s $+(/^,$1,.+/i) 
  else  var %s $regsubex($1-,.+\s(.+)$,\1), %s $+(/^,[ %s ],.+/i)
  if $hregex(u,%s,0) {
    inc %1 
    if ($token($editbox(@ms),0,32) > 1) editbox @Ms $regsubex($editbox(@Ms),/(.+)\s.+$/i,\1) $hregex(u,%s,%1)
    else editbox @Ms $hregex(u,%s,%1)
    if ($hregex(u,%s,0) = %1) { set %1 0 }
  }
}
menu @Ms {
  dclick { window -k0zSe $+(@Ms.,$token($line(@Ms,$$1-,1),3,32)) }
}
on *:input:@Ms.*:{
  var %n $remove($active,@Ms.)
  sockwrite -n ms privmsg %n $iif($left($1,1) = :,$chr(58) $+ $1-,$1-)
  echo -t $active $+(<,$sock(ms).mark,>) $1-
}
menu @Ms.* {
  dclick { sockwrite -n ms whois $remove($active,@Ms.) }
}
Ekran görüntüsü:

https://prnt.sc/nqqo3o
https://prnt.sc/nqqo7j

Konu IrCbaStarD tarafından (20 Mayıs 2019 Saat 05:55 ) değiştirilmiştir.
Alıntı ile Cevapla
Sponsored Links
 
1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76