Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : bot irc python problème rejoindre channel [ Divers / Débutant(e) ] (Kuby)

mardi 10 juin 2008 à 13:05:15 | bot irc python problème rejoindre channel

Kuby

Bonjour, voila, après avoir un petit peu fouiller sur le net, j'ai reussi a trouver / modifier ceci :
Mais je n'arrive pas à rejoindre de channel... aidez moi plz

#!/usr/bin/env python

import string
import socket

HOST='irc.quakenet.org'
PORT=6667
NICK='cequejeveux'
IDENT='jenesaispas'
REALNAME='jensaisrien'

global OWNER

CHANNEL='#peuimport' #the bot will connect to this channel first

 

IRC=socket.socket( )

IRC.connect((HOST, PORT))

IRC.send("NICK %s\r\n" % NICK)

IRC.send("USER %s %s bla :%s\r\n" % (IDENT, HOST, REALNAME))

IRC.send('JOIN %s\r\n' %CHANNEL) #Join a channel

global mute

mute = 0

 

def sendPrivateMessage(channel, message):#private message send function

    global mute

    if mute == 0:

        IRC.send("PRIVMSG " + channel + " :" + message + "\r\n")

 

 

def ownercommand(CHANNEL, COMMAND, PARAM1, MESSAGE):#commands that only 'admins' can use

    if PARAM1 == "<NULL>":

        if COMMAND == ":!mute":

            global mute

            mute = 1

        if COMMAND == ":!unmute":

            global mute

            mute = 0

    else:

        if COMMAND == ":!leave":

            IRC.send("PART %s\r\n" % PARAM1)

        if COMMAND == ":!join":

            IRC.send("JOIN %s\r\n" % PARAM1)

        if COMMAND == ":!addadmin":

            global OWNER

            OWNER.append(PARAM1)

            sendPrivateMessage(CHANNEL, "you can now control me %s" % PARAM1)

        if COMMAND == ":!adddata":

            data = open("DATA.DATA", "r")

            data.seek(0)

            while 1:

                line = data.readline()

                if not line:

                    file = open("DATA.DATA", "a")

                    file.write("|<>"+PARAM1 +" |||"+MESSAGE.replace("!adddata "+PARAM1,"").replace("\r\n","")+"|||\n")

                    file.close()

                    break

                line = line[:-1]

                if line.find(PARAM1)!=-1:

                    sendPrivateMessage(CHANNEL,"I already have an entry for that keyword and therefore it must be changed manually")

                    break

            data.close()

           

def allcommand(CHANNEL, COMMAND, PARAM1):#commands that anyone can use

    if PARAM1 == "<NULL>":

        if COMMAND == ":!about":

            sendPrivateMessage(CHANNEL,"about what... Idiot")

    else:

        if COMMAND == ":!about":

            data = open("DATA.DATA", "r")

            data.seek(0)

            while 1:

                line = data.readline()

                if not line:

                    sendPrivateMessage(CHANNEL, "I don't know about that")

                    break

                line = line[:-1]

                if line.find("|<>" + PARAM1)!=-1:

                    sendPrivateMessage(CHANNEL,line.split("|||")[1])

                    break

            data.close()

                                 

 

while 1:

    buffer = IRC.recv(1024)

    msg = string.split(buffer)

    talk = buffer.split(" :")

    sender = buffer.split("!") [ 0 ].replace (":", "" )

    msg.append("<NULL>")

    print sender + " " +msg[2] + " :" + talk[1] #output a message that mostly makes sense

    if msg[0] == "PING": #server pings

        IRC.send("PONG %s\r\n" % msg[1])

    if msg [1] == "JOIN" and sender != NICK:

        sendPrivateMessage(msg[2].replace(":",""), "I agree the earth is flat.")

    if msg [1] == "PRIVMSG":

        if msg[2] == NICK: #private message

            if msg[3].startswith(":!"):

                allcommand(sender, msg[3],msg[4])

                if sender in OWNER:

                    ownercommand(sender, msg[3], msg[4], talk[1])

            else:

                sendPrivateMessage( sender, "Don't talk to me %s" %sender )

        else: # message recieved from a channel

            if talk[1].find("LOL WOT")!=-1:

                sendPrivateMessage(msg[2], "%s you are a retard." %sender)

            elif talk[1].find(" hi ")!=-1:

                sendPrivateMessage(msg[2], "hi")

            if  str.lower(talk[1]).find("a")!=-1:

                sendPrivateMessage(msg[2], "you used the letter 'a' in that message %s" %sender)

            if msg[3].startswith(":!"):

                allcommand(msg[2], msg[3],msg[4])

                if sender in OWNER:

                    ownercommand(msg[2], msg[3], msg[4], talk[1])

samedi 12 juillet 2008 à 03:37:11 | Re : bot irc python problème rejoindre channel

xeolin

Est-ce-que ca a marcher le premier coup, et ce n'est que aprés que ca a arréter de marcher ? On appele ca un ban causer par un anti-bot.



Cette discussion est classé dans : data, msg, irc, channel, if


Répondre à ce message

Sujets en rapport avec ce message

Bot IRC [ par maxpeg0705 ] Bonjour,j'aimerai me lancer dans un projet de petit bot IRC Je suis débutant (mais je me débrouille un peu avec les sockets) : j'arrive a me connecter Socket et Threading [ par dabcorp ] Bonjour , J'ai fait un client/serveur socket , mais je me comprend pas les threads ... Je suis obligé de faire une boucle pour relance le programme à restauration data.fs zope [ par rabikisa ] Comment restaurer data.fs dans zope si le tous les fichier sur un serveur quelconque  n'est plus recuperable alors qu'on a pu recuperer son data.fsmer Comment restaurer data.fs dans l' application zope? [ par rabikisa ] Bonjour, J'ai monté un serveur Zope sous Linux et je dois mettre en place une stratégie de sauvegarde. Zope sauvegarde toutes ses configurations, les Projet de bot irc [ par emilrom ] Bonjour, Je cherche un bon codeur en tcl, C, php, python dans le but de crée un bot irc qui doit, par l'intermédiaire de socket, gérer des serveurs de PYTHON ==> PERL [ par Adoc5 ] Salut à toutes et tous, J'ai un code écrit en PYTHON et j'aimerai le convertir pour PERL car les personnes à qui je dois envoyer ce code n'utilisent svp urgent [ par hasna1980 ] salut je suis entrain de faire une view  qui sert a afficher des modules autorises pour un utilisateur donne ,pr certains ca va afficher 1 module pr d tri de fichier [ par mtanfin ] Bonjour;Alors voilà en fait je voudrais trier des fichiers en fonction de leur date de création. en fait le but est de regarder dans chaque fichier si Bot IRC Python ... problème à l'ouverture de la socket [ par tcyrill2 ] Bonjour ici,   Voilà, on m'a filé les bases d'un bot IRC en python. Je sais qu'il fonctionne car j'ai eu l'occaz de le tester avec la personne qui me


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.