【发布时间】:2013-11-30 10:52:18
【问题描述】:
我对此进行了广泛搜索,只找到了特定于机器人的客户端。我知道它们基本上是一样的,但是对于我想要做什么我就是想不通。
我正在尝试编写一个 python 客户端,它表面上是纯粹而简单的。例如,当从命令行运行时,它会立即隐形连接,并在建立连接后打印“say:”。 (用户名、服务器等已设置)它将等到用户按下 -return/enter- 然后发送消息,然后检索它已记录到数组的消息并打印最后 8 行/数组值。
因此用户将只能看到频道上的消息,并且能够发送消息。我的问题是弄清楚如何剥离除消息之外的所有内容。如果我看起来想要有人为我做这件事,我很抱歉。我看了又看,但我无法弄清楚。我必须使用 IRC 模块吗?我很确定我最终会以某种方式使用正则表达式,但我很难过。感谢大家阅读我的愚蠢问题!
import sys
import socket
import string
HOST="irc.freenode.net"
PORT=6667
NICK="MauBot"
IDENT="maubot"
REALNAME="MauritsBot"
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))
while 1:
readbuffer=readbuffer+s.recv(1024)
temp=string.split(readbuffer, "\n")
readbuffer=temp.pop( )
for line in temp:
line=string.rstrip(line)
line=string.split(line)
if(line[0]=="PING"):
s.send("PONG %s\r\n" % line[1])
【问题讨论】:
-
很难“隐形”连接到任何东西。
-
我无法让它工作。它找不到模块“setuptools”。感谢您的超快速回复! ^-^
-
我的意思是当我说隐形时,用户不会看到 MOTD、PONG 等。 =)
-
如果找不到
setuptools,也可以从pypi获取:pypi.python.org/pypi/setuptools
标签: python regex multithreading module irc