Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?

Posted

技术标签:

【中文标题】Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?【英文标题】:Python 3 Twitch IRC bot receiving messages limitations of Python or bad Code? 【发布时间】:2015-03-09 23:49:15 【问题描述】:

当我试图在很短的时间内接收大量消息时,我似乎碰壁了。我不确定这是否是 python 3 的网络协议的限制,或者它是我接收数据的一种方式。下面我发布了关于如果不是 python 问题我如何接收消息的代码。

我如何对此进行测试我编写了一个脚本以在 1 秒内发送 10 条消息,我看到了 60% 的这些消息。如果这是编码错误,我将如何解决此问题?

# ------ Constructor ----- #

def __init__(self, conf): #constructor
    self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# ------ Connect Function ----- #
def connect(self): 
    self.sock.connect(("irc.twitch.tv", 6667))
    self.sock.send(("PASS %s\n\r" % self.oauth).encode("utf-8"))
    self.sock.send(("NICK %s\n\r" % self.username).encode("utf-8"))
    self.sock.send("TWITCHCLIENT 2\n\r".encode("utf-8"))
    self.sock.send(("JOIN #%s\n\r" % self.channel).encode("utf-8"))

# -------- Receive ------- #

def receive(self):
    data = self.sock.recv(4096)
    data = data.decode("utf-8")
    if 'PING' in data:
        self.sock.send(data.replace('PONG', 'PING').encode("utf-8"))
    return data

【问题讨论】:

您确定所有这些消息都在发送吗? Twitch IRC 服务器似乎很有可能正在限制发送消息的脚本。 我真的想通了。这不是 python 的限制,而是我标记消息的方式。 【参考方案1】:

这不是 python 的限制,而是我标记消息的方式。

【讨论】:

以上是关于Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?的主要内容,如果未能解决你的问题,请参考以下文章

使用 irc.bot.SingleServerIRCBot 持续存在的线程(与 twitch 一起使用)

Python IRC bot 在 3 次 ping 后断开连接

在 Twitch bot 中添加帐户和更加用户友好的集成

在 Python 中使用 Twitch IRC 时“由对等方重置连接”

禁止登录 IRC 频道,以 twitch 为例

Twitch IRC 聊天机器人成功连接但未检测到命令