Guest User

Chat Bot

a guest
Feb 12th, 2018
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.89 KB | None | 0 0
  1. import socket
  2.  
  3. SERVER = "irc.chat.twitch.tv"
  4. PORT = 6667
  5. PASS = "oauth:rhlqi8ev45iv76jukmgwu7hnz9pybv"
  6. BOT = "barbourshop4_bot"
  7. CHANNEL = "barbourshop4"
  8. OWNER = "barbourshop4"
  9.  
  10. def sendMessage(s, message):
  11.     messageTemp = "PRIVMSG #" + CHANNEL + " :" + message
  12.     s.send((messageTemp + "\r\n").encode())
  13.     print("Sent: " + messageTemp)
  14.    
  15. def getUser(line):
  16.     separate = line.split(":", 2)
  17.     user = separate[1].split("!", 1)[0]
  18.     return user
  19. def getMessage(line):
  20.     separate = line.split(":", 2)
  21.     message = separate[2]
  22.     return message
  23.    
  24. def joinchat():
  25.     readbuffer_join = "".encode()
  26.     Loading = True
  27.     while Loading:
  28.         readbuffer_join = s.recv(1024)
  29.         readbuffer_join = readbuffer_join.decode()
  30.         temp = readbuffer_join.split("\n")
  31.         readbuffer_join = readbuffer_join.encode()
  32.         readbuffer_join = temp.pop()
  33.         for line in temp:
  34.             Loading = loadingCompleted(line)
  35.     sendMessage(s, "Chat room joined!")
  36.     print("Bot has joined " + CHANNEL + " Channel!")
  37.    
  38. def loadingCompleted(line):
  39.     if ("End of /NAMES list" in line):
  40.         return False
  41.     else:
  42.         return True
  43.        
  44. s_prep = socket.socket()
  45. s_prep.connect((SERVER, PORT))
  46. s_prep.send(("PASS " + PASS + "\r\n").encode())
  47. s_prep.send(("NICK " + BOT + "\r\n").encode())
  48. s_prep.send(("JOIN #" + CHANNEL + "\r\n").encode())
  49. s = s_prep
  50. joinchat()
  51. readbuffer = ""
  52.  
  53. def Console(line):
  54.     if "PRIVMSG" in line:
  55.         return False
  56.     else:
  57.         return True
  58.        
  59. while True:
  60.     try:
  61.         readbuffer = s.rec(1024)
  62.         readbuffer = readbuffer.decode()
  63.         temp = readbuffer.split("\n")
  64.         readbuffer = readbuffer.encode()
  65.         readbuffer = temp.pop()
  66.     except:
  67.         temp = ""
  68.     for line in temp:
  69.         print(line)
  70.         if line == "":
  71.             break
  72.         if "PING" in line and Console(line):
  73.             msgg = "PONG tmi.chat.twitch.tv\r\n".encode()
  74.             s.send(msgg)
  75.             print(msgg)
  76.             break
  77.         user = getUser(line)
  78.         message = getMessage(line)
  79.         print(user + " > " + message)
  80.         PMSG = "/w " + user + " "
Add Comment
Please, Sign In to add comment