BOT POUR L'IRC

Signaler
Messages postés
24
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
3 mai 2006
-
Messages postés
1
Date d'inscription
mardi 20 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016
-
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/25988-bot-pour-l-irc

Messages postés
1
Date d'inscription
mardi 20 décembre 2016
Statut
Membre
Dernière intervention
20 décembre 2016

Merci gars! tu n'imagine même pas à quel point ton travail vas m'aider!
Messages postés
16
Date d'inscription
mercredi 16 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2008

Heu salut, j'ai compilé ta source et j'ai plein d'erreur [Link Error] style : [Linker error] undefined reference to `WSAStartup@8'
[Linker error] undefined reference to `socket@12'
[Linker error] undefined reference to `inet_addr@4' [Linker error] undefined reference to `htons@4' ...

Voilà , c'est du à quoi et que puis-je faire pour résoudre mon problèmes ?
Messages postés
13
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
23 avril 2006

Quand je compile ton code il me donne plusieurs erreur de type [linker error}...
Messages postés
90
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
6 mars 2007

Bonsoir, voila alors ton code ma donné une idée enfaite mais quand j'essay a ma facon j'arrive a rien, je mexplique.

J'aimerais pouvoir établir un link (relié un server socket ou dessus on met des robot, genre comme fait anope tu vois ?)

alors j'ai fait ceci:

connect(sock, (sockaddr *)&sin, sizeof(sin));
sprintf(buffer, "PROTOCTL NICKv2 VHP UMODE2 NICKIP SJOIN SJOIN2 SJ3 NOQUIT TKLEXT SJB64");
sprintf(buffer, "PASS :mypass");
sprintf(buffer, "SERVER irc.fock.fr 1 :fock");

mais j'ai simplement sa qui s'affiche:
:irc.chatsl.org NOTICE AUTH :*** Looking up your hostname...
:irc.chatsl.org NOTICE AUTH :*** Couldn't resolve your hostname; using your IP a
ddress instead

et la tous se stop... comme si il recevait pas les infos ou sois je mis prend male...

Peut tu m'aider ?
Messages postés
78
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 avril 2005

Re, visiblement c'est un problème de réponse au PING :s
Messages postés
78
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
26 avril 2005

Salut, en changeant les deux ip par 193.27.78.5 pour me connecter au réseau quakenet, je n'arrive pas à me connecter au serveur.
Il semble y avoir des erreurs aux niveaux des identifications d'USER, enfin d'après les messages affichés, est ce que tu saurais comment résoudre ce problème ?

Sinon merci pour la source :)
Messages postés
5
Date d'inscription
samedi 6 mars 2004
Statut
Membre
Dernière intervention
5 octobre 2005

Slt,

C'est l'adresse du serveur
Messages postés
14
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
25 mai 2005

Hmmm, je dois avoir du mal, mais j'arrive pas a utiliser ce code. Je compile avec Dev C++ sous windows. J'ai remplacé le
#pragma comment(lib, "ws2_32.lib") par la commande "-lws2_32" du compilateur car je n'avais pas le .lib
Ca a marché, le programme compile bien, mais il le bot ne rejoint pas le chan irc sur lequel je suis. Et il y a bien un problème puisque le programme s'éxécute instantannément alors que j'imagine que la connexion au serveur prend un peu de temps.

Je n'ai pas du tout touché au code source, excepté :

char nickbot[30]="VolaiLbot"; //nick à modifier
char channel[20]="#bot.Poulailler"; //channel à rejoindre
char serveur[30]="jubiigames.dk.quakenet.org"; //ip du serveur irc
char user[50]="lol lol lol :VolaiLbot";

et aussi le paramètre suivant de la socket :
sin.sin_addr.s_addr = inet_addr("80.11.134.235"); //Faut il mettre l'adresse de sa machine ou bien l'adresse du serveur irc ?

Je suis un peu paumé la :x
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
pose des questions précise, on répondra au mieux
ou on te redirigeras...
Messages postés
1
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
13 septembre 2004

c que j aimerai parler chinois comme vous :)
non sans deconner vous connaissez des sites ou on peut apprendre votre "langue"? parcke des fois ca me serai bien utile de comprendre les subtilités liées a l irc...
Messages postés
40
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
24 décembre 2007

je te remercie je vais aller voir ca ;)
Messages postés
338
Date d'inscription
jeudi 22 août 2002
Statut
Membre
Dernière intervention
14 juin 2005

select permet de voir s'il y a des "évènements" nécéssitant d'etre traité sur un ou plusieurs sockets : si des données sont recues, si des données ont été envoyées ou si une erreur est survenu.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/select_2.asp
Messages postés
40
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
24 décembre 2007

merci BlackGoddess mais si tu pouvais m'en dire un peu plus sur select... je connais pas du tout
Messages postés
338
Date d'inscription
jeudi 22 août 2002
Statut
Membre
Dernière intervention
14 juin 2005

tu peux utiliser select au lieu d'utiliser des threads
Messages postés
706
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
tu devrais tester si le resultat de recv n'est pas SOCKET_ERROR, sinon ta boucle infinie va faire ramer ton pc !
de plus ya un probleme avec le printf("%s",buffer), car buffer n'est pas assuré de se terminer par un 0. pour que ca soit le cas, tu dois faire 'recv(sock, buffer, BUFSIZ-1, 0);' (ce qui revient a dire a recv de ne pas toucher le dernier octet de buffer, qui a été mis a 0 à la ligne juste avant).

a+ ;)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
l'idée de base est bonne

sa réalisation elle demande a etre vraiement amélioré

après, restera à y intégrer une IA....

comme pour les agents du 2e monde...
(Canal+)

++
Messages postés
40
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
24 décembre 2007

Oui je sais ca serait pas mal, mais va falloir que je les apprenne.
Mais dés que je saurais faire je mettrai la mise à jour :)
Messages postés
24
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
3 mai 2006

Si je peux te donner une sugestion:

Utilise les thread pour remplacer ta boucle infini