irc

module
v0.0.0-...-df918ef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2022 License: ISC

README

IRC

Go Reference Go Report Card

IRC is a IRC bot core (or simple connection broker) written to take the place of all the other ones that I found to be somehow lacking.

Levels

IRC has two levels that it can operate at, the highest is client (and associated bot types).

Client

At the client level, most normal IRC procedures are taken care for you. Messages are parsed out into useful objects, and optionally can be sent over callbacks designed particularly for those message types.

This is probably what you want to use. It provides a simple and easy frontend to building complex IRC bots.

Connection

Connection provides only a connection to IRC, and a channel on which parsed IRC lines will be sent. It will do nothing nice for you, but is a nice place to start when looking to do things very manually.

This is what Client uses internally for its implementation

Other bits

There are a whole bunch of other bits implemented for use in bots, such as a mode parser, an ISUPPORT parser, and multiple different event systems (all of which work together, see how you add handlers on client)

Directories

Path Synopsis
Package capab implements IRCv3 Capability negotiation
Package capab implements IRCv3 Capability negotiation
Package connection implements the most basic parts of an IRC connection
Package connection implements the most basic parts of an IRC connection
Package event contains an event manager interface, and various implementations thereof
Package event contains an event manager interface, and various implementations thereof
chatcommand
Package chatcommand implements event.Handler for PRIVMSG based IRC commands.
Package chatcommand implements event.Handler for PRIVMSG based IRC commands.
chatmessage
Package chatmessage provides a simple frontend for message handlers
Package chatmessage provides a simple frontend for message handlers
function
Package function provides an implementation of event.Handler based around a single function
Package function provides an implementation of event.Handler based around a single function
irccommand
Package irccommand provides an event.Handler implementation scoped to IRC commands
Package irccommand provides an event.Handler implementation scoped to IRC commands
multi
Package multi provides an event.Handler implementation that calls other event.Handler implementations
Package multi provides an event.Handler implementation that calls other event.Handler implementations
raw
Package raw provides an event.Handler implementation that intercepts all incoming IRC messages
Package raw provides an event.Handler implementation that intercepts all incoming IRC messages
servernotice
Package servernotice implements event.Handler for IRC server notices (not regular NOTICEs)
Package servernotice implements event.Handler for IRC server notices (not regular NOTICEs)
examples
Package isupport provides parsers for IRC ISUPPORT lines Package isupport contains an implementation of an ISUPPORT message handler
Package isupport provides parsers for IRC ISUPPORT lines Package isupport contains an implementation of an ISUPPORT message handler
Package mode implements an IRC mode parsing library
Package mode implements an IRC mode parsing library
Package numerics contains definitions for a large number of IRC numerics.
Package numerics contains definitions for a large number of IRC numerics.
Package oper provides utilities for opering up on IRC networks.
Package oper provides utilities for opering up on IRC networks.
Package permissions offers an interface and implementation for permission handling of chat commands
Package permissions offers an interface and implementation for permission handling of chat commands
function
Package function implements a simple single-function based permission handler
Package function implements a simple single-function based permission handler
mask
Package mask provides a permissions.Handler implementation that works with traditional nick!user@host masks
Package mask provides a permissions.Handler implementation that works with traditional nick!user@host masks
Package user provides some simple IRC user tracking
Package user provides some simple IRC user tracking

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL