Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- import socket
- import sys
- import time
- import string
- HOST = "irc.twitch.tv"
- PORT = 6667
- NICK = ""
- PASS = ""
- CHAN = ""
- RATE = (20/30) # messages per second
- CHAT_MSG=re.compile(r"^:w+!w+@w+.tmi.twitch.tv PRIVMSG #w+ :")
- def chat(sock, msg):
- sock.send("PRIVMSG #{} :{}".format(cfg.CHAN, msg))
- public = socket.socket()
- public.connect((HOST, PORT))
- public.send("PASS {}rn".format(PASS).encode("utf-8"))
- public.send("NICK {}rn".format(NICK).encode("utf-8"))
- public.send("JOIN {}rn".format(CHAN).encode("utf-8"))
- private = socket.socket()
- private.connect((HOST, PORT))
- private.send("PASS {}rn".format(PASS).encode("utf-8"))
- private.send("NICK {}rn".format(NICK).encode("utf-8"))
- private.send("CAP REQ :twitch.tv/tags twitch.tv/commands {}rn".format(CHAN).encode("utf-8"))
- while True:
- channelResponse = public.recv(1024).decode("utf-8")
- privateResponse = private.recv(1024).decode("utf-8")
- if privateResponse == "PING :tmi.twitch.tvrn":
- private.send("PONG :tmi.twitch.tvrn".encode("utf-8"))
- else:
- privateResponseUsername = re.search(r"w+", privateResponse).group(0) # return the entire match
- privateResponseMessage = CHAT_MSG.sub("", privateResponse)
- print(privateResponseUsername + ": " + privateResponseMessage)
- if channelResponse == "PING :tmi.twitch.tvrn":
- public.send("PONG :tmi.twitch.tvrn".encode("utf-8"))
- else:
- username = re.search(r"w+", channelResponse).group(0) # return the entire match
- message = CHAT_MSG.sub("", channelResponse)
- print(username + ": " + message)
- time.sleep(1 / RATE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement