BOT POUR L'IRC

Psyc0s Messages postés 24 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 3 mai 2006 - 7 sept. 2004 à 03:09
Erreur_418 Messages postés 1 Date d'inscription mardi 20 décembre 2016 Statut Membre Dernière intervention 20 décembre 2016 - 20 déc. 2016 à 23:36
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

Erreur_418 Messages postés 1 Date d'inscription mardi 20 décembre 2016 Statut Membre Dernière intervention 20 décembre 2016
20 déc. 2016 à 23:36
Merci gars! tu n'imagine même pas à quel point ton travail vas m'aider!
cs_open Messages postés 16 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 29 octobre 2008
11 juin 2007 à 21:05
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 ?
nicerap Messages postés 13 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 23 avril 2006
30 avril 2006 à 15:02
Quand je compile ton code il me donne plusieurs erreur de type [linker error}...
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
10 mars 2006 à 18:29
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 ?
CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
8 oct. 2005 à 13:53
Re, visiblement c'est un problème de réponse au PING :s
CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
6 oct. 2005 à 23:49
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 :)
Funzy78 Messages postés 5 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 5 octobre 2005
23 sept. 2005 à 13:33
Slt,

C'est l'adresse du serveur
VolaiL Messages postés 14 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 25 mai 2005
8 févr. 2005 à 20:49
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
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
13 sept. 2004 à 13:26
pose des questions précise, on répondra au mieux
ou on te redirigeras...
ttard Messages postés 1 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 13 septembre 2004
13 sept. 2004 à 12:53
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...
cs_shown Messages postés 40 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 24 décembre 2007
10 sept. 2004 à 04:15
je te remercie je vais aller voir ca ;)
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
9 sept. 2004 à 17:27
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
cs_shown Messages postés 40 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 24 décembre 2007
9 sept. 2004 à 16:25
merci BlackGoddess mais si tu pouvais m'en dire un peu plus sur select... je connais pas du tout
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
9 sept. 2004 à 16:08
tu peux utiliser select au lieu d'utiliser des threads
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
7 sept. 2004 à 12:30
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+ ;)
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
7 sept. 2004 à 11:56
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+)

++
cs_shown Messages postés 40 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 24 décembre 2007
7 sept. 2004 à 03:11
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 :)
Psyc0s Messages postés 24 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 3 mai 2006
7 sept. 2004 à 03:09
Si je peux te donner une sugestion:

Utilise les thread pour remplacer ta boucle infini
Rejoignez-nous