Advertisement
Guest User

Twitch Chat irc

a guest
Dec 20th, 2018
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.76 KB | None | 0 0
  1. ; Dillon Cain
  2. ; dcain
  3.  
  4.  
  5. import socket
  6. import threading
  7.  
  8.  
  9. SERVER = "irc.twitch.tv"
  10. PORT = 6667
  11. PASS = "oauth:fill in here"
  12. BOT = "TwitchBot"
  13. CHANNEL = "channel name here"
  14. OWNER = "channel name here"
  15. message = ""
  16. irc = socket.socket()
  17. irc.connect((SERVER, PORT))
  18. irc.send((  "PASS " + PASS + "\n"
  19.             "NICK " + BOT + "\n" +
  20.             "JOIN #" + CHANNEL + "\n").encode())
  21.  
  22.  
  23.  
  24. def twitch():
  25.     def joinchat():
  26.         Loading = True
  27.         while Loading:
  28.             readbuffer_join = irc.recv(1024)
  29.             readbuffer_join = readbuffer_join.decode()
  30.             for line in readbuffer_join.split("\n")[0:-1]:
  31.                 print(line)
  32.                 Loading = loadingComplete(line)
  33.     def loadingComplete(line):
  34.         if ("End of /NAMES list" in line):
  35.             print("Bot has joined " + CHANNEL + "'s Channel!")
  36.             return False
  37.         else:
  38.             return True
  39.     def sendMessage(irc, message):
  40.         messageTemp = "PRIVMSG #" + CHANNEL + " :" + message
  41.         irc.send((messageTemp + "\n").encode())
  42.     def getUser(line):
  43.         seperate = line.split(":", 2)
  44.         user = seperate[1].split("!" , 1)[0]
  45.         return user
  46.     def getMessage(line):
  47.         global message
  48.         try:
  49.             message = (line.split(":",2))[2]
  50.         except:
  51.             message = ""
  52.         return message
  53.     def Console(line):
  54.         if "PRIVMSG" in line:
  55.             return False
  56.         else:
  57.             return True
  58.  
  59.  
  60.     joinchat()
  61.  
  62.     while True:
  63.         try:
  64.             readbuffer = irc.recv(1024).decode()
  65.         except:
  66.             readbuffer = ""
  67.         for line in readbuffer.split("\r\n"):
  68.             if line == "":
  69.                 continue
  70.             elif "PING" in line and Console(line):
  71.                 msgg = "PONG tmi.twitch.tv\r\n".encode()
  72.                 irc.send(msgg)
  73.                 print(msgg)
  74.                 continue
  75.             else:
  76.                 print(line)
  77.                 user = getUser(line)
  78.                 message = getMessage(line)
  79.                 print(user + " : " + message)
  80. if __name__ =='__main__':
  81.     t1 = threading.Thread(target = twitch)
  82.     t1. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement