Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 套接字irc bot未发送完整消息_Python_Sockets_Irc - Fatal编程技术网

Python 套接字irc bot未发送完整消息

Python 套接字irc bot未发送完整消息,python,sockets,irc,Python,Sockets,Irc,我正在尝试制作一个irc机器人。它连接但不发送完整的消息。如果我想发送“hello world”,它只发送“hello”。它只是发送所有信息直到第一个空格 在这个程序中,如果你在irc中输入hello,机器人应该发送hello world。但它只会打招呼 import socket channel = "#bots" server = "chat.freenode.org" nickname = "my_bot" class IRC: irc = socket.socket()

我正在尝试制作一个irc机器人。它连接但不发送完整的消息。如果我想发送“hello world”,它只发送“hello”。它只是发送所有信息直到第一个空格

在这个程序中,如果你在irc中输入hello,机器人应该发送hello world。但它只会打招呼

import socket

channel = "#bots"
server = "chat.freenode.org"
nickname = "my_bot"


class IRC:
    irc = socket.socket()

    def __init__(self):
        self.irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    def send(self, chan, msg):
        self.irc.send("PRIVMSG " + chan + " " + msg + "\n")

    def connect(self, server, channel, botnick):
        # defines the socket
        print("connecting to: " + server)
        self.irc.connect((server, 6667))  # connects to the server

        self.irc.send("NICK %s\n" % botnick)
        self.irc.send("USER %s %s Ibot :%s\n" % (botnick, botnick, botnick))
        self.irc.send("JOIN %s\n" % channel)
        self.irc.send("PRIVMSG %s :Hello Master\n" % channel)

    def get_text(self):
        text = self.irc.recv(2040)  # receive the text

        if text.find('PING') != -1:
            self.irc.send('PONG ' + text.split()[1] + 'rn')

        return text

irc = IRC()

irc.connect(server, channel, nickname)

while True:
    text = irc.get_text().strip()

    if "hello" in text.lower():
        irc.send(channel, "hello world")

    print text

你在留言之前忘了a:是吗。这应该起作用:

def send(self, chan, msg):
    self.irc.send("PRIVMSG " + chan + " :" + msg + "\n")

你在留言之前忘了a:是吗。这应该起作用:

def send(self, chan, msg):
    self.irc.send("PRIVMSG " + chan + " :" + msg + "\n")