IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Se connecter à un bot IRC en python [Python 3.X]


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut Se connecter à un bot IRC en python
    Bonjour, je cherche à me connecter à un bot IRC (que je n'ai pas créer) grace à python, mais j'e n'y arrive pas et mes input ne sont pas pris en compte car la console apparit puis disparait directement (je code sous notepad++). Voila ce que je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import socket, sys, math
     
    server = "irc.root-me.org"       #settings
    channel = "#root-me_challenge"
    botnick = "cara bruuh"
    input('wait1')
    irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #defines the socket    
    input('wait2')
    print "connecting to:"+server
    input('wait3')
    irc.connect((server, 6667))  
    input('wait4')                                                       #connects to the server
    irc.send("USER "+ botnick +" "+ botnick +" "+ botnick +" :This is a fun bot!\n") #user authentication
    input('wait5')
    irc.send("NICK "+ botnick +"\n")                            #sets nick
    input('wait6')
    irc.send("JOIN "+ channel +"\n")   #join the chan
    irc.send("PRIVMSG candy !ep1\r\n")    #auth        
     
    while 1:#puts it in a loop
    	text=irc.recv(2040)  #receive the text
    	print text   #print text to console
     
    	if text.find('PING') != -1:                          #check if 'PING' is found
    		irc.send('PONG ' + text.split() [1] + '\r\n') #returnes 'PONG' back to the server (prevents pinging out!)"
    	nb1,nb2 = text.split('/')
    	retour = returnCollege(nb1,nb2)
    	irc.send('PRIVMSG Candy !ep1 -rep '+retour+'\r\n')
    De plus je ne sais pas si le JOIN est a la bonne place et a quoi sert le ping ? J'ai cherché pas mal de temps sur internet mais je n'ai pas trop compris comment un bot marche...
    Cordialement.
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Java Ou Javapas Voir le message
    De plus je ne sais pas si le JOIN est a la bonne place et a quoi sert le ping ? J'ai cherché pas mal de temps sur internet mais je n'ai pas trop compris comment un bot marche..
    Pour dialoguer avec un serveur d'IRC, il faut apprendre à dialoguer IRC.
    C'est un protocole Internet, un RFC raconte comment çà fonctionne (et accessoirement à quoi sert le PING)...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Merci pour ta réponse, je suis en train de lire le document que tu m'as passé, mais le truc c'est que j'atteint bien mon wait1 mais pas mon wait2 donc le problème doit venir de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    mais lorsque j'écris cette ligne dans l'idle elle fonctionne sans problème...
    [EDIT]Par contre si je supprime le premier input (wait1) j'arrive bien au (wait2) mais pas au wait3...Donc en enlevant les input je me suis rendu compte que levrai probleme vient du irc.connect()qui me renvoi une erreur 10061

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Java Ou Javapas Voir le message
    [EDIT]Par contre si je supprime le premier input (wait1) j'arrive bien au (wait2)...
    Je suppose que vous savez qu'"input" attend que l'utilisateur entre une ligne terminée par <Enter> ou <CR>...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Oui bien sur, j'appuie sur entrée a chaque fois^^ et c'est a ce moment que la console disparaît.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Java Ou Javapas Voir le message
    Oui bien sur, j'appuie sur entrée a chaque fois^^ et c'est a ce moment que la console disparaît.
    La "console" disparaît parce que le programme se termine.
    Ca serait bien de passer un peu de temps à essayer de comprendre ce qu'il se passe suivant la façon dont vous lancez vos programmes... car on n'est pas derrière vous pour voir ce que vous faites.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    La "console" disparaît parce que le programme se termine.
    Ben oui mais le programme n'est pas sensé s’arrêter après mon premier input, si ? parce que y en a plusieurs autres (des input) dans la suite de mon programme.

  8. #8
    Membre averti Avatar de zancrows
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2016
    Messages : 155
    Points : 346
    Points
    346
    Par défaut
    le problème vient peut etre du fait que quand tu réussi ce challenge (oui oui je sais d'ou il vient) et que le résultat arrive cela lève une exception ( de mémoire ) et du coup ca ferme ta fenetre

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Salut, oui^^ c'est mon premier challenge, le truc c'est que je me suis pas encore connecté au bot à ce moment la (le premier input passe bien mais pas le deuxième), il me met cette erreur la pour mes input :
    Traceback (most recent call last):
    File "<pyshell#7>", line 1, in <module>
    input('wait')
    File "<string>", line 0

    ^
    SyntaxError: unexpected EOF while parsing
    [EDIT] et j'ai cette erreur la avec irc.connect :
    Traceback (most recent call last):
    File "<pyshell#9>", line 1, in <module>
    irc.connect((server, 6667))
    File "C:\Python27\lib\socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
    error: [Errno 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Vous avez mentionné utiliser Python3 (le tag en début du titre ne se met pas tout seul) alors que vous utiliser Python 2.7 pour lequel "input" est une instruction un peu spéciale. Utilisez raw_input à la place.
    Et l'erreur "[Errno 10061] Aucune connexion n’a pu être établie" car l’ordinateur cible l’a expressément refusée" dit que vous avez un parefeu qui vous empêche d'ouvrir une connexion sur ce port là.
    Cherchez sur internet comment corriger cela.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Vous avez mentionné utiliser Python3 (le tag en début du titre ne se met pas tout seul) alors que vous utiliser Python 2.7
    pas faux, en fait je code en python 3 sur mon pc perso, mais je viens de me rendre compte que le pc sur lequel je suis est en effet en 2.7

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Java Ou Javapas Voir le message
    pas faux, en fait je code en python 3 sur mon pc perso, mais je viens de me rendre compte que le pc sur lequel je suis est en effet en 2.7
    Avant de vous lancer à coder, çà serait bien de prendre quelques repères, histoire que vous ayez un peu plus confiance quant au fonctionnement de certaines constructions en regardant ce qu'il se passe dans les différents environnements que vous pouvez utiliser.
    Ce boulot là on ne peut pas le faire pour vous et poster des informations pertinentes quant au problème à résoudre est quand même le minimum lorsqu'on demande de l'aide.
    Bon courage.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Développeur en alternance
    Inscrit en
    Décembre 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur en alternance
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 112
    Points : 29
    Points
    29
    Par défaut
    Bon ben j'arrive à me connecter au bot. J'ai rajouter les règles a mon pare feu et c'est nickel. Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/07/2008, 02h21
  2. bot IRC: posix threads et autres remarques
    Par keikoz dans le forum Réseau
    Réponses: 6
    Dernier message: 19/11/2006, 00h52
  3. Bot irc, questions !
    Par Fabouney dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 02/08/2006, 11h28
  4. bot irc: problème d'affichage et d'envoie
    Par alceste dans le forum C++
    Réponses: 21
    Dernier message: 21/06/2006, 14h47
  5. Creation d'un bot IRC
    Par kedare dans le forum Bibliothèques tierces
    Réponses: 2
    Dernier message: 28/11/2005, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo