Я немного экспериментирую с витыми библиотеками для 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, но это просто избавило от ошибки, это не решило проблему не соединения / не работы.