Matrix is a decentralized, open source messaging system that integrates well with IRC. It provides modern features like a web interface, easy catch-up on missed conversation (without the need to run a bouncer), read-message tracking, and end-to-end encryption (implementation in progress). It even supports voice and video calling.
Using the web browser interface
If you have a bouncer, be sure to disconnect it before setting up Riot/Matrix. If you are using IRCCloud, signing out is not enough. You'll need to click on the gear icon next to the "Freenode" heading in the upper-right corner, and choose "Disconnect". Otherwise, the system will think your nick is taken, and Matrix will automatically connect you using a variation on your nick.
Connecting to freenode IRC channels
Configuring your IRC nick:
- Click the + icon in the bottom left to create a new room
- In the dialog, click the "Create Room" button
- In the empty room, click "Invite to this room" in the bottom right corner
- In the "Invite new room members" dialog, enter
@appservice-irc:matrix.organd click the "Send Invites" button.
- Wait until "@appservice-irc:matrix.org joined the room." is displayed.
- In the "Send a message" area at the bottom, enter
!nick <yournick>and press the Enter key
Connect to freenode channels:
Freenode IRC channels are reachable by connecting to a channel called
#freenode_#<channel>:matrix.org. For example, to connect to
#mediawiki, start a matrix chat with
- Click on the "Room directory" list icon in the lower left to bring up the room directory
- In the search field, enter the entire channel you want to connect to, such as
- When prompted, click on the "↲Join" button at the right in the search field
- On the "Join Room" page, click "Click here" in the "You are trying to access a room. Click here to join the discussion!" text
The riot.im web interface hides some of that, so you can instead:
- Click on the folder icon in the lower left to bring up the room directory
- In the dropdown on the right, choose
- Enter some of the channel name, like
mediawikiand wait for the list to populate below
- Click on the channel in the list
- When prompted, choose to "join" the channel
- NOTE: Private channels will not be listed--you'll need to get someone already in the channel to invite you
Authenticating with freenode:
After connecting to a channel on freenode, you should get a chat invite from NickServ. It is displayed in the panel on the left, in the "People" section. If you don't, you can initiate a chat with NickServ by clicking on the person icon ("Start Chat") in the bottom-left) and entering:
Once you are in a chat with NickServ, to sign in, accept the chat invite & type:
identify <user> <password>
Appservice 0.7 also added the option to save the IRC password. This avoids the need to re-authenticate manually, which is especially useful if you frequently use private channels. To save your password, go to the chat with
@appservice-irc:matrix.org, and type
!storepass chat.freenode.net <yourpass>. Note: this seems to be necessary to connect to the #wikimedia-staff and certain password protected channels.
If you need further help with your Freenode connection, try issuing the command
!help in your chat with
@appservice-irc:matrix.org. If that doesn't work, you can try asking for help in the
#irc:matrix.org room, where people who maintain the IRC bridge code hang out.
Using a desktop application
- Make sure you have already registered an account on https://riot.im/app/
- Install the package provided by your distribution, or follow the instructions at https://github.com/taw00/riot-rpm/blob/master/README.md
- Log into the Riot desktop application
- Click the icon at "Search the room directory" to search for rooms
- In the dropdown on the right, choose "Freenode"
- In the #channel search field, enter #wikimedia-dev or such. Press the Enter key or click the "↲ Join" button, then confirm
- See that you have joined that channel
- To join more IRC rooms, use the "Room directory" button in the left bottom corner. You can also directly type "/join #freenode_#channelname:matrix.org" in any chat window which will skip the confirmation part
- Via the Preferences button in the left bottom corner, under "Notifications", you want to disable "Messages in group chats" as things can get noisy
- Changing your IRC nickname on Freenode: Start a chat via
@appservice-irc:matrix.org. In the private chat, use this command:
- Authenticating to Freenode's NickServ: Start a chat via
@freenode_NickServ:matrix.org. Then use this command:
IDENTIFY yourUsername yourPassword
- "IRC for the 21st Century: Introducing Riot. Learn how to get started with Riot", Justin W. Flory, opensource.com, 19 May 2017