Socket [Résolu]

Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
- - Dernière réponse : cs_PaDa
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
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
Afficher la suite 

Votre réponse

20/29 réponses

Meilleure réponse
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_PaDa
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
0
Merci
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
Commenter la réponse de cs_PaDa
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
PARFAIS !!!!!
je suis sur voiladoo (comme tu dis lol), c'est exactement ce que je voulais merkiiiiiii =)

KiNdEr_MaXi
Commenter la réponse de cs_KiNdErMaXi
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
loool spa bien grave tu es excusé :p
KiNdEr_MaXi
Commenter la réponse de cs_KiNdErMaXi
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
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
Commenter la réponse de cs_KiNdErMaXi
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
0
Merci
cherche un peu dans la RFC lol je sais plus ... ya ton anick ton mail etc :]
PaDa
Commenter la réponse de cs_PaDa
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
RFC ?
=X
KiNdEr_MaXi
Commenter la réponse de cs_KiNdErMaXi
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
0
Merci
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
Commenter la réponse de cs_PaDa
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
lol oki
KiNdEr_MaXi
Commenter la réponse de cs_KiNdErMaXi
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Dernière intervention
26 novembre 2004
0
Merci
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!
Commenter la réponse de cs_Ungart
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
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
Commenter la réponse de cs_KiNdErMaXi
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Dernière intervention
26 novembre 2004
0
Merci
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!
Commenter la réponse de cs_Ungart
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
0
Merci
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
Commenter la réponse de cs_PaDa
Messages postés
3
Date d'inscription
mercredi 17 mars 2004
Dernière intervention
26 novembre 2004
0
Merci
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!
Commenter la réponse de cs_Ungart
Messages postés
12
Date d'inscription
vendredi 1 avril 2005
Dernière intervention
20 juin 2006
0
Merci
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
Commenter la réponse de thomasworms
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
0
Merci
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
Commenter la réponse de cs_PaDa
Messages postés
1055
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
30 novembre 2009
0
Merci
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]
Commenter la réponse de cs_KiNdErMaXi
Messages postés
13
Date d'inscription
dimanche 26 mars 2006
Dernière intervention
2 avril 2006
0
Merci
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
Commenter la réponse de Zqokmi
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Dernière intervention
22 septembre 2009
0
Merci
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
Commenter la réponse de cs_PaDa
Messages postés
13
Date d'inscription
dimanche 26 mars 2006
Dernière intervention
2 avril 2006
0
Merci
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
Commenter la réponse de Zqokmi

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.