Advertisement
Guest User

Chrls0 PointsBot Python

a guest
Apr 25th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. import re
  2. import socket
  3. from time import sleep
  4. from datetime import datetime
  5.  
  6. #Settings
  7. NICK = "BOTNAME"
  8. PASS = "BOTPASS"
  9.  
  10. #Advanced settings
  11. HOST = "irc.twitch.tv"
  12. PORT = 6667
  13. CHAN = "#chrlsO"
  14. RATE = 5 # fractions of a second (1/rate)
  15. CHAT_MSG = re.compile(r"^:\w+!\w+@\w+\.tmi\.twitch\.tv PRIVMSG #\w+ :")
  16.  
  17. def chat(sock, msg):
  18.     sock.send(("PRIVMSG %s :%s\r\n" % (CHAN, msg)).encode("utf-8"))
  19.     print("%s: %s" % (NICK, msg))
  20.  
  21. def is_number(s):
  22.     try:
  23.         int(s)
  24.         return True
  25.     except ValueError:
  26.         return False
  27.        
  28. def check_points(sock, user, msg):
  29.     if(msg[:8] == '!cashout'):
  30.         f = open('cashouts.txt', 'a')
  31.         f.write(str(datetime.now().date()) + " " + user + " " + msg[8:] + "\n")
  32.         f.close()
  33.         chat(sock, user + ", cashout request received.")
  34.  
  35. s = socket.socket()
  36. s.connect((HOST, PORT))
  37. s.send("PASS {}\r\n".format(PASS).encode("utf-8"))
  38. s.send("NICK {}\r\n".format(NICK).encode("utf-8"))
  39. s.send("JOIN {}\r\n".format(CHAN).encode("utf-8"))
  40.  
  41. while True:
  42.     response = s.recv(1024).decode("utf-8")
  43.     if response == "PING :tmi.twitch.tv\r\n":
  44.         s.send("PONG :tmi.twitch.tv\r\n".encode("utf-8"))
  45.     else:
  46.         username = re.search(r"\w+", response).group(0) # return the entire match
  47.         message = CHAT_MSG.sub("", response)
  48.         print(username + ": " + message)
  49.         check_points(s, username, message)
  50.     sleep(1 / RATE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement