当前位置: 代码迷 >> python >> Python - Twitch Bot - 发送/接收密语
  详细解决方案

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

热度:77   发布时间:2023-06-13 15:15:06.0

我按照视频教程编写了一个简单的 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