Libraries to help with IRC development in Go. Mirror/fork of https://github.com/ergochat/irc-go https://github.com/ergochat/irc-go
irc
Go to file
2021-03-10 02:32:02 -05:00
client gofmt 2019-05-10 21:37:16 +10:00
ircevent explain HandleBatch and HandleEvent 2021-03-10 02:32:02 -05:00
ircfmt fix greedy matching of bracketed escapes 2021-01-06 16:48:14 -05:00
ircmap ircmap: maps are always passed by ref lol, no need to do dis 2019-04-29 11:57:18 +10:00
ircmsg restore message truncation in ParseLineStrict 2021-03-03 21:59:04 -05:00
ircreader IRCReader: trim \r if the line ending was \r\n 2021-03-01 17:55:05 -05:00
ircutils Add ircutils package 2016-11-28 16:27:27 +10:00
.check-gofmt.sh add ircreader 2021-02-13 19:57:21 -05:00
.gitignore add some test code 2018-04-26 23:32:27 -04:00
.travis.gofmt.sh add some test code 2018-04-26 23:32:27 -04:00
.travis.yml fix gofmt, run tests in travis 2020-11-16 17:45:34 -05:00
doc.go Rename lib 2017-06-15 10:21:10 -06:00
go.mod run go mod tidy 2020-11-15 22:35:22 -05:00
go.sum run go mod tidy 2020-11-15 22:35:22 -05:00
LICENSE Rename lib 2017-06-15 10:21:10 -06:00
Makefile update examples, run gofmt 2021-02-19 11:45:33 -05:00
README.md remove ircmatch from readme 2021-03-03 01:42:06 -05:00

GoshuIRC-Go

This is a bunch of self-contained packages that help with IRC development in Go. The package splits themselves are fairly similar to how things are split up in the original Python version.


GoDoc Build Status Coverage Status Go Report Card


I'm aiming for this to become a client library all of its own. The best path to that is writing a bunch of useful, testable, self-contained packages that I'm able to wire together!

These packages are still in their early stages. Specifically, they're probably not as well-optimised as we'd like, and the interfaces exposed by them may not be final. For specific package details, view the documentation of that package.

An example bot that uses these packages can be found here.

Packages:

  • ircmsg: IRC message handling, raw line parsing and creation.
  • ircfmt: IRC format codes handling, escaping and unescaping.
  • ircreader: Optimized reader for \n-terminated lines, with an expanding but bounded buffer.
  • ircevent: Work-in-progress client library (fork of thoj/go-ircevent).
  • gircclient: Another work-in-progress client library.
  • ircmap: IRC string casefolding.
  • ircutils: Useful utility functions and classes that don't fit into their own packages.

Also check out the eventmgr library here, which helps with event attaching and dispatching.