by ^4st3r1X^ on Wed Apr 02, 2008 11:39 am
- Code: Select all
#!/usr/bin/python
import socket
import thread
print "\n------------------------------"
print "Python IRC Client by ^4st3r1X^"
print "Versione 8.4.01"
print "------------------------------\n"
server ='irc.azzurra.org'
porta =6667
ID = raw_input("inserisci l'ID: ")
nome = raw_input("inserisci il nome: ")
nick = raw_input("inserisci il nick: ")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((server, porta))
s.send('USER %s python python : %s\r\n' % (ID, nome))
s.send('NICK %s\r\n' % (nick))
data = s.recv(1025)
print data + "\r\n"
print "Connesso\r\n"
join = raw_input("Sei attualmente connesso,ma non sei in nessun canale.Scrivi un canale e premi invio per joinarlo: \r\n")
if join[:1] == "#":
s.send('JOIN %s\r\n' % (join))
print "Hai joinato %s\r\n" % (join)
if join[:1] != "#":
print "Sintassi errata: #canale\r\n"
def scrivi():
while 1:
text = raw_input()
if text.find("/esci") != -1:
s.send("quit "+ text[4:] +"\n")
exit()
elif text.find("/#") != -1:
s.send("join "+ text[1:] +"\n")
elif text.find("/p#") != -1:
s.send("part "+ text[2:] +"\n")
else:
s.send(text + '\r\n' )
thread.start_new_thread(scrivi,())
while True:
data = s.recv(1025)
if data.find ('PING') != -1:
s.send('PONG ' + data.split()[1] + '\r\n')
print data
elif data.find('PRIVMSG') != -1:
nick = data.split('!')[0].replace (':', '')
message = ':'.join(data.split(':')[2:])
destination = ''.join(data.split(':')[:2]).split(' ')[-2]
if destination == nick:
destination = 'PRIVATE'
print '(%s) %s: %s' % (destination, nick, message)
^4st3r1X^