glirc is a CLI-based IRC client written in Go.
- Learning project for Go and IRC
type Message structfor incoming and outgoing messages- parser/serializer for messages
type Client structwith handler maps for client and server message processing, goroutines and channels for I/O
Took all code out of the main method and put it in client.go for separation of concerns and easier debugging.
Parse input/output and call the appropriate method based on message command. Much easier to create, update and delete commands and their matching handlers.
- Languages used: Go
- Frameworks/libraries: tview (TUI)
- IRC is really cool!
- Go is very interesting, glad to have got the experience with it.
Note: you will need a config.json file containing your nickname, username, server and port. Place this in the root
directory after cloning the repository.
{
"nick": "yournick",
"user": "Your Name",
"server": "irc.libera.chat",
"port": 6697
}
git clone https://github.com/liampallett/glirc.git
cd glirc
go build
./glirc
├── LICENSE.md
├── README.md
├── client.go
├── client_handlers.go
├── config.go
├── go.mod
├── main.go
├── message.go
├── parser_test.go
├── server_handlers.go
└── ui.go
- Expand TUI
- More supported commands.