• STATISTIQUES
  • Il y a eu un total de 0 membres et 40438 visiteurs sur le site dans les dernières 24h pour un total de 40 438 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[PYTHON] un bot IRC basique
12-06-2016, 22h26 (Modification du message : 12-06-2016, 22h27 par darcosion.)
Message : #1
darcosion Hors ligne
Newbie
*



Messages : 21
Sujets : 3
Points: 14
Inscription : Oct 2013
[PYTHON] un bot IRC basique
Coucou

j'ai codé récemment un petit bot python juste pour voir comment fonctionne le protocole (plutôt sympa et simple d'ailleurs) et je me suis dis que ça pourrais vous plaire, alors je le partage ici, si le coeur vous en dis de le pimper pour en faire un bot pour votre IRC Wink

Code :
#!/usr/bin/env python3

import sys
import socket
import socks
import string
import bs4
from urllib import request as req
import BeautifulSoup as bs4
import re

HOST = "tonirc.gouv.fr"
PORT = 6667

NICK = "tonbot"
IDENT = "youhou"
REALNAME = "tonbotonbot"
MASTER = "darcosion"

readbuffer = ""

s=socket.socket( )
s.connect((HOST, PORT))

s.send(bytes("NICK %s\r\n" % NICK, "UTF-8"))
s.send(bytes("USER %s %s bla :%s\r\n" % (IDENT, HOST, REALNAME), "UTF-8"))

def irc_join(chan):
    s.send(bytes("JOIN #"+chan+"\r\n", "UTF-8"));

def irc_quit(chan):
    s.send(bytes("PART #"+chan+"\r\n", "UTF-8"));

irc_join("tonchan")
s.send(bytes("PRIVMSG %s :Bonjour Master\r\n" % MASTER, "UTF-8"))
while 1:
    readbuffer = readbuffer+s.recv(1024).decode("UTF-8")
    temp = str.split(readbuffer, "\n")
    readbuffer=temp.pop( )

    for line in temp:
        line = str.rstrip(line)
        line = str.split(line)

        if(line[0] == "PING"):
            s.send(bytes("PONG %s\r\n" % line[1], "UTF-8"))
        if(line[1] == "PRIVMSG"):
            sender = ""
            if(line[2][0] == '#'):
                sender = line[2]
            else:
                for char in line[0]:
                    if(char == "!"):
                        break
                    if(char != ":"):
                        sender += char
            size = len(line)
            i = 3
            message = ""
            while(i < size):
                message += line[i] + " "
                i = i + 1
            message = message.lstrip(":")
            #ajouter ici le code de lecture des messages
            youtubeVideo = message[message.find("https://www.youtube.com/watch?v="):message.find("https://www.youtube.com/watch?v=")+44]
            
            if(youtubeVideo[:4] == "http"):
                try:
                    result = lien.open(youtubeVideo)
                except:
                    break
                soup = bs4.BeautifulSoup(result, "lxml")
                titre = soup.findAll(class_ = "watch-title" )
                renvoie = ""
                for e in titre:
                    renvoie += e['title']
                #récupère le contenu et envoie les données
                s.send(bytes("PRIVMSG %s :%s \r\n" % (sender, renvoie), "UTF-8"))
                break
                
        for index, i in enumerate(line):
            print(line[index])

edit : pour le moment, sa seule fonctionnalité est de récupérer des liens youtube et d'en indiquer le titre de vidéo. Wink
+1 (3) -1 (0) Répondre
13-06-2016, 20h40
Message : #2
Yttrium Hors ligne
Membre actif
*



Messages : 106
Sujets : 14
Points: 48
Inscription : Jul 2012
RE: [PYTHON] un bot IRC basique
Cool, merci beaucoup, maintenant on te laisse 2 jours pour implémenter tout le protocole décrit dans la RFC1459 :p

Nan plus sérieusement, c'est vraiment intéressant Wink
BufferoverfloW

Всё минется, одна правда останется
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Python]Situer mon niveau. InforMods 19 1,047 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [python] ANBU ::: TCP Session Hunter St0rn 2 242 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 138 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 480 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 372 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 170 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 197 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 132 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 470 15-08-2014, 20h26
Dernier message: sakiir
  Python : QuickBIn octarin 1 148 13-08-2014, 19h05
Dernier message: thxer

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut