Bnc gestion pr_bnc

Description

Cette petite source est fort pratique si lon souhaite gerer plusieurs bnc à la fois en meme temps
Possibilité de commande ses bnc simplement en quelques mots ( voir plus bas )

Jpense po qu'il yai de bugs majeurs ( ni mineurs dailleurs ) , jlai tester pendant 3 jours sur 4 bnc

#prscript on quakenet pour infos aide ou autre..

Source / Exemple :


; by PrOutie66 #prscript on quakenet

on 1:INPUT:#:{
  var %edz 1 

  if ( $1 == $eval(.bncjoin , 0 ) ) {
    if ( $sock(prbnc* ,0)   == 0 ) { echo 4 s Tu nest pas connecté au bnc !! Tape /pr_bnc et connecte les en premier }
    while ( %edz <=  $sock(prbnc* ,0) ) {
      sockwrite -n  $sock(prbnc* ,%edz) join $strip($2)
      inc %edz
  }  }
  if ( $1 == $eval(.bncpart , 0 ) ) {
    if ( $sock(prbnc* ,0)   == 0 ) { echo 4 s Tu nest pas connecté au bnc !! Tape /pr_bnc et connecte les en premier }

    while ( %edz <=  $sock(prbnc* ,0) ) {

      sockwrite -n  $sock(prbnc* ,%edz) part $strip($2)
      inc %edz
  }  }
  if ( $1 == $eval(.bncsay , 0 ) ) {
    if ( $sock(prbnc* ,0)   == 0 ) { echo 4 s Tu nest pas connecté au bnc !! Tape /pr_bnc et connecte les en premier }

    while ( %edz <=  $sock(prbnc* ,0) ) {

      sockwrite -n  $sock(prbnc* ,%edz) privmsg $2 : $+ $3-
      inc %edz
  }  }

}

on 1:sockopen:prbnc*: {
  ; sockwrite -n $sockname user r r r   :Prox
  ; sockwrite -n $sockname user roki rokoi rzzzea   :Prox

  var %prbnc 1
  while ( %prbnc <= $did(pr_bnc , 1 ).lines ) {
    if ( $did(pr_bnc , 1 , %prbnc ) == $replace($sockname , prbnc , ) ) {
      sockwrite -n $sockname  PASS $did(pr_bnc , 4 ,  %prbnc ).text 
      sockwrite -n $sockname user $did(pr_bnc , 2 , %prbnc ).text  rokoi rzzzea   :Prox
      sockwrite -n $sockname nick  $did(pr_bnc , 1 , %prbnc ).text
    }
    inc %prbnc
  }
  ;  sockwrite -n $sockname  PASS $did(pr_bnc , 4 ,  $did(pr_bnc , 1).sel ).text 
  ; sockwrite -n $sockname user $did(pr_bnc , 2 , $did(pr_bnc , 1).sel ).text  rokoi rzzzea   :Prox
  ; sockwrite -n $sockname nick  $did(pr_bnc , 1 , $did(pr_bnc , 1).sel ).text

}
on 1:sockread:prbnc*:{
  ; if ($sockerr > 0) { return }
  :loop | sockread %tmp

  if ($sockbr == 0) { return } 
  if ($gettok(%tmp,1,32) !=  %rien  ) && ( $dialog(pr_bnc) ) {
    if ( $did(pr_bnc , 8).lines > 180 ) { 
      did -r pr_bnc 8
    did -ar pr_bnc 8 $replace($strip(%tmp) , $gettok($strip(%tmp) , 100 , 32 ) , ) $crlf }
    else { did -a pr_bnc 8 $replace($strip(%tmp) , $gettok($strip(%tmp) , 100 , 32 ) , ) $crlf }
  }
  if ($gettok(%tmp,1,32) == ping) { sockwrite -n $sockname PONG $gettok(%tmp,2-,32) }
  var %tmpkick $replace(%tmp , ! , $chr(32) , : , , @ , $chr(32) )

  if ( $gettok(%tmp,4,32) == :FINGER ) { 

  sockwrite -n $sockname  PRIVMSG $gettok(%tmpkick,1,32)  :FINGER #prscript Idle $rand(1,62) seconds }
  goto loop
}

dialog pr_bnc {
  title "Pr_BnC"
  size -1 -1 305 269
  option dbu
  list 1, 0 32 61 100, size
  edit "Pseudo Du BnC", 24, 1 21 60 10, read
  list 2, 62 32 61 100, disable size
  edit "Ident", 44, 62 21 60 10, read
  list 3, 124 32 114 100, disable size
  edit "Serveur Port", 64, 124 21 114 10, read
  text "Cette fenêtre permet de gerer ses bnc de manière simple et rapide", 7, 0 0 286 8
  list 4, 240 32 61 100, disable size
  edit "Password du serveur", 94, 240 21 60 10, read
  button "Ajouter Info de bnc", 10, 2 136 52 9, ok cancel
  box "Configuration des bnc", 11, 0 16 308 141
  edit "", 12, 2 224 260 11, multi return autohs
  text "Envoyer commande à ce bnc ( msg , join , part ... )", 13, 3 235 212 8
  button "Se connecter au bnc selectionné", 5, 56 136 91 9
  button "Envoyer", 6, 263 224 37 10
  edit "", 8, 2 166 298 58, read multi autohs autovs vsbar
  box "Status et commande", 9, 1 159 300 109
  button "Envoyer", 14, 263 243 37 10
  edit "", 15, 2 243 260 11, multi return autohs
  text "Envoyer commande à tous les bnc connecté en meme temps ( msg , join , part ... )", 16, 3 254 242 8
  button "Se Deconnecter  du bnc selectionné", 17, 56 145 91 9
  button "Supprimer info bnc", 18, 2 145 52 9
  button "Se connecter à tous les bnc", 19, 150 136 91 9
  button "Se deconnecter de tous les bnc", 20, 150 145 91 9
  button "#prscript", 21, 244 136 51 10
}

dialog pr_addbnc {
  title "Ajouter Un BnC"
  size -1 -1 261 35
  option dbu
  edit "Pseudo", 144, 0 1 50 10, read
  edit "Ident", 2, 50 1 50 10, read
  edit "IP Port(De la forme Ip Port)", 1, 100 1 97 10, read
  edit "Password du Bnc", 3, 198 1 60 10, read
  edit "", 4, 0 11 50 10
  edit "", 5, 50 11 50 10, multi return autohs
  edit "", 6, 100 11 97 10, multi return autohs
  edit "", 7, 198 11 60 10, pass multi return autohs
  button "Ajouter ces infos de bnc", 8, 1 22 63 10, ok
}
on 1:dialog:pr_addbnc:sclick:8:{
  write bnclistinfo.txt $did(4) $did(5) $did(6) $did(7)   
  pr_bnc
}

alias pr_addbnc { dialog -m pr_addbnc pr_addbnc  }
alias pr_bnc { dialog -m pr_bnc pr_bnc  }

on 1:dialog:pr_bnc:init:0:{
  set %prbnc 1
  while ( %prbnc <= $lines(bnclistinfo.txt) ) {
    did -a pr_bnc 1 $gettok($read(bnclistinfo.txt , %prbnc )  , 1 , 32 )
    did -a pr_bnc 2 $gettok($read(bnclistinfo.txt , %prbnc )  , 2 , 32 )
    did -a pr_bnc 3 $gettok($read(bnclistinfo.txt , %prbnc )  , 3 , 32 ) $gettok($read(bnclistinfo.txt , %prbnc )  , 4 , 32 )
    did -a pr_bnc 4 $gettok($read(bnclistinfo.txt , %prbnc )  , 5 , 32 )
    inc %prbnc
  }

}

on 1:dialog:pr_bnc:sclick:*:{
  if ( $did == 1 ) { did -ar pr_bnc 13  Envoyer commande à $did(1).seltext ( msg , join , part ... sans " / " ) }
  if ( $did == 18 ) {

    write -d $+ $calc($did(1).sel - 1 ) bnclistinfo.txt

    dialog -x pr_bnc
    pr_bnc
  }
  if ( $did == 21 ) {

    join #prscript
    .msg #prscript KikoU prbnc
  }
  if ( $did == 19 ) {
    echo zozo
    var %opzer 100
    var %prbnc 1
    while ( %prbnc <= $did(1).lines ) {

      .timer -m 1 %opzer sockopen prbnc $+ $did(1 , %prbnc )  $did(3, %prbnc ).text 
      inc %opzer 1000
      echo z sockopen prbnc $+ $did(1 , %prbnc )  $did(3, %prbnc ).text 
      inc %prbnc
      /did -c pr_bnc 1 %prbnc
    }

  }
  if ( $did == 20) {

    sockclose prbnc*
  }
  if ( $did == 10 ) {
    if ( $dialog(pr_addbnc) ) { }
    else { pr_addbnc }
  }
  if ( $did == 5 ) {

    sockopen prbnc $+ $did(1 , $did(1).sel).text $did(3, $did(1).sel ).text 
  }
  if ( $did == 6 ) {
    if ( msg == $gettok($did(12).text ,1,32) ) {
      var %mer $replace($gettok($did(12).text ,1,32),msg,privmsg)
      var %mer %mer $gettok($did(12).text ,2,32)
      var %merz $deltok($did(12).text ,1,32) 
      var %merz $deltok(%merz ,1,32)
      sockwrite -n prbnc $+  $did(1).seltext  %mer  : $+ %merz
    }
    elseif  ( ctcp == $gettok($did(12).text ,1,32) ) {
      sockwrite -n prbnc $+ $did(1).seltext  $puttok($instok($did(pr_bnc ,12).text  , : , 3 , 32 ) , privmsg , 1 ,  32 ) 
    }
    else { sockwrite -n prbnc $+ $did(1).seltext $did(12) }
  }
  if ( $did == 14 ) {
    var %prbnc 1 
    while ( %prbnc <=  $sock(prbnc* ,0) ) {
      if ( msg == $gettok($did(15).text ,1,32) ) {
        var %mer $replace($gettok($did(15).text ,1,32),msg,privmsg)
        var %mer %mer $gettok($did(15).text ,2,32)
        var %merz $deltok($did(15).text ,1,32) 
        var %merz $deltok(%merz ,1,32)
        sockwrite -n  $sock(prbnc* ,%prbnc) %mer : $+ %merz
      }
      elseif ( ctcp == $gettok($did(15).text ,1,32) ) {

        var %mer $replace($gettok($did(15).text ,1,32),ctcp,privmsg)
        var %mer %mer $gettok($did(15).text ,2,32)
        var %merz $deltok($did(15).text ,1,32) 
        var %merz $deltok(%merz ,1,32)
        echo zer  %mer : $+  $+ %merz $+ 
        sockwrite -n  $sock(prbnc* ,%prbnc) %mer : $+  $+ %merz $+ 

      }
      else { sockwrite -n  $sock(prbnc* ,%prbnc)  $did(15) }

      inc %prbnc
    }

  }
}

Conclusion :


Installation

Copier coller la source dans un fichier text appelé pr_bnc.mrc
Copier coller ce fichier dans le repertoire de mirc
Tapper load -rs pr_bnc.mrc
Faire /pr_bnc pour configurer les bnc etc...
Commande possible en parlant sur un chan ( necessite d'etre connecté au bnc dabord )

.bncjoin #prscript
Va joindre le chan #prscript
.bncpart #prscript
Va partir du chan #prscript
.bncsay #prscript Salut all
Va envoyer le message salut all sur #prscript

By PrOutie66 :)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.