WGARD, ROBOT MIRC EN SOCKETS, UN SEUL MIRC

cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 - 14 mars 2007 à 14:09
PeSSouZiX Messages postés 12 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 4 juillet 2008 - 4 juil. 2008 à 01:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41844-wgard-robot-mirc-en-sockets-un-seul-mirc

PeSSouZiX Messages postés 12 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 4 juillet 2008
4 juil. 2008 à 01:23
merci djul51 :)

J'ai finalement compris le pourquoi: trop de choses connectées ... le serveur interrompait la connexion du WGard.
djul51 Messages postés 44 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 17 avril 2009
2 juil. 2008 à 13:37
timer.JOIN1 1 10 sockwrite -n wGard JOIN %chan1
timer.JOIN2 1 10 echo @wgard 2,15WGard: Je vais joindre le salon %chan1

Lorsque tu vois 'halted' c'est que le JOIN et le ECHO dans la @windows ont étés fait. La valeur de la variable %chan1 correspond bien à ce que tu souhaites ? Commence par vérifier ça déjà .. Une fois que le bot dit s'être connecté, /whois lebot Tu sauras au moins s'il est en ligne, ça t'aidera à situer l'erreur.
PeSSouZiX Messages postés 12 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 4 juillet 2008
1 juil. 2008 à 15:39
dès que je le lance, il se connecte et se déconnecte aussitôt ... pourquoi ??

* Timer .join1 halted
-
* Timer .join2 halted
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
18 juin 2008 à 03:06
Coté mises a jour je sais pas ce qu'il s'est passer mais j'ai bugger ont dirais lol :/
djul51 Messages postés 44 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 17 avril 2009
29 avril 2008 à 09:04
En fait c'est wims qui m'avait mis sur une mauvaise piste et qui m'a fait galérer :(
Et en relisant ton commentaire nocomment... la source de base n'est pas de moi :b
djul51 Messages postés 44 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 17 avril 2009
29 avril 2008 à 08:47
Finalement en fouillant la RFC 1459 j'ai trouvé la solution au problème...

on *:sockopen:wGard:{
if ($sockerr) { echo @wGard Erreur ,vous avez été déconnecté | return }
sockwrite -n wGard PASS LACLEIRC
sockwrite -n wGard NICK %nickbot
sockwrite -n wGard USER sdb sdb sdb :wGardSocket 1.1
timer.JOIN1 1 10 sockwrite -n wGard JOIN %chan1
timer.JOIN2 1 10 echo @wgard 2,15WGard: Je vais joindre le salon %chan1
}

Enjoy!

ps: nocomment je n'ai jamais utilisé le keygen de Vestax car je le trouve pas du tout pratique de ce que j'en ai vu, mais certaines autres personnes sur le serv ont fait des choses équivalentes et qui peuvent fonctionner via un on text pour la récupération de la clé :]
cs_nocomment Messages postés 26 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 29 avril 2008
29 avril 2008 à 01:40
Ps: demande l'aide de VestaX je pense qu'il refusera pas :)

Ps2: non j'ai pas tenté de connecer ton bot sur Voila/Orange. j'ai meme pas mis ton code dans les remotes vu que ca me sert a rien pour le moment. je veux le connecté que sur ce serveur ( Voila / Orange ) j'ai un autre bot normal qui tourne sur d'autres serveurs
pour info le Cservices 2.5
cs_nocomment Messages postés 26 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 29 avril 2008
29 avril 2008 à 01:36
Salut. alors pour en revenir a ma demande, ca serai pas mal de joindre a ton bot en socket l'addon de VestaX ( Wanakey ) je sais pas comment tu peu l'integrér au bot mais bon dois y'avoir moyen.
Du style avoir une option : connecter bot via Wanakey

A mediter :)
djul51 Messages postés 44 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 17 avril 2009
28 avril 2008 à 23:53
Bonsoir,
Je ne sais pas si nocomment a réussi à s'en sortir, mais j'ai tenté de modifier l'alias wGard de plusieurs façon, et ça ne fonctionne pas. J'ai d'abord ajouté une ligne pour créer la variable %keyirc, puis modifié le code en conséquence...

alias wgard {
window -ae @wGard
sockclose wGard
if (!%serveur) set %serveur $$?="Entrez le serveur auquel vous desirer connecter le robot"
if (!%port) set %port $$?="Entrez le port du serveur auquel vous voulez vous connecter (6667 par defaut)"
if (!%nickbot) set %nickbot $$?="Entrez le pseudo desirer pour le robot"
if (!%chan1) set %chan1 $$?="Entrez le salon que vous voulez autojoindre (avec le #)"
if (!%owner) set %owner $$?="Entrez votre pseudo" | writeini -n levels.ini levels %owner 1000
if (!%keyirc) set %keyirc $$?="Entrez la clé associée au pseudo"
sockopen wGard %serveur %port %keyirc
echo @wGard 2,15WGard: Démarrage de la connection à %serveur
echo @wGard 2,15WGard: Connexion en cours... Veuillez patienter
}

J'ai aussi tenté:
sockopen wGard %serveur $+ : $+ %port %keyirc
ainsi que:
sockopen wGard irc.voila.fr:6667 %keyirc
et même:
sockopen wGard irc.voila.fr:6667 directementlacléirc

Et rien ne fonctionne :o
Je ne connais pas les sockets donc la, j'ai vraiment aucune idée.
Si quelqu'un à la solution... j'aimerais bien voir ce bout de bot tourner sur voila :]
Merci
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
3 avril 2008 à 18:41
Dans l'alias Wgard, il y la commande /sockopen qui lance la connexion, place ta clé là ou il faut :)
cs_nocomment Messages postés 26 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 29 avril 2008
3 avril 2008 à 16:15
Coucou, juste une petite question comme ca. Si on veux utiliser ton Socket Bot Sur Voila, On fais comment ? Sur voila y'a un system de clés :(

Un clé a generé sur le site de voila ou Orange pour pouvoir ce connecter sur le serveur.

Bonne continuation

Bye
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
26 déc. 2007 à 06:07
Je nettoyais mon pc quand j'ai trouver cette vielle source, et comme j'avais rien à faire jen decider de la rendre plus lisible en enlevant les $mid et les $gettok
cs_hunter38 Messages postés 46 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 12 juin 2007
12 juin 2007 à 19:00
ok merci Bonne continuation
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
15 mars 2007 à 19:20
Je ne met jamais de note.
Tu devrais mettre la source dans la place prévus a cet effet, pour qu'on puisse visualisez la source sans prendre le zip.Mais laisse le zip étant donné que les copier/coller marche mal.
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
15 mars 2007 à 03:11
Merci de me laisser une ptite note :)
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
15 mars 2007 à 03:09
Voila un autre update (he oui lol)

Maitenant il y as plus de configuration...
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 18:44
bon voila jai mis en variables
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 18:22
euh ok... dsl chui idiot jy ai pas penser pour le pseudo du gars... et pour le $modespl ben jai mis 5 pcq je trouve que sa va bien lolll

jarrange sa de suite
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 mars 2007 à 18:14
Mdr je ne parlais pas de ce nick là même si c'est bien d'avoir modifier.Je parlais du on sockread, tu utilise plein de $gettok pour avoir le nick de la personne mais pourquoi ne pas le stocker dans une /var, c'est beaucoup mieux, idem pour tes $mid

$modespl je te l'ai dis retourne le nombre max de mode applicable en une seul fois donc en connaissant ca, tu peux comparé par rapport au nombre de mode qu'il y a mettre car ton code ne met que 5 mode d'un coup, pourquoi pas plus ?
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 18:06
Bon voila ce ki est appliquer/reparer:
-Le echo
-le .mrc
-le demarage ki buggais
-le ban
-Nick stoké

La il manque:
- le /tokenize
- Reco automatique
- Choix du port
et $modespl c pour quoi?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 mars 2007 à 17:58
Oui, plusieur chose a améliorer :

-Déja, mettre le fichier dans un .mrc sans tout les n°=
-On peut choisir le server mais pas le port ? bof
-Tu /echo le fait qu'on sois connecté alors que l'on viens a peine de lancer la connexion, il faut récupéré l'info dans un sockread.Donc dans le on *:sockopen tu n'est tjs pas connecté et si ya une erreur, tu dis que on est déconnecté ( alors qu'on est même pas connecté )
-Le timer pour joindre le salon n'est pas nécéssaire j'pense et dailleur tu joins ce que contient %a mais on ne peut pas choisir le salon du bot ? et d'ou sors le %a ?
-Tu devrais /tokenize au lieu de tout ces $gettok dans le on sockread
-le elseif pour le !ban y est deux fois mdr...
-Tu devrais stocké les element qui te serve plusieur fois comme le nick s'il y a.
-Tu devrais regardé $modespl pour connaitre le nombre de max de mode que l'on peux mettre en un seul coup.
-Faire en sorte que le bot se reconnecte auto lors d'une deconnexion.
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 17:40
sinon ta un commentaire pour ameliorer?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 mars 2007 à 17:39
bah tient (:
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 17:37
desoler mais sur lancien, javais trop de notes 1 donc jai preferer le mettre la
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
14 mars 2007 à 17:23
Ce code est la suite de Wabot donc tu pouvais mettre a jour le code, je te l'avais déja dis ainsi qu'un admin mais bon c'est bien que tu l'ai fais en socket.
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 17:00
Et voila... Tout se passe en sockread maitenant^^
La pour une source de debutant jai rusher lol
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 15:40
lol, oui mais j'ai trouver comment executer par sockread, je vais poster sa ici des ke jaurai tout transformer ^^(la galere)
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
14 mars 2007 à 15:34
oui, passer par le sockread étant donné que c'est l'event qui est exécuté lors de la réception des raws par la connexion socket.

l'évênement "on text" n'est lui exécuté que lorsque la connexion "principale" reçoit des données.

la question d'être pro n'est pas de mise içi, c'est simplement une question de logique mais t'inquiètes pas ça va venir avec le temps. c'est toujours un peu ambigue les connexions annexes au début et on s'emmêle vite les pinceaux...
webdoordi Messages postés 48 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 avril 2009
14 mars 2007 à 15:04
Ya un autre moyen que de passer par on text ?
Dsl mais je suis pas pro en socket, c la premiere fos ke je m'essai
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
14 mars 2007 à 14:09
l'utilité du socket est assez discutable étant donné qu'il faut que la connexion "principale" soit sur le même salon sinon les "on text" etc tombent à l'eau... je vois pas tellement l'intérêt de faire une connexion supplémentaire si c'est pour utiliser les events de la connexion principale..

d'autre part, pourquoi un fichier .ini ? un fichier texte suffit puisqu'il n'y a pas utilisation de blocs de commandes..
Rejoignez-nous