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 メソッドを作成しましたが、エラーを取り除くだけで、接続できない/動作しないという問題は解決しませんでした。