我是编程新手,正在尝试使用Python为Twitch创建一个简单的Send Only IRC客户端。
但是我的代码开头出现问题:(显然在使用命令连接并发送我的密码和用户名后,我似乎没有收到服务器的响应。
不知道我做错了什么,我们将非常感谢任何帮助或指导。
守则:
username = '~omitted~'
password = 'oauth:~omitted~'
channel = '#channelname'
irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc.connect(('irc.twitch.tv', 6667))
irc.recv(4096)
irc.send('PASS ' + password + '\r\n')
irc.send('NICK ' + username + '\r\n')
irc.send('USER ' + username + '\r\n')
irc.send('JOIN ' + channel + '\r\n')
while True:
data = irc.recv(4096)
print(data)
if data.find('PONG') != -1:
irc.send('PONG ' + data.split()[1] + '\r\n')
答案 0 :(得分:0)
这是我用于irc日志记录的一小段代码:
readbuffer = ''
s=socket.socket()
s.connect((HOST, PORT))
s.send('NICK %s\r\n' % NICK)
s.send('USER %s %s bla :%s\r\n' % (IDENT, HOST, REALNAME))
log = False
while 1:
readbuffer = readbuffer + s.recv(1024)
temp = string.split(readbuffer, '\n')
readbuffer = temp.pop()
for line in temp:
line = string.split(string.rstrip(line))
if(line[0] == 'PING'):
s.send('PONG %s\r\n' % line[1])
else:
if(line[-1]=='+x'):
print ' '.join(line)
s.send('JOIN #twitlive\r\n')
log = True
else:
if not log:
print ' '.join(line[3:])
else:
if len(line) > 3:
fullname = ''
name = ''
if line[0].split('!')[0][0] == ':':
fullname = line[0][1:]
name = line[0].split('!')[0][1:]
if line[3:][0][0] == ':':
...
...
也许你发现了一些有用的东西