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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    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 714
    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
    Membre confirmé
    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
    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
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    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 714
    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
    Membre confirmé
    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
    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
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 714
    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 714
    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

+ 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