因為twitch的聊天室是使用irc chat room,
基本上, twitch的聊天室好玩, 以及這麼多花樣的原因,
就是因為irc chat room非常好連接並獲取data,
所以這篇主要是介紹利用python socket連接irc chat room,
讓大家都可以基本的獲取聊天室的訊息, 並做出自己想要的robot,
sample code:
import socket
botnick = "e4e2e7343" #自己的名字
bufsize = 2048
channel = "#e4e2e7343" #欲加入channel的名字
port = 6667
server = "irc.twitch.tv"
PASS = "oauth:*************" # your Twitch OAuth token
master = "e4e2e7343" #自己的名字
uname = "e4e2e7343" #自己的名字
realname = "e4e2e7343" #自己的名字
def JoinChan (chan):
global ircsock
ircsock.send ("JOIN "+ chan +"\n")
def Main():
global ircsock
#presetting, socket連線前的前置作業
ircsock = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
ircsock.connect ((server, port))
ircsock.send ("PASS {}\r\n".format(PASS).encode("utf-8"))
ircsock.send ("USER " + uname + " 2 3 " + realname + "\n")
ircsock.send ("NICK "+ botnick + "\n")
#利用uname的帳號, 連線上channel
JoinChan (channel)
#主要迴圈
while True:
#接聽訊息
ircmsg = ircsock.recv (bufsize)
ircmsg = ircmsg.strip ('\n\r')
#如果沒有收到訊息, Ping socket
if ircmsg.find ("PING :") != -1:
ping()
else:
#else這裡就是主要處理ircmsg的地方
#一般需要做的事情就是先將user name與message分開, 在進行想要的處理
print ircmsg
裡面大多沒甚麼問題, oauth token應該也都能google的到,
如果有不清楚地歡迎在底下留言,
希望大家都能做出自己理想的機器人,
其實還有很多需要處理的,
例如thread, exception等等
以後有更進一步的心得再上來分享,
也歡迎有神人們分享
沒有留言:
張貼留言