Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class pyTrent:
- def __init__(self, server, nick, salon="", port=6667):
- self.appname = "pyTrent"
- self.appversion = "version 0.3, en Python 3 !"
- self.connectionData = {
- "server": server
- ,"salon": salon
- ,"nick": nick
- ,"port": port
- }
- self.log = bytes()
- self._irc_connect()
- if salon != "":
- self._send("JOIN %s" % salon)
- self._ecoute()
- def _irc_connect(self):
- import socket
- server, nick, port = (
- self.connectionData["server"]
- ,self.connectionData["nick"]
- ,self.connectionData["port"]
- )
- self.socket = socket.socket()
- self.socket.connect((server, port))
- self._send("NICK %s" % nick)
- self._send("USER %s %s bla :%s" % (nick, server, nick))
- def _send(self, content):
- if self.socket:
- self.socket.send(bytes(content+"\r\n", "utf-8"))
- def _is(self, content, search, retour=bool()):
- if content.find(search, 0, len(search)) != -1:
- if retour == str():
- return content[len(search):]
- else:
- return True
- else:
- return False
- def _ecoute(self):
- import re
- salon = self.connectionData["salon"]
- while True:
- try:
- try:
- recv = str(self.socket.recv(1024), "utf-8")
- except:
- recv = str(self.socket.recv(1024))
- recv = recv.split("\r\n")
- m = re.search("^\:([a-zA-Z\-]+)!([a-zA-Z_]+)@.+PRIVMSG\s(#[a-zA-Z-]+)\s?:(.+)$", recv[0])
- if type(m) != type(None):
- response = m.group(4)
- print("> %s a dit: %s" % (m.group(1), response))
- if response == "!stop":
- self._send("QUIT Adieu.")
- import sys
- sys.exit()
- elif response == "!ping":
- self._send("PRIVMSG %s PONG" % salon)
- elif response == "!version":
- self._send("PRIVMSG %s Je suis %s %s" % (salon, self.appname, self.appversion))
- else:
- if recv[0].find("PING", 0, 4) != -1:
- print("> PING")
- self._send("PING")
- else:
- print ("? "+recv[0])
- except KeyboardInterrupt:
- print("Interruption clavier.")
- try:
- rep = input("Que voulez-vous faire ?\n")
- rep = self._is(rep, "!addmsg ", str())
- if rep:
- self._send("PRIVMSG %s %s" % (self.connectionData["salon"], rep))
- except KeyboardInterrupt:
- print("STOOOOOOOOOOOOP")
- import sys
- sys.exit()
- break
- instance = pyTrent("irc.opera.com", "PyTrent", "#opera-fr")
Add Comment
Please, Sign In to add comment