Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- import socket
- from time import sleep
- from datetime import datetime
- #Settings
- NICK = "BOTNAME"
- PASS = "BOTPASS"
- #Advanced settings
- HOST = "irc.twitch.tv"
- PORT = 6667
- CHAN = "#chrlsO"
- RATE = 5 # fractions of a second (1/rate)
- CHAT_MSG = re.compile(r"^:\w+!\w+@\w+\.tmi\.twitch\.tv PRIVMSG #\w+ :")
- def chat(sock, msg):
- sock.send(("PRIVMSG %s :%s\r\n" % (CHAN, msg)).encode("utf-8"))
- print("%s: %s" % (NICK, msg))
- def is_number(s):
- try:
- int(s)
- return True
- except ValueError:
- return False
- def check_points(sock, user, msg):
- if(msg[:8] == '!cashout'):
- f = open('cashouts.txt', 'a')
- f.write(str(datetime.now().date()) + " " + user + " " + msg[8:] + "\n")
- f.close()
- chat(sock, user + ", cashout request received.")
- s = socket.socket()
- s.connect((HOST, PORT))
- s.send("PASS {}\r\n".format(PASS).encode("utf-8"))
- s.send("NICK {}\r\n".format(NICK).encode("utf-8"))
- s.send("JOIN {}\r\n".format(CHAN).encode("utf-8"))
- while True:
- response = s.recv(1024).decode("utf-8")
- if response == "PING :tmi.twitch.tv\r\n":
- s.send("PONG :tmi.twitch.tv\r\n".encode("utf-8"))
- else:
- username = re.search(r"\w+", response).group(0) # return the entire match
- message = CHAT_MSG.sub("", response)
- print(username + ": " + message)
- check_points(s, username, message)
- sleep(1 / RATE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement