IRC_BOT ( MON PREMIER PROGRAMME !!! )

D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 - 18 nov. 2003 à 22:48
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:09
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/18027-irc-bot-mon-premier-programme

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:09
Salut , j'ai des erreurs [link error] etc..

C'est quoi ? Soluce ?
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
4 mai 2006 à 19:02
while (1) {
memset(buff,0,255);
recv( sock,buff,255,0);

Ca te fait une boucle infini, sur cela je suis avec toi à 100% mais tu recevras, mais tu ne pourras pas traiter... (Oui j'ai testé)
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
3 mai 2006 à 20:36
LOL kes t'en c que ta essayé avant moi ?? :S
MDR

Enfin bon ça fait un moment que j'ai pas touché au socket mais si je me trompe pas le message envoyé par le serveur restera en attente tant que l'instruction recv suivante ne sera pas executé... Je pense que tu as mal formulé ton commentaire mais en effet dans certain k il faut utilisé les threads ms ce n'est pas tjs le k !!!

Have fun
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
3 mai 2006 à 20:21
oué okey, mais te faut un thread sinon tu pourras pas gérer les messages envoyé par le server, ou sinon t'en traitera 1 mais pas le 2 éme car tu pourras pas... jpeut t'en parler d'expérience, j'ai essayé avant toi, ta méthode.
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
14 déc. 2004 à 14:50
C vrai que y a des truc maladroi !!

Sinon pour les pointeur je les avais utilisé sans les comprendre !! Et pour la connection, j'avais trouvé un exemple de client en socket sur developpez.com et je l'ai adapté au protocole irc...

Have fun
psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
29 nov. 2003 à 12:21
salut,
moi je travail sur un Bot IRC en vb6, il gère les messages du serveur comme NICK, JOIN, KICK, KILL, MODE... et la plupart des raw (presque tous), donc si tu programme en vb, je peut t'envoyer ma source, j'espère qu'elle te servira a améliorer la tienne.
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
20 nov. 2003 à 18:24
lol g di a un pote kil yen avai ki allé douté ... ms c vraiment mon premier program .( il poura confirmer car je lui montré la source au fur et a mesure )
a vrai dir g fé exactement le mem prog en mirc script , il ma just fallu adapté le tou en C ( lol ) .

heu g rajouté une nouvel commande ms g la flem de fair une mise a jour dc je le met la :

char *pass = "pass";


if ( strstr(buff,"!cmd") != 0 && strstr(strstr(buff,"!cmd"),pass) != 0 && strstr(strstr(buff, "!cmd"),"/") != 0 ) {
char *raw = strtok(strstr(strstr(buff, "!cmd"),"/"),"/");
send(sock,raw,strlen(raw),0);
char *log = strtok(buff,":!");
memset(tmp,0,255);
wsprintf(tmp,"PRIVMSG %s : 4:: cmd ok ! ::15 %s %c",log,raw,10);
send(sock,tmp,strlen(tmp),0);
}

il fo rajouté ca ds la boucle de reception . ca sert à envoyé des commande au bot . syntaxe : !cmd pass /join #chan
!cmd pass /privmsg #chan : salut .....

voilou
cs_Thaeron Messages postés 202 Date d'inscription vendredi 6 juillet 2001 Statut Membre Dernière intervention 31 octobre 2007
19 nov. 2003 à 21:40
Wahou, si c'est ton premier programme je dis bravo, des sockets des pointeurs et tout, t'es sur que c'est vraiment ton premier prog ??? ou c'est le premier que tu as posté plutot ? ou alors t'a recopier, parce que sinon t'es pas loin d'etre un génie (mm si le source est simple ya pas mal de notions dedans).
Enfin bonne continuation t'es sur une tres bonne voie (celle du C bien sur)
(Si le source d'un server d'interesse j'en ai posté un deja)
Bonn'prog
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
19 nov. 2003 à 21:32
oki , j'irai voir ca !!

en plus g besoin de théori parce que serieu g vraiment fé ca à l'arache ( g appris sur le tas ) .

lol c cool de poa tro me détruir car je pense que g du faire des truc inadmicible !!

heu sinon g une nouvel version ac les raw commande , pass et nick aléatoir . je pense attendre un pe avant de mettre ca a jour !!
zinotron Messages postés 65 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 11 septembre 2004
19 nov. 2003 à 16:23
mon dieux quel horreur !!!
:p
je deconne
vas quand mm faire un tour a cette adresse
http://abyssal.homelinux.org/abyssal/@@_Coding/c/bot.htm
ca peut aider ...
sinon ya des trucs zarbi dans tes test ...
genre le
recv( sock,buff,255,0);
if ( strstr(buff,"PING") != 0 )
pkoi tu recois sur 255 alors que PONG ca prend 4 characteres ?
je capte pas ...
et puis avec un truc comme ca, tu vas vite deco paske il peut tres bien recevoir ca ton temp

PO
ca fait bien 4char :p
bon ensuite ...
ya pas mal de truc a reprendre :p
par contre, tu pourras dire merci a the walrus je pense :p
lis bien ce que je t'ai indiqué quand meme ...
++
abdoulax Messages postés 875 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 22 juin 2012 1
19 nov. 2003 à 14:31
héhé j'irai bien voir le site ms tu na poa mis de link !!

lol sinon g fé un system de nick ac des nombre aleatoir à la fin :

int a;
int b;
int c;
int d;
int r;
srand(time(NULL )); a = rand();
srand(time(NULL )); b = rand()%10;
srand(time(NULL )); c = rand()%50;
srand(time(NULL )); d = rand()%1;
if ( (b*(c+d)) != 0 ) { r=a/(b*(c+d)); }
else { r = d; }

je c , c mal codé ms g poa trouvé plus simple pour avoir un bon résultat , dc si qlq c comment faire des nombre aléatoir de maniere efficace , helpé moi ...
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
18 nov. 2003 à 22:48
J'ai placé une class sur ce site, pour la connection, et tout mais c'est plutôt pour les client IRC, tu peux essayer de la modifier et de la reprogrammer pour les BOT, mais sinon je n'ai pas trop le temps de te corriger tout les trucs, pke je suis extra occupé :s scuse j'essaye de t'aider dès que je peux ;)