rendered paste bodyI ADD YOUR NAME TO THE SUPERUSERLIST. Make a new nick, register, and give a name.
import socket
from time import strftime, gmtime
mySock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mySock.connect(('irc.freenode.net', 6667));
read = str(mySock.recv( 500 ))
time = strftime("%a, %d %b %Y %H:%M:%S", gmtime())
channel = '#mopars'
superuser = ['newbiehacker']
mySock.send( 'PASS passhere\n' )
mySock.send( 'USER namehere * Slave\n' )
mySock.send( 'NICK namehere\n' )
mySock.send( 'JOIN ' + channel + '\n' )
mySock.send( 'PRIVMSG ' + channel + ' :EhPrettyEasy is my god, !cmds for commands. ''\n' )
def parseString(string):
ex = int(string.find( '!' ))
sender = string[1:ex]
ex = int(string.find( '@' )) + 1
ex2 = int(string.find( ' ' ))
host = string[ex:ex2]
ex1 = string.find( ' ', ex2 + 1) + 1
ex3 = string.find( ' ', ex1)
channel = string[ex1:ex3]
returned = { "sender":sender, "host":host, "channel":channel }
return returned
def parseTime(daTime):
tarray = daTime.split(' ')
tarray = tarray[4].split(':')
hours = int(tarray[0]) % 12
minutes = int(tarray[1])
seconds = int(tarray[2])
toReturn = { 'hours':hours, 'minutes':minutes, 'seconds':seconds }
return toReturn
def parseCommand(dict, string):
if string.startswith('!say'):
toSay = string[5:]
mySock.send('PRIVMSG ' + dict['channel'] + ' :[' + dict['sender'] + ']: ' + toSay + '\n')
if string.startswith('!op') and dict['sender'] in superuser:
toOp = string.split(' ')
if len(toOp) > 1:
mySock.send("MODE " + dict['channel'] + ' +o ' +toOp[1]+ '\n')
else:
mySock.send("MODE " + dict['channel'] + ' +o ' +dict['sender']+ '\n')
if string.startswith('!deop') and dict['sender'] in superuser:
toDeop = string.split(' ')
if len(toDeop) > 1:
mySock.send("MODE " + dict['channel'] + ' -o ' +toDeop[1]+ '\n')
else:
mySock.send("MODE " + dict['channel'] + ' -o ' +dict['sender']+ '\n')
if string.startswith('!ban') and dict['sender'] in superuser:
toBan = string[5:]
mySock.send('MODE ' + dict['channel'] + ' +b ' +toBan+ '\n')
if string.startswith('!unban') and dict['sender'] in superuser:
toBan = string[7:]
mySock.send('MODE ' + dict['channel'] + ' -b ' +toBan+ '\n')
if string.startswith('!voice') and dict['sender'] in superuser:
toVoice = string[7:]
mySock.send("MODE " + dict['channel'] + ' +v ' +toVoice+ '\n')
if string.startswith('!devoice') and dict['sender'] in superuser:
toDeVoice = string[9:]
mySock.send("MODE " + dict['channel'] + ' -v ' +toDeVoice+ '\n')
if string.startswith('!kick') and dict['sender'] in superuser:
toKick = string[6:]
mySock.send("KICK " + dict['channel'] + ' ' +toKick+ '\n')
if string.startswith('!kickban') and dict['sender'] in superuser:
toKickBan = string[9:]
mySock.send("MODE " + dict['channel'] + ' +b '+toKickBan+' \n')
mySock.send('KICK ' + dict['channel'] + ' '+toKickBan+'' ' \n')
if string.startswith('!op self') and dict['sender'] in superuser:
toOpSelf = string[8:]
mySock.send('CS op ' + dict['channel'] +' Py[Bot]' '\n')
if string.startswith('!deop self') and dict['sender'] in superuser:
toOpSelf = string[10:]
mySock.send("MODE " + dict['channel'] + ' -o ' ' Py[Bot]' '\n')
if string.startswith('!cmds') and dict['sender'] in superuser:
toCmds = string[5:]
mySock.send('PRIVMSG ' + dict["channel"] + ' :!op !deop !ban !unban !voice !devoice !kick !default' '\n')
mySock.send('PRIVMSG ' + dict['channel'] + ' :!kickban !about !join !part !moderate !unmoderate' '\n')
mySock.send('PRIVMSG ' + dict['channel'] + ' :!op self !deop self !invite on !invite off' '\n')
if string.startswith('!moderate') and dict['sender'] in superuser:
toModerate = string[10:]
mySock.send('MODE ' + dict["channel"] + ' +m ''\n')
if string.startswith('!unmoderate') and dict['sender'] in superuser:
toUnModerate = string[12:]
mySock.send('MODE ' + dict["channel"] + ' -m ''\n')
if string.startswith('!invite on') and dict['sender'] in superuser:
toUnModerate = string[11:]
mySock.send('MODE ' + dict["channel"] + ' +i ''\n')
if string.startswith('!invite off') and dict['sender'] in superuser:
toUnModerate = string[12:]
mySock.send('MODE ' + dict["channel"] + ' -i ''\n')
if string.startswith('!default') and dict['sender'] in superuser:
toUnModerate = string[9:]
mySock.send('MODE ' + dict["channel"] + ' +tnc ''\n')
if string.startswith('!join') and dict['sender'] in superuser:
toJoin = string[6:]
mySock.send('JOIN '+toJoin+' \n')
if string.startswith('!part') and dict['sender'] in superuser:
toPart = string[6:]
mySock.send('PART '+toPart+' \n')
if string.startswith('!noob'):
toNoob = string[6:]
mySock.send('PRIVMSG ' + dict['channel'] + ' :According to ' + dict['sender'] + ' The biggest noob in the world is ' + toNoob + '\n')
if string.startswith('!pimp'):
toPimp = string[6:]
mySock.send('PRIVMSG ' + dict['channel'] + ' :According to ' + dict['sender'] + ', There is this real pimping mother fucker called ' +toPimp+ ' ''\n')
if string.startswith('!about'):
toGoogle = string[7:]
mySock.send( 'PRIVMSG ' + dict['channel'] + ' :Project[Py] -- Project Python, a IRC Bot designed in Python to manage your channels with set commands. \n' )
if string.startswith('!starting time'):
daTime = parseTime(time)
print daTime
mySock.send('PRIVMSG ' + dict['channel'] + " :I started running at " + time + '\n')
print 'hours = ' + str(daTime['hours'])
print 'minutes = ' + str(daTime['minutes'])
print 'seconds = ' + str(daTime['seconds'])
if string.startswith('!Dancing teletubies') and dict['sender'] in superuser:
toTeletubies = string[19:]
mySock.send('PRIVMSG ' + dict['channel'] + ' :http://www.youtube.com/watch?v=j-nL1rTxrqM' '\n')
def readFromSocket():
return str(mySock.recv( 500 ))
while read is not None:
ppl = { "Bob":"Haxxer of ur base pls" }
msg = read
dict = parseString(read)
if read.startswith( ':' ):
colon = read.find(':', 1)
msg = read[colon + 1:]
print read
print '[' + dict["channel"] + '] ' + dict["sender"] + ': ' + msg
found = read.find( 'Hello' )
if msg.startswith( '!' ):
parseCommand(dict, msg)
if msg.find(' is ') > -1:
if msg.find('who is') == -1:
split = msg.split(' ')
if split[1] == 'is':
_is = msg.find(' is ')
heis = msg[_is + 4:]
name = split[0]
print name, ":", heis
ppl[name] = heis
mySock.send("PRIVMSG " + dict["channel"] + " :From now on, " + name + " is " + heis + '\n')
if msg.startswith('who is'):
split = msg.split(' ')
name = split[2]
nname = name[0:-2]
thekeys = ppl.keys()
r = 0
desc = None
for key in thekeys:
if key == nname:
desc = ppl[nname]
break
else:
continue
if desc is not None:
print ppl
mySock.send('PRIVMSG ' + dict['channel'] + ' :' + nname + ' is ' + desc + '\n')
else:
mySock.send('PRIVMSG ' + dict['channel'] + ' : I don\' know who ' + nname + ' is.\n')
read = readFromSocket()