A minimal, modular IRC client with kawaii ASCII art, following the UNIX philosophy and RFC 1459. (◕‿◕✿)
This project uses a modular Go layout:
main.go— Main CLI entry pointconn/— Connection logic (TLS, TCP, config)parser/— IRC message parser and testsasciiart/— Kawaii ASCII art and display utilitiesgo.mod— Go module definition
All commands below assume you are in the irc directory.
- 🐱 Kawaii ASCII art on startup
- 🔒 Secure by default (TLS support)
- 🚀 Fast and lightweight
- 📦 No external dependencies
- 🎨 Customizable kawaii art collection
- Go 1.16 or later
- Git
git clone https://github.com/yourusername/IRC-Ultimate.git
cd IRC-Ultimate
go build -o irc-client# Run with default settings
./irc-client
# Connect to a specific server
./irc-client -server irc.libera.chat -port 6697 -tls -nick YourNickname
# Disable TLS (not recommended)
./irc-client -tls=false -port 6667/join #channel- Join a channel/msg <target> <message>- Send a private message/part [message]- Leave the current channel/nick <newnick>- Change your nickname/quit [message]- Disconnect from the server- Type a message to send to the current channel
- Enjoy random kawaii ASCII art on startup
- Customize your experience with different art styles
- All kawaii art is terminal-friendly and works in most environments
If you see broken characters in the kawaii art:
- Windows Users: Use Windows Terminal for better Unicode support
- Font Issues: Install a Nerd Font (like Cascadia Code)
- Terminal Settings: Ensure your terminal is set to UTF-8 encoding
- Missing packages: Run
go mod tidy - Build errors: Try
go clean -modcacheand rebuild - Connection issues: Check your network and firewall settings
- Type
/join #channelto join a channel - Type
/msg <target> <message>to send a private message - Type
/partto leave the current channel - Type
/nick <newnick>to change nickname - Type
/quitto disconnect - Type a message to send to the current channel
.
├── asciiart/ # Kawaii ASCII art and display utilities
│ └── art/ # Art collections (cats, faces, etc.)
├── conn/ # Connection handling (TLS/TCP)
├── parser/ # IRC message parser
├── main.go # Main application entry point
└── README.md # This file
Contributions are welcome! Feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the BSD 2-Clause License - see the LICENSE file for details.
- Inspired by the simplicity of UNIX philosophy
- Kawaii art by the community
- Built with ❤️ and Go
Made with (◕‿◕✿) and Go