• STATISTIQUES
  • Il y a eu un total de 3 membres et 9340 visiteurs sur le site dans les dernières 24h pour un total de 9 343 personnes!


    Membres: 2 464
    Discussions: 3 572
    Messages: 32 818
    Tutoriels: 77
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [EN] phrack
    Lot's of stuff !
    Hacking

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