Python - Twitch Bot - 发送/接收耳语

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (130)

我在视频教程后写了一个简单的Python twitch bot,但是教程没有包含耳语功能。它当前可以连接到我指定的频道的聊天,但是当我尝试让它发送耳语时没有任何反应。这是相关的代码位:

import socket

def openSocket():

    s = socket.socket()
    s.connect((HOST, PORT))

    message = "PASS " + PASS + "\r\n"
    s.send(message.encode('utf-8'))
    message = "NICK " + USER + "\r\n"
    s.send(message.encode('utf-8'))
    message = "JOIN #" + CHAN + "\r\n"
    s.send(message.encode('utf-8'))

    return s

def sendMessage(s, message):

    messageTemp = "PRIVMSG #" + CHAN + " :" + message + "\r\n"
    s.send(messageTemp.encode('utf-8'))
    print("Sent:" + messageTemp)

def sendWhisper(s, user, message):

    messageTemp = "PRIVMSG #jtv :/w " + user + " " + message
    s.send(messageTemp.encode('utf-8'))


import string

from Socket import sendMessage

def joinRoom(s):
    readbuffer = ""
    Loading = True

    while Loading:
        readbuffer = readbuffer + s.recv(1024).decode()
        temp = readbuffer.split('\n')

        readbuffer = temp.pop()

        for line in temp:
            print(line)
            Loading = loadingComplete(line)

def loadingComplete(line):
    if("End of /NAMES list" in line):
        return False;
    else: return True

我一直在阅读一些关于连接到某种群聊的内容,以便使这项工作,但我很困惑,并没有找到我正在寻找的东西。看起来它应该是一个简单的解决方案。任何帮助表示赞赏。

提问于
用户回答回答于

你非常接近。在jtv前面没有#:

def sendWhisper(s,user,message):

messageTemp = "PRIVMSG jtv :/w " + user + " " + message
s.send(messageTemp.encode('utf-8'))
用户回答回答于

要发送IRC私人消息,请发送PRIVMSG到用户的缺口而不是通道,例如

PRIVMSG username :here is a message

扫码关注云+社区

领取腾讯云代金券