# ReflectionIRCd
ReflectionIRCd is an IRCd that interfaces with Matrix, allowing you to use an IRC client to chat on Matrix.
This is **very much** not production-ready yet. There's `console.log`s all over the place, no testing or error checking, lots of bugs, etc.
That said, it is usable for basic chatting.
## Highlights
- IRC first: The goal is for modern IRC clients to have feature parity with any other Matrix client
- Standalone: Uses the Client-Server API, so you can use it with any homeserver
- Built-in bouncer: Multiple IRC clients can be authenticated to a Matrix user
- Multi-user support: Log into multiple Matrix accounts, or run an instance for your community (Note: this isn't fully functional yet)
## Feature support
✅ - Fully supported
🟨 - Partially supported, see notes
❌ - Not implemented yet
(IRCv3) denotes IRC features that might not be available in all clients
| Name | M->I | I->M | Notes |
| ---- | :--: | :--: | ----- |
| text, notice, emote messages | ✅ | ✅ ||
| image, file, audio, video messages | 🟨 | ❌ | Shows up on IRC as the link to the file |
| Channel joins | ✅ | 🟨 | Channel joining works, but the channel is always the room id |
| Channel parts | ✅ | ✅ ||
| Channel kicks | ✅ | ❌ ||
| Channel bans | 🟨 | ❌ | Show up as kicks on IRC |
| Channel topics | ✅ | ✅ ||
| Channel powers | 🟨 | ❌ | They don't show correctly if the powerlevels aren't the default |
| Message replies (IRCv3) | ✅ | ❌ ||
| Message reactions (IRCv3) | ✅ | ❌ ||
| Chathistory (IRCv3) | ❌ | ❌ ||
| Multiline messages (IRCv3) | ❌ | ❌ ||
| Display Names (IRCv3) | ❌ | ❌ ||