我正在对 IRC 服务器/客户端的扭曲库进行一些试验。我找到了一些关于如何实现 IRC 客户端的好例子,但似乎在服务器端发现了一些好的东西。任何人都可以提供一些关于如何在扭曲中创建基本 IRC 服务器的见解吗?
编辑:如何建立这个?我在这里走向正确的方向吗?
from twisted.internet.protocol import ServerFactory
from twisted.internet import reactor
from twisted.words.protocols.irc import IRC
class IRCServer(IRC):
def connectionMade(self):
print "client connected"
def handleCommand(self, command, prefix, params):
print "handle comm"
IRC.handleCommand(self, command, prefix, params)
def dataReceived(self, data):
print "data: %s" % data
IRC.dataReceived(self, data)
def irc_unknown(self, prefix, command, params):
print "%s, %s, %s, IRC UNKNOWN" % (prefix, command, params)
def irc_USER(self, prefix, params):
print "USER: %s, %s" % (prefix, params)
def irc_NICK(self, prefix, params):
print "NICK: %s, %s" % (prefix, params)
class IRCServerFactory(ServerFactory):
protocol = IRCServer
factory = IRCServerFactory()
reactor.listenTCP(8002, factory)
reactor.run()
当我尝试加入频道时,我永远无法加入。我收到与没有命令处理程序有关的错误,因此我编写了 irc_USER 和 irc_NICK 方法,但这只是消除了错误,并没有解决无法连接/无法工作的问题。