Socket

Résolu
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 - 18 nov. 2004 à 21:17
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 26 mars 2006 à 14:53
bonjour,
j'aurai voulus savoir comment connecter un socket dans une fenetre (un clone) et pouvoir lui faire faire des actions ( msg, etc ... )
j'ai lus des tutoriaux dessus mais j'ai trouver que des socket permettant de rendre le contenu d'un site mais pas de connecter un clone
si vous pouviez m'éclairer un peu :)
merci
KiNdEr_MaXi

29 réponses

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
18 nov. 2004 à 21:34
je suis allé un peu vite ; voila un rajout qui te permet de préciser ton nick fullname etc :

Alias Clone { sockclose clone | sockopen clone chat4.x-echo.com 6665 }
on *:sockopen:clone:{
if !$window(@clone) { window -ae @clone }
if (!$sockerr) { 
echo @clone SOCKET OUVERT 
   sockwrite -n $sockname nick PSEUDO
   sockwrite -n $sockname user "" "" "localhost" :I'm a geek
}
else {
 echo @clone ECHEC : $sockerr 
}
}

on *:sockread:clone:{
sockread %z
echo @clone <- %z
}

on *:CLOSE:@clone:{ sockclose clone }
on *:INPUT:@clone:{
;ex pour les msg : !msg #salonout'es blabla
if ($1 == !msg) { sockwrite -n clone PRIVMSG $$2 : $+ $3- }
if ($1 == !join) { sockwrite -n clone JOIN $$2 }
;...
}


/me va toujours trop vite :'(

PaDa
3
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
18 nov. 2004 à 21:30
le plus simple qu'on puisse faire, exemple sur voiladoo :

Alias Clone { sockclose clone | sockopen clone chat4.x-echo.com 6665 }
on *:sockopen:clone:{
  if !$window(@clone) { window -ae @clone } 
  if (!$sockerr) { echo @clone SOCKET OUVERT }
else { echo @clone ECHEC : $sockerr }
}

on *:sockread:clone:{
  sockread %z
  echo @clone <- %z
}

on *:CLOSE:@clone:{ sockclose clone  }
on *:INPUT:@clone:{
;ex pour les msg : !msg #salonout'es blabla
  if ($1 == !msg) { sockwrite -n clone PRIVMSG $$2 : $+ $3- }
if ($1 == !join) { sockwrite -n clone JOIN $$2 }
;...
}

PaDa
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
18 nov. 2004 à 21:32
PARFAIS !!!!!
je suis sur voiladoo (comme tu dis lol), c'est exactement ce que je voulais merkiiiiiii =)

KiNdEr_MaXi
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
18 nov. 2004 à 21:35
loool spa bien grave tu es excusé :p
KiNdEr_MaXi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
18 nov. 2004 à 21:45
juste un ptit truc =X
"sockwrite -n $sockname user "" "" "localhost" :I'm a geek"
je remplace par quoi les "" "" et local host je met $adresse ?

KiNdEr_MaXi
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
18 nov. 2004 à 22:00
cherche un peu dans la RFC lol je sais plus ... ya ton anick ton mail etc :]
PaDa
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
18 nov. 2004 à 22:03
RFC ?
=X
KiNdEr_MaXi
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
18 nov. 2004 à 22:05
Request For Comment je crois :p c'est les documents qui gèrent les principaux protocoles informatiques, l'irc c'est la 1459 je crois google is your best friend
:)
PaDa
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
18 nov. 2004 à 22:06
lol oki
KiNdEr_MaXi
0
cs_Ungart Messages postés 3 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 26 novembre 2004
25 nov. 2004 à 05:33
Bonjour,
J'ai tenter d'intégrer ce code dans mes remotes mirc, mais lorsque je fais /clone ca me renvoie ces messages:

SOCKET OUVERT
<- NOTICE AUTH :*** Looking up your hostname
<- NOTICE AUTH :*** Checking Ident
<- NOTICE AUTH :*** Found your hostname
<- NOTICE AUTH :*** No ident response
<- PING :51097610
<- :mesa.az.us.undernet.org 451 monpseudo monpseudo :Register first.


D'apres moi ca serait a cause de la ligne:
sockwrite -n $sockname user  <hostname> <servername> :<realname>


D'apres des exemples que j'ai vu le username, hostname et servername pouvaient etre les 3 la meme chose, mais c'est quelle information qui faut mettre la? :/

Merci :)

La clique du p'tit nain
Le forum de cette clique!
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
25 nov. 2004 à 19:30
alors moi j'ai mis :
sockwrite -n $socknane nick kikikikiki
sockwrite -n $sockname user Azy Azy Azy :salut

ou kikikiki est son pseudo et azy azy azy :salut et bien je sais pas trop c'est un copain qui ma dis ca ca marche comme ca alors :x

KiNdEr_MaXi
0
cs_Ungart Messages postés 3 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 26 novembre 2004
25 nov. 2004 à 20:07
Est-ce que mon erreur pourrait etre du au server sur lequel je suis? (Undernet) ou bien la version de mIrc que j'utilise?

La clique du p'tit nain
Le forum de cette clique!
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
25 nov. 2004 à 20:18
comme le dit explicitement ton erreur, le pseudo que tu cherches a utiliser est réservé, ou alors tu dois réserver ton pseudo pour effectuer telle ou telle action. donc oui ca vient d'Undernet :]
cependant ca me le fait sur un de mes bots parfois sans raison, sur unet aussi, ca l'empêche pas de se connecter ni de rester par la suite... aucun pb donc :)
PaDa
0
cs_Ungart Messages postés 3 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 26 novembre 2004
26 nov. 2004 à 03:05
Oki, merci
Je sais pas pourquoi, mais a soir ca marche mieux qu'hier :)
Je sais pas pourquoia soir ca amrche, mais bon, tant que ca marche je vais rien changer :P

La clique du p'tit nain
Le forum de cette clique!
0
thomasworms Messages postés 12 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 20 juin 2006
1 mars 2006 à 16:30
Euh , le code :

Alias Clone { sockclose clone | sockopen clone chat4.x-echo.com 6665 }
on *:sockopen:clone:{
if !$window(@clone) { window -ae @clone }
if (!$sockerr) {
echo @clone SOCKET OUVERT
sockwrite -n $sockname nick PSEUDO
sockwrite -n $sockname user "" "" "localhost" :I'm a geek
}
else {
echo @clone ECHEC : $sockerr
}
}

on *:sockread:clone:{
sockread %z
echo @clone <- %z
}

on *:CLOSE:@clone:{ sockclose clone }
on *:INPUT:@clone:{
;ex pour les msg : !msg #salonout'es blabla
if ($1 == !msg) { sockwrite -n clone PRIVMSG $$2 : $+ $3- }
if ($1 == !join) { sockwrite -n clone JOIN $$2 }
;...
}

Est completement Faux , car le bot va partir en Ping Timeout toutes les 30 sec
car il faut placer :

on *:sockread:Clone*:{
sockread %Clone
if ($gettok(%a,1,32) == PING) sockwrite -n av* PONG $remove($gettok(%a,2,32),:)
unset %Clone
}


Dsl , PADA de te contredir ;) mais ta tort
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
1 mars 2006 à 17:54
Et toi également avec ton magnifique "sockwrite -n av*" et ta var "%a" qui n'est pas dans le sockread :)

J'avais pas mis le ping/pong parce que ca me paraissait pas forcément
utile, parfois (c'est mon cas...) on connecte une socket juste pour
chercher une info ponctuelle (un topic, un nombre d'users, etc..)
Cela dit ta remarque a le mérite de faire signaler qu'il faut gérer les ping/pong events ;)

Bonne zournée
Pada
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
1 mars 2006 à 19:09
Si y'en a que ca interresse :

alias socket {
set %socknick $$1
sockopen hi $$2-
.timer 1 3 sockwrite -n hi nick $$1
.timer 1 4 sockwrite -n hi user a a a :.
}
alias hi { sockwrite -n hi $$1- }
on *:sockread:hi:{
if (!$window(@socket)) { window -k @socket }
sockread %temp
tokenize 32 %temp
if ($1 == PING) { sockwrite -tn hi PONG $2 | halt }
if ($2 == privmsg) {
if (!$window(@socket $+ $3)) window -ke @socket $+ $3
if $4 == :ACTION { echo @socket $+ $3 $timestamp 6* $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) $remove($5-,$chr(1)) }
else { echo @socket $+ $3 $timestamp < $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) > $right($4-,-1) }
}
elseif $2 == mode { echo @socket $+ $3 $timestamp 6× Mode × $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) met le mode $4- }
elseif $2 == nick {
if %socknick == $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) { set %socknick $remove($3,$chr(58),!) }
echo @socket $timestamp 6× Nick × $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) change son pseudo en $remove($3,$chr(58))
}
elseif $2 == join {
if %socknick == $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) { window -ke @socket $+ $remove($3,$left($3,1)) }
else { echo @socket $+ $remove($3,$left($3,1)) $timestamp 6× Join × $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) Entre sur $3 }
}
elseif $2 == part {
if %socknick == $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) { window -c @socket $+ $3 }
else { echo @socket $+ $3 $timestamp 6× Part × $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) part de $3 $4- }
}
elseif $2 == quit { echo @socket $timestamp 6× Quit × $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) a quitté l'irc $3- }
elseif $2 == kick {
if $4 == %socknick { echo @socket $+ $3 $timestamp 6× Kick × Tu as été kick par $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) : $right($5-,-1) | hi join $3 }
else { echo @socket $+ $3 $timestamp 6× Kick × $4 a été kick par $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) : $right($5-,-1) }
}
elseif $2 == notice { echo @socket $timestamp 6× Notice × De $remove($1,$remove($mask($1,0),!,$chr(42)),$chr(58),!) : $right($4-,-1) } elseif $2 :closing && $3 link: { echo @socket $timestamp 6× Disconnected × Tu as quitté l'irc : $left($5-,-1) }
elseif $2 == 353 { echo @socket $1- }
elseif $2 == 321 { window @list }
elseif $2 == 322 { echo @list $4- }
elseif $2 == 366 { halt }
elseif $2 == 332 { echo @socket $+ $4 $timestamp Le topic de $4 est : $remove($5-,$left($5,1)) }
elseif $2 == 333 { echo @socket $+ $4 $timestamp Topic mis par $5 le $asctime($6) }
elseif $2 == 372 { echo @socket 6× Motd × $right($4-,-1) }
elseif $2 == 376 { echo @socket 6× Motd × Fin du /motd }
elseif $2 == 421 { echo @socket $timestamp 6× Erreur ×  $+ $4 $+  Commande inconnue }
elseif $2 == 433 { echo @socket $timestamp 6× Erreur × Pseudo actuellement utilisé }
elseif $2 == 451 { echo @socket $timestamp 6× Erreur × Pseudo reservé }
elseif $2 == 306 { echo @socket $timestamp 6× Away × Tu entre en away }
elseif $2 == 305 { echo @socket $timestamp 6× Away × Tu reviens d'away }
else echo @socket $1-
}


on *:input:@socket*:{
if ($left($$1-,1) != /) {
if $gettok($editbox($active),1,32) == !me { echo -at 6* %socknick $remove($1-,!me) | hi privmsg $remove($window($active),@socket) : $+ ACTION $remove($1-,!me) }
else {
echo -ta < %socknick > $$1-
hi privmsg $remove($window($active),@socket) $chr(58) $+ $$1-
}
}
}

Ya pas mal de modif a faire mais ca marche :))


[irc://irc.voila.fr/kinder Kinder_Maxi]
0
Zqokmi Messages postés 13 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 2 avril 2006
26 mars 2006 à 12:43
Lut PaDa peut tu maider please ?
mon problam cest ca : SOCKET OUVERT
<- :chat4.x-echo.com 498 :Pseudo résèrvé , veuillez en choisir un autre.
<- ERROR :Closing Link: 0.0.0.0 (Ping timeout)


ZqoKa-Ohla
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
26 mars 2006 à 12:48
Comme l'indique le message d'erreur, tu ne peux pas te connecter parce que ce pseudo est réservé..

Donc s'il n'est pas a toi, change le pseudo de la socket et tout ira bien :)

[font=Tahoma]PaDa/font=Tahoma
0
Zqokmi Messages postés 13 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 2 avril 2006
26 mars 2006 à 13:01
Re :p heum voila mon new problem (apres avoir mis kelke new truk :

SOCKET OUVERT
<- NOTICE AUTH :*** Looking up your hostname
<- NOTICE AUTH :*** Found your hostname, cached
<- NOTICE AUTH :*** Checking Ident
<- NOTICE AUTH :*** No ident response
<- :wineasy1.se.quakenet.org 433 * PSEUDO :Nickname is already in use.

PaDa help me


ZqoKa-Ohla
0
Rejoignez-nous