Files
go-connfilter/irc/doc.md
eyedeekay 1713fd7f9b docs
2025-02-03 23:40:09 -05:00

1.6 KiB

ircinspector

-- import "github.com/go-i2p/go-connfilter/irc"

Usage

type Config

type Config struct {
	OnMessage func(*Message) error
	OnNumeric func(int, *Message) error
	Logger    Logger
}

Config contains inspector configuration

type Filter

type Filter struct {
	Command  string
	Channel  string
	Prefix   string
	Callback func(*Message) error
}

Filter defines criteria for message filtering

type Inspector

type Inspector struct {
}

Inspector implements the net.Listener interface with IRC inspection

func New

func New(listener net.Listener, config Config) *Inspector

New creates a new IRC inspector wrapping an existing listener

func (*Inspector) Accept

func (i *Inspector) Accept() (net.Conn, error)

Accept implements net.Listener Accept method

func (*Inspector) AddFilter

func (i *Inspector) AddFilter(filter Filter)

func (*Inspector) Addr

func (i *Inspector) Addr() net.Addr

Addr implements net.Listener Addr method

func (*Inspector) Close

func (i *Inspector) Close() error

Close implements net.Listener Close method

type Logger

type Logger interface {
	Debug(format string, args ...interface{})
	Error(format string, args ...interface{})
}

Logger interface for customizable logging

type Message

type Message struct {
	Raw      string
	Prefix   string
	Command  string
	Params   []string
	Trailing string
}

Message represents a parsed IRC message

func (*Message) String

func (m *Message) String() string