• STATISTIQUES
  • Il y a eu un total de 1 membres et 5972 visiteurs sur le site dans les dernières 24h pour un total de 5 973 personnes!


    Membres: 2 458
    Discussions: 3 571
    Messages: 32 817
    Tutoriels: 77
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [EN] Net Force
    Javascript: 9, Java Applets: 6, Cryptography: 16, Exploits: 7, Cracking: 14, Programming: 13, Internet: 15, Steganograph...
    Challenges
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [FR] Developpez.net
    Un forum communautaire qui se veut pour les développeurs en générale. Avec presque 500 000 membr...
    Programmation

  • 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 : 105
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 12,159 10-11-2016, 00h03
Dernier message: ZeR0-@bSoLu
  [python] ANBU ::: TCP Session Hunter St0rn 2 2,616 25-02-2016, 18h45
Dernier message: otherflow
  [Python] Une autre façon de gérer les Virtualenv et Packages thxer 2 2,441 18-01-2016, 12h06
Dernier message: thxer
  [Python] rot script ark 9 5,775 08-03-2015, 00h37
Dernier message: ark
  [Python] Todo Manager ark 5 3,649 03-03-2015, 10h55
Dernier message: ark
  [python] Un décorateur pour inventorier les objets b0fh 1 2,471 04-12-2014, 17h50
Dernier message: thxer
  [python] UPnP Scanner St0rn 2 2,473 29-10-2014, 14h50
Dernier message: St0rn
  [python] Buffer Overflow : EBP et EIP St0rn 0 1,708 25-10-2014, 12h58
Dernier message: St0rn
  [Python] QuickHex thxer 9 5,377 15-08-2014, 20h26
Dernier message: sakiir
  Python : QuickBIn octarin 1 2,060 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