Accueil > Forum > > > > projet bot irc
projet bot irc
samedi 5 novembre 2005 à 23:02:36 |
projet bot irc

shadow1779
|
Bonjour,
j'ai un projet de faire un petit bot irc, tout sommaire au debut pour m'ameliorer avec les sockets en C, le socket se connecte bien mais je pense que les messages send ne sont pas envoyés, quelqu'un pourrait t'il me faire une correction de ma ou mes erreurs s'il vous plait et m'expiquer d'ou cela vient
code: http://shadow1779.ifrance.com/archives%20prog/ircbot.txt
|
|
dimanche 6 novembre 2005 à 00:46:30 |
Re : projet bot irc

juki_webmaster
|
Réponse acceptée !
Salut, N'etant pas expert de winsock je vais te repondre d'une seule chose:
sprintf(buffer,"NICK %s",nick); printf("%s\n",buffer); send(sock, buffer, strlen(buffer), 0); sprintf(buffer,"USER %s",nick); send(sock, buffer, strlen(buffer), 0);
Sous le procole IRC, la requette USER passe devant la requette NICK, deplus il ya un separateur qui est le saut de ligne classique: \n
Deplus, la majorité des serveurs IRC demmande un PING -> PONG avant de dire: "Toi t'est un vrai user!" , le ping/pong doit de preference etre dans un thread separer pour eviter le revc() bloquant (voir l'erreur classique: la boucle infini utilisant 100% du CPU).
Pour de petites initiations comme celle-ci les char statiquement alloué suffisent, parcontre commance dés aujoudhui a t'initier aux char dynamiquement alloué -> malloc() realloc() free(). Deplus je ne voit pas de memset() nul part, strcpy() est a eviter => strncpy().
Il ya une sympatique source d'un robot IRC sur ce site, une recherche s'impose donc, tu peux aussi aller voir la RFC, elle ne t'expliquera le protocole a suivre pour avoir un bot correct.
Bon courage.
|
|
dimanche 6 novembre 2005 à 01:35:26 |
Re : projet bot irc

cosmobob
|
Réponse acceptée !
salut, en + ya un buffer overflow (probleme le plus dramatique du C) sur ton tableau char ip[15] (solution; utilise char ip[16];) au lieu de vouloir avoir pile la bonne taille, tu aurais du prévoir un peu de mou, ca t'aurait peut etre éviter un pb ... allez recompte : une ip au max, c'est 4 nombres de 3 chiffres, et 3 points qui les separent... ca, ca fait effectivement 15 caractere, pas de bol t'as oublié le caractere 0 qui marque la fin de la chaine, et qui fait déborder ton tableau. sinon le premier truc a envoyer: sprintf(buffer, "NICK %s\nUSER %s . . :%s\n", nick, nick, "bot fullname"); send(sock, buffer, strlen(buffer), 0); sprintf(buffer, "JOIN %s\n", channel); send(sock, buffer, strlen(buffer), 0); t'avais effectivement oublié le \n qui est le caractere de fin de ligne. et si tu veux voir une source d'un bot simple: http://www.cppfrance.com/codes/BOT-IRC-TOUT-SIMPLE-FAIT-A-L-AIDE-DE-LA-CLASSE-PROSOCK/20596.aspx allez a+
|
|
dimanche 6 novembre 2005 à 08:14:40 |
Re : projet bot irc

skotmarud
|
Réponse acceptée !
comme la dit cosmobob t'as oublier les \n et ta requete user n'est pas bonne. Pour mieux comprendre jette un coup d'oeil a la rfc de l'irc
sprintf(buffer,"NICK %s\n",nick); send(sock, buffer, strlen(buffer), 0); sprintf(buffer,"USER a a a :%s\n",nick); send(sock, buffer, strlen(buffer), 0); sprintf(buffer,"JOIN %s\n",channel); send(sock, buffer, strlen(buffer), 0);
là ça fonctionne :)
|
|
dimanche 6 novembre 2005 à 08:23:35 |
Re : projet bot irc

skotmarud
|
Réponse acceptée !
j'ai oublier de dire : telecharge netcat c'est un utilitaire en console qui aide beaucoup pour créer des client/serveur. par exemple là pour vérifier le probleme dans une console tu fais "nc -v -l -p 6667" pour mettre sur ecoute ton port 6667 et apres avec ton bot tu te connect sur l'ip 127.0.0.1 port 6667 et tu vois tout de suite que ton bot envoie tout en une seule ligne sans retour a+
|
|
dimanche 6 novembre 2005 à 10:05:13 |
Re : projet bot irc

shadow1779
|
merci beaucoup a tous pour vos reponses, j'vai y appliquer :)
|
|
dimanche 6 novembre 2005 à 10:12:17 |
Re : projet bot irc

shadow1779
|
oups par contre j'ai tout changer :s et ca ne marche toujours pas, connection reussie mais pas les send, j'vous ai reuploadé le fichier source :)
|
|
dimanche 6 novembre 2005 à 10:48:13 |
Re : projet bot irc

skotmarud
|
sprintf(buffer,"USER %s . . :%s\n","become_a_bot",nick);
:)
|
|
dimanche 6 novembre 2005 à 10:54:02 |
Re : projet bot irc

skotmarud
|
la rfc en français http://www.iprelax.fr/irc/irc_rfcfr.php
pour l'etablissement de connection http://www.iprelax.fr/irc/irc_rfcfr4.php#41
tout est expliqué a+
|
|
Cette discussion est classée dans : projet, bot, irc
Répondre à ce message
Sujets en rapport avec ce message
bot irc [ par Nano ]
quelqu'un pourait me donner la source d un bot irc simple fait avec visual c++Merci d'avance
Programmation d'un bot pour IRC [ par murony ]
Bonjour,Voilà j'aimerai créer un bot irc moi même. Je n'ai pas envie d'utiliser un eggdrop et un script tcl, ni avec mIRC, je ne suis pas à l'aise en
Recherche codeur c++ (projet IRC) [ par wineasy ]
Bonsoir, J'ai en projet de monter un petit réseau IRC francophone. Je n'ai encore fait aucune publicité pour l'instant car je tiens à ce que tout soi
Question pour bot irc [ par restesouple ]
Bonjour,J'ai pris cette source http://www.cppfrance.com/code.aspx?ID=20596 et avec celle -ci qui fonctionne parfaitement, je voudrais savoir comment f
Bot Pour Irc, Probléme pour les commandes [ par oshin ]
Chalut tousJ'ai besoin de votre aide car je n'arrive pas à faire en sorte que lorsqu'on écrit sur le salon par ex: !jeux Le bot réponde : Je n'ai pas
quel est le prob avec send(); en socket C [ par shadow1779 ]
Bonjour,j'ai un petit probleme, je developpe un petit bot irc en C via les socket, j'ai fai le debut ou le programme demande a l'utilisateur quel est
J'aimeré faire un bot irc qui marche en mode console , avec vc++ [ par y4r1 ]
J'aimeré faire un bot irc qui marche en mode console , avec vc++aidé moi svp
pb inclusions VS [ par magic_Nono ]
Bjje suis sur un gros projet ou on a fait une modification de fondet maintenant le prog compile si il veutie en fonction de l'ordre ou il integre les
bot msn [ par leprov ]
salut a tous.bon jai posé une question sur le forum ya pas si longtps, mais jai eu peu de reponses et qu m'ont pas vraiment avancées...bon alors apres
shell minimal [ par ledebutantenC ]
Bonjour, je suis debutant en C , j'ai un projet à rendre et je ne sais pas par ou commencer...merci de m'aidervoila le lienhttp://www.cmi.univ-mrs.fr/
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|