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 :)
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.