Made with Go and BubbleTea
Find a file
2025-10-06 23:26:37 +04:00
.github/workflows ci: update ci 2025-10-06 23:17:59 +04:00
go.mod feat: initial commit 2025-10-06 22:44:29 +04:00
go.sum feat: initial commit 2025-10-06 22:44:29 +04:00
irc-client.png feat: initial commit 2025-10-06 22:44:29 +04:00
irc.go feat: initial commit 2025-10-06 22:44:29 +04:00
LICENSE feat: initial commit 2025-10-06 22:44:29 +04:00
main.go feat: initial commit 2025-10-06 22:44:29 +04:00
README.md docs: Update README.md 2025-10-06 23:26:37 +04:00
renovate.json chore: add renovate.json (#1) 2025-10-06 22:47:40 +04:00

IRC Client

A simple, lightweight terminal-based IRC client built with Go and Bubble Tea.

Demo


Quick Start

Download and Run the IRC client:

irc-client irc.libera.chat/6697 myusername

Features

  • IRC TUI with mouse and keyboard navigation
  • Multi Channel Unified Chat
  • Send and receive private messages
  • Command history (up/down arrows)
  • Auto-reconnect with TLS fallback
  • Debug mode for troubleshooting (-v flag)

Usage

IRC Commands

Command Description
/join <channel> Join a channel
/part Leave current channel
/msg <nick> <message> Send private message
/list List all channels on server
/quit Disconnect from server

Navigation

Key Action
Tab Cycle focus (Input → Channels → Chat → Users)
Esc Return focus to input
↑/↓ or j/k Scroll chat or navigate channels/users
PgUp/PgDn or b/f Scroll chat by page
Home/End or g/G Jump to top/bottom of chat
Enter Send message or switch to selected channel
F1 Toggle help screen
Ctrl+C Quit application

Development

Prerequisites

  • Go 1.21 or higher
  • Terminal with mouse support (recommended)

Building

go build -o irc-client .

Project Structure

  • main.go - UI, event handling, and IRC event handlers
  • irc.go - IRC protocol implementation and connection management

LICENSE

MIT