Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket, string, datetime, random, mysql.connector as mariadb, os
- # some user data, change as per your taste
- # SERVER = 'chat.freenode.net'
- SERVER = 'irc.swiftirc.net'
- PORT = 6667
- NICKNAME = 'geszt'
- PASS = 'f'
- # CHANNEL = '##linux'
- CHANNEL = '#unmod'
- # open a socket to handle the connection
- IRC = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- # open a connection with the server
- def irc_conn():
- IRC.connect((SERVER, PORT))
- # simple function to send data through the socket
- def send_data(command):
- IRC.send(command + '\n')
- # join the channel
- def join(channel):
- send_data("JOIN %s" % channel)
- # send login data (customizable)
- def login(nickname, username='tezsting', password = PASS, realname='madison', hostname='testifng', servername='teszting'):
- send_data("USER %s %s %s %s" % (username, hostname, servername, realname))
- send_data("NICK " + nickname)
- irc_conn()
- login(NICKNAME)
- join(CHANNEL)
- x = 0
- # MariaDB variables
- mdbDatabase = 'orgdata'
- mdbUser = 'orgbot'
- mdbPass = 'botpass'
- mdbTable = 'logs'
- mdbR1 = 'irc_user'
- mdbR2 = 'log_text'
- mdbIP = '10.0.100.27'
- mdbPort = '3306'
- # Connecting to mariadb
- dbconnect = mariadb.connect(user=mdbUser, password=mdbPass, database=mdbDatabase, host=mdbIP, port=mdbPort)
- dbcursor = dbconnect.cursor(buffered=True)
- while (1):
- buffer = IRC.recv(1024)
- msg = string.split(buffer)
- if msg[0] == "PING": #check if server have sent ping command
- send_data("PONG %s" % msg[1]) #answer with pong as per RFC 1459
- if msg[1] == 'PRIVMSG':
- sep = '!'
- nickstart = msg[0].split(sep, 1)[0]
- nick = nickstart[1:]
- time = datetime.datetime.now()
- del msg[:3]
- msg[0] = msg[0][1:]
- msgstr = " ".join(str(e) for e in msg)
- print 'At', time, ',', nick, 'said:', msgstr
- decider = random.randrange(1, 10)
- if decider > 3:
- #subprocess.call(['powershell.exe', 'C:\Scripts\orgmail.ps1', '-ircuser', nick, '-ircmessage', msgstr])
- print "I'm totally emailing right now"
- cmdtext = ('C:\\Scripts\\orgmail.ps1 -ircuser %s -ircmessage %s') % (nick, msgstr)
- os.system(cmdtext)
- elif decider > 2:
- print "Writing to database"
- writestring = ("INSERT INTO %s (%s, %s) VALUES (\"%s\", \"%s\");") % (mdbTable, mdbR1, mdbR2, nick, msgstr)
- print writestring
- dbcursor.execute(writestring)
- dbconnect.commit()
- else:
- print "Reading from database"
- readstring = ("select * from %s;") % (mdbTable)
- dbcursor.execute(readstring)
- dbconnect.commit()
- # f = open('msg.txt', 'a+')
- # filetxt = open('msg.txt', 'a+') #open an arbitrary file to store the messages
- # nick_name = msg[0][:string.find(msg[0],"!")] #if a private message is sent to you catch it
- # message = ' '.join(msg[3:])
- # filetxt.write(string.lstrip(nick_name, ':') + ' -> ' + string.lstrip(message, ':') + '\n') #write to the file
- # filetxt.flush() #don't wait for next message, write it now!
- # filetxt.close()
- # print '\n\n\nfile close\n\n\n\n'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement