rendered paste body# -----------------------------------------------------------------
# Libraries.
# -----------------------------------------------------------------
import sys
import socket
import string
import time
import datetime
# -----------------------------------------------------------------
# Bot settings.
# -----------------------------------------------------------------
HOST = 'irc.irc-hispano.org' # Irc server.
PORT = 6667 # Irc port.
NICK = 'BotNick' # Bot nickname.
IDENT = 'BotIdent' # Bot ident.
RNAME = 'BotName' # Bot realname.
OWNER = 'BotOwner' # Owner nick.
CHAN = '#botchannel' # Default channel.
# -----------------------------------------------------------------
# Connection.
# -----------------------------------------------------------------
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,RNAME))
# -----------------------------------------------------------------
# Parse message.
# -----------------------------------------------------------------
def ircParse(msg):
# Get command.
cmd = string.join(msg[3:]).split(' ')
cmd = cmd[0]
# Get command sender.
nick = msg[0].split('!')
nick = nick[0].split(':')
sender = nick[1]
# Get command argv if exists.
argv = ""
if(len(msg) >= 5):
argv = msg[4]
# Get channel where the command was called.
channel = msg[2]
# Commands.
if cmd ==':.meop': irc.send('MODE ' + channel +' +o '+ sender + '\r\n')
if cmd ==':.medeop': irc.send('MODE ' + channel +' -o '+ sender + '\r\n')
if cmd ==':.mevoice': irc.send('MODE ' + channel +' +v '+ sender + '\r\n')
if cmd ==':.medevoice': irc.send('MODE ' + channel +' -v '+ sender + '\r\n')
if cmd ==':.op': irc.send('MODE ' + channel +' +o '+ argv + '\r\n')
if cmd ==':.deop': irc.send('MODE ' + channel +' -o '+ argv + '\r\n')
if cmd ==':.voice': irc.send('MODE ' + channel +' +v '+ argv + '\r\n')
if cmd ==':.devoice': irc.send('MODE ' + channel +' -v '+ argv + '\r\n')
if cmd ==':.topic': irc.send('TOPIC ' + channel +' '+ argv + '\r\n')
# -----------------------------------------------------------------
# Main loop.
# -----------------------------------------------------------------
loop = ""
while 1:
loop = loop + irc.recv(1024)
raw = string.split(loop, "\n")
loop = raw.pop()
for ircMessage in raw:
ircMessage = string.split(string.rstrip(ircMessage))
print ircMessage
if(ircMessage[1]=='PRIVMSG'):
ircParse(ircMessage)
if(ircMessage[1]=='376'):
irc.send('JOIN ' + CHAN + ' \r\n')
if(ircMessage[0]=="PING"):
irc.send("PONG %s\r\n" % ircMessage[1])
print datetime.datetime.now() , " :: pong sent"