Bot IRC

maxpeg0705 Messages postés 61 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 21 septembre 2005 - 14 oct. 2004 à 14:04
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 - 4 janv. 2005 à 20:24
Bonjour,
j'aimerai me lancer dans un projet de petit bot IRC :)

Je suis débutant (mais je me débrouille un peu avec les sockets) : j'arrive a me connecter au serveur mais pas a repondre au ping et a envoyer des commandes.

Si quelqu'un a un peu de temps a perdre avec moi je lui en serai reconnaissant :big)

:big) maxpeg0705 :big)

Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
A voir également:

43 réponses

taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
17 oct. 2004 à 19:12
Oui tu peut le "serialise".
Mais par exemple en C/C++, tu peux envoyer directement ton entier en dans la socket. L'avantage c que tu n'est pa oblige de connaitre le nombre de chiffre de ton entier. MAis ca peut s'averer utile par exemple si tu veux envoyer un nombre decimal. Et de plus tu n'a pas de convertion a effectue. Mais python n'accepte que les chaine de caracte et les "read-only buffer" .
Reste a savoir comment en creer un.....
0
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
17 oct. 2004 à 21:29
Je m'y connait pas, alors je peu pas vraiment dire, mais moi toute cette discution sa m'a ouvert l'appetti et m'a donné envie de faire un super protocol de la mort qui tue (je sais, je suis embitieu...)
Donc je vais voir le tutorial que Taz_iup a posté pour aprendre...

Allé tcho ++
0
maxpeg0705 Messages postés 61 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 21 septembre 2005 1
18 oct. 2004 à 00:41
Enfin :big)
J'y suis arrivé le bot se connecte repond a !date, !salut et envoi une notice lorsqu'une personne join le salon !!
Faut dire que Panta m'a bien aidé (il apprend le Python aussi :-p )

:big) maxpeg0705 :big)

Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
18 oct. 2004 à 17:19
Pas si vite, je l'ai pas encore fait le tutoriel.........
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maxpeg0705 Messages postés 61 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 21 septembre 2005 1
18 oct. 2004 à 18:32
lol ^^
il est pressé et ambitieux :-p

:big) maxpeg0705 :big)

Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
0
bibi_81 Messages postés 345 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 25 octobre 2007
18 oct. 2004 à 18:39
... jaime pas con me contrarie jaime pas du tout ..... grrrr ! enfin tu as peut etre raison mais je suis tres tetu
--------------
Vive FFIX :-p :big) et non pas <s>la guerre</s>
0
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
18 oct. 2004 à 19:07
Salut,
Bon bin Maxpeg0705 , t'as plus qu'a poster la source et faire profiter tout le monde de ton super client bientot aussi populaire que mirc... :p
Serieusement, si tu pouvait poster la source sa serait sympas et en plus on pourrai peut etre ajouter une fonction parci parlà...

Allé chao..
0
maxpeg0705 Messages postés 61 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 21 septembre 2005 1
18 oct. 2004 à 20:02
tinkiet pas je la posterai la source mais la c'est une beta version :p
et je me mefie qd meme rippeur qui essayent de faire comme si ils avaient codés la source :sad)
Mais je prefere partager la source qd meme :)

:big) maxpeg0705 :big)

Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
0
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
18 oct. 2004 à 20:40
Voila un esprit qui sait faire la part des choses.
Et puis pour les rippers, tu les laisse crever dans leur ignorance absolue, et si sa les amuses temp mieu pour eux...

J'attend avec impatience....
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
18 oct. 2004 à 22:26
Moi j'ai un pote qui a fait un client IRC en C++ sous linux, si tu as des problemes je peux te mettre en conctact avec lui.
0
maxpeg0705 Messages postés 61 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 21 septembre 2005 1
19 oct. 2004 à 18:04
Merci taz_iup :)
Les socks en C++ ressemble a ceux de Python ?? (je crois que oui)

:big) maxpeg0705 :big)

Merci à Panta (Pantalaimon) avec qui j'ai commencé a m'interresser à la programmation :)
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
19 oct. 2004 à 20:13
oui.
D'ailleur j'ai trouve une astuce pour envoyer mon entier
par exemple pour envoyer un entier a un prog C++ qui en attend un.
il suffit de construire la chaine de caratere comme suit.

nombre = 862186

msg = chr( nombre & 256 ) + chr( (nombre/256)&256) + chr( (nombre/(256²))&256 ) + chr( (nombre/(256^3))&256 )
sock.send( msg )
et le tour est joue.
Dans votre programme C++ vous pouvez recevoir un nombre directement sans passer par le texte.
L'inverse est egalement simple.

msg = sock.recv( 4 )
nombre = ord( msg[0] ) + ord( msg[1] ) * 256 + ord( msg[2] ) * 256² + ord( msg[3] ) *256^3
pour recevoir un nombre envoyer depuis un programme C++
voila...
0
bibi_81 Messages postés 345 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 25 octobre 2007
22 oct. 2004 à 19:59
bon jvou laisse vot C++ sa alair intéressant mai bon ji connai rien en C++ aussi en C et C# alor bon je laisse tomber ^^
--------------
Vive FFIX :-p :big) et non pas <s>la guerre</s>
0
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
23 oct. 2004 à 00:30
C'est vrai que ce code est bien complexe, avec les fonction sorties a tout bout de champ...
Si je ne me trompe pas (mais je pense que je me trompe), ce code permet de diviser le message envoyé par socket en plusieurs parties, chacune definissant une caractéristique du nombre (en les separents par 256???).

Apres...
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
23 oct. 2004 à 12:56
Ca peu pres ca .
En fait je divise les octets represantant l'entier( 4 octets )
en 4 partie de 1 octet( representant un caractere.
La fonction chr permet d'obtenir un caractere a partir de son code ASCII.
La division entiere par deux d'un nombre entier est equivalente a un decalage des bits du nombre
ex :
11001100 / 2 -> 01100110
11001100 / 4 -> 00110011
11001100 / 8 -> 00011001
11001100 / 16-> 00001100

et ainsi de suite.
La multiplication a l'effet inverse.
ensuite le & 256 permet de recuper uniquement les huit premiers bits( c'est a dire le premier octet ) des quatres octet de l'entier.
En divisant successivement par els puissance de 256 on recuperre ainsi les quatre octets de l'entier séparement.
L'equivalent du nombre en chaine de caractere est donc la concatenation des quatres codes ascii calcules.
Voila j'espere que c'est un peu plus clair pour vous, sinon j'essairai de reformuler mon explication.
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
23 oct. 2004 à 12:57
Je viens de relire ce que tu as marque, en fait c ca sauf qu'au lieu de les envoyer par paquets, je reconstruit ma chaine pour l'evonyer en une seule fois.

dsl.
0
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
23 oct. 2004 à 14:33
Merci bien de tes explications, c'est un peu plus clair pour moi.
Comme quoi on en apprend tous les jours!!
@+
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
1 nov. 2004 à 20:18
J'ai lu un boukin de python recement et j'y ai lu qu'il existe des modules python pour "serialise" des donnes, c'est a dire les transformer en texte et inversement.
Leur nom sont marshall et pickle.
Voila pas besoin d te casser la tete a faire ton algo Marvin...
:D
@+
0
cs_Marvin Messages postés 77 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 19 juin 2006 1
1 nov. 2004 à 20:29
Merci bien, je vais regarder sa et qui sait? peut etre poster une source...

Ce site stagne un peut non?
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
1 nov. 2004 à 21:08
ouais je trouve aussi.
Je devrai bientot poster une plli complete
Je suis en train de commenter
0
Rejoignez-nous