Guest User

Untitled

a guest
Jan 19th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.21 KB | None | 0 0
  1. import socket
  2. import random
  3.  
  4. chan = '#voxanon'
  5. nick = ''
  6. ident = ''
  7. password = ''
  8. server = 'irc.voxanon.net'
  9.  
  10. ircsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  11. ircsock.connect((server, 6667))
  12. ircsock.send('USER '+ nick +' '+ nick +' '+ password +' :'+ ident+'\r\n')
  13. ircsock.send('NICK '+ nick +'\n')
  14. ircsock.send('JOIN '+ chan +'\n')
  15.  
  16. def parsemsg(msg):
  17.     nick = ircmsg.split('!')[0][1:]
  18.     channel = ircmsg.split(' PRIVMSG ')[-1].split(' :')[0]
  19.     complete = ircmsg[1:].split(':',1)
  20.     msgpart = complete[1]
  21.  
  22.     if nick == '':  #the bot owner's nick
  23.         cmd = msgpart.split(' ')
  24.     if ircmsg.find('KICK') != -1:
  25.         ircsock.send('JOIN '+ chan +'\r\n')
  26.     if cmd[0] == '!commands':
  27.         ircsock.send('PRIVMSG %s :!kick\r\n' % (channel))
  28.         ircsock.send('PRIVMSG %s :!join #channel\r\n' % (channel))
  29.         ircsock.send('PRIVMSG %s :!part #channel\r\n' % (channel))
  30.         ircsock.send('PRIVMSG %s :!op <who>\r\n' % (channel))
  31.         ircsock.send('PRIVMSG %s :!deop <who>\r\n' % (channel))
  32.         ircsock.send('PRIVMSG %s :!voice <who>\r\n' % (channel))
  33.         ircsock.send('PRIVMSG %s :!devoice <who>\r\n' % (channel))
  34.         ircsock.send('PRIVMSG %s :!invite <who>\r\n' % (channel))
  35.         ircsock.send('PRIVMSG %s :!topic <what>\r\n' % (channel))
  36. #=======!8BALL=======#
  37.     if ircmsg.find('!8ball') != -1:
  38.         n = random.randint(1, 7)
  39.         if n == 1:
  40.             ircsock.send('PRIVMSG %s :The answer lies in your heart\r\n' % (channel))
  41.         elif n == 2:
  42.             ircsock.send('PRIVMSG %s :I do not know\r\n' % (channel))
  43.         elif n == 3:
  44.             ircsock.send('PRIVMSG %s :Almost certainly\r\n' % (channel))
  45.         elif n == 4:
  46.             ircsock.send('PRIVMSG %s :No\r\n' % (channel))
  47.         elif n == 5:
  48.             ircsock.send('PRIVMSG %s :Why do you need to ask?\r\n' % (channel))
  49.         elif n == 6:
  50.             ircsock.send('PRIVMSG %s :Go away. I do not wish to answer at this time.\r\n' % (channel))
  51.         elif n == 7:
  52.             ircsock.send('PRIVMSG %s :Time will only tell\r\n' % (channel))
  53. #=======MASTER COMMANDS=======#
  54.     if cmd[0] == '!kick':
  55.         ircsock.send('KICK  %s %s\r\n' % (channel, cmd[1]))
  56.     if cmd[0] == '!join':
  57.         ircsock.send('JOIN %s\r\n' % (cmd[1]))
  58.     if cmd[0] == '!part':
  59.         ircsock.send('PART %s\r\n' % (cmd[1]))
  60.     if cmd[0] == '!op':
  61.         ircsock.send('MODE %s +o %\r\n' % (channel, cmd[1]))
  62.     if cmd[0] == '!deop':
  63.         ircsock.send('MODE %s -o %\r\n' % (channel, cmd[1]))
  64.     if cmd[0] == '!voice':
  65.         ircsock.send('MODE %s +v %\r\n' % (channel, cmd[1]))
  66.     if cmd[0] == '!devoice':
  67.         ircsock.send('MODE %s -v %\r\n' % (channel, cmd[1]))
  68.     if cmd[0] == '!invite':
  69.         ircsock.send('INVITE %s %s\r\n' % (cmd[1], channel))
  70.     if cmd[0] == '!topic':
  71.         ircsock.send('TOPIC %s %s\r\n' % (channel, cmd[1]))
  72.  
  73. while 1:
  74.     ircmsg = ircsock.recv(4096)
  75.     print(ircmsg)
  76.     if ircmsg.find('Global!services@voxanon.net NOTICE') !=-1:
  77.         ircsock.send('JOIN '+ chan +'\n')
  78.     if ircmsg.find(' PRIVMSG ')!=-1:
  79.         parsemsg(ircmsg)
  80.         ircmsg = ircmsg.strip('\r\n')
  81.     if ircmsg.find('PING') != -1:
  82.         ircsock.send('PONG :pingis\r\n')
Add Comment
Please, Sign In to add comment