About this plugin
A modern, feature-rich WebSocket IRC client for WordPress. Connect your website visitors to your IRC server with real-time chat, private messaging, desktop notifications, and a beautiful tabbed interface.
Version 5.2.0 – What’s New
🔧 WordPress 6.9 Compatibility
- FIXED: Plugin now works perfectly with WordPress 6.9
- FIXED: Script loading issues with block themes and Full Site Editing (FSE)
- FIXED: Configuration passing to JavaScript
🔌 WebSocket Improvements
- FIXED: Connection stability issues
- FIXED: Binary WebSocket data handling
- ADDED: IRC subprotocol support for UnrealIRCd
⚙️ User Experience
- ADDED: Settings link in plugin list for easy access
- IMPROVED: Error handling and logging
- IMPROVED: Connection reliability
Features
- ✅ Real-time IRC chat via secure WebSocket (wss://)
- ✅ Private messaging between users
- ✅ Desktop notifications for mentions and PMs
- ✅ Multiple channel support with tabbed interface
- ✅ User list with right-click context menus
- ✅ Command history (use arrow keys)
- ✅ Auto-reconnection with smart retry logic
- ✅ Customizable themes (light/dark)
- ✅ Mobile-responsive design
- ✅ IRC commands support (/nick, /join, /part, /msg, /me)
- ✅ Tab completion for nicknames
- ✅ Unread message badges
- ✅ Message history (500 messages per channel)
Requirements
- WordPress: 5.0 or higher (tested up to 6.9)
- PHP: 7.4 or higher
- IRC Server: UnrealIRCd 6.x with WebSocket support (recommended)
- SSL Certificate: Valid SSL/TLS certificate for secure WebSocket (wss://)
Configuration
WordPress Settings
Navigate to Settings → Badwolf Web IRC Client and configure:
- WebSocket URL: Your IRC server WebSocket URL (e.g., wss://irc.example.com:7443 )
- Default Channel: IRC channel to join (e.g., #general )
- Nickname Prefix: Prefix for auto-generated nicknames (e.g., guest )
- Real Name: Default real name for users
- Theme: Light or Dark theme
- Auto Connect: Automatically connect when page loads
UnrealIRCd Server Configuration
Your UnrealIRCd server must have WebSocket support enabled:
`conf
Load WebSocket module
loadmodule “websocket”;
Configure WebSocket listener
listen {
ip *;
port 7443;
options {
tls;
websocket;
}
tls-options {
pem”;
pem”;
options {
no-client-certificate;
}
}
}
`
SSL Certificate Setup (Let’s Encrypt)
`bash
Install certbot if not already installed
sudo apt-get install certbot
Get certificate for your IRC domain
com
Copy certificates to UnrealIRCd
pem /path/to/unrealircd/conf/tls/
pem /path/to/unrealircd/conf/tls/
Set correct permissions
pem
pem
pem
Restart UnrealIRCd
cd /path/to/unrealircd
/unrealircd restart
`
Auto-Renewal Setup
Create a renewal hook to automatically copy certificates:
`bash
Create renewal hook script
sh
`
Add this content:
`bash
/bin/bash
pem /path/to/unrealircd/conf/tls/
pem /path/to/unrealircd/conf/tls/
pem
pem
pem
/path/to/unrealircd/unrealircd rehash
`
Make it executable:
`bash
sh
`
Usage
Basic Shortcode
`
[web_irc_client]
`
Shortcode with Attributes
`
[web_irc_client theme=”dark” width=”100%” height=”600px”]
`
Available attributes:
- theme – Override theme (light or dark)
- width – Set custom width (default: 100%)
- height – Set custom height (default: 70vh)
IRC Commands
Users can use standard IRC commands:
- /nick newname – Change nickname
- /join #channel – Join a channel
- /part – Leave current channel
- /msg username message – Send private message
- /me action – Send action message
- /help – Show available commands
Troubleshooting
Connection Issues
Problem: “Reconnecting…” message appears
Solutions:
- Verify UnrealIRCd is running: ps aux | grep unrealircd
- Check port is listening: sudo netstat -tlnp | grep 7443
- Verify SSL certificate is valid and not expired
- Check UnrealIRCd logs: tail -f /path/to/unrealircd/logs/ircd.log
- Test WebSocket connection: https://www.piesocket.com/websocket-tester
SSL Certificate Errors
Problem: Certificate expired or invalid
Solution:
`bash
Check certificate expiry
sudo certbot certificates
Renew if needed
sudo certbot renew –force-renewal
Copy to UnrealIRCd and restart
pem /path/to/unrealircd/conf/tls/
/unrealircd restart
`
Plugin Not Loading
Problem: IRC client doesn’t appear on page
Solutions:
- Verify shortcode is correct: [web_irc_client]
- Clear WordPress cache
- Clear browser cache (Ctrl+Shift+R)
- Check browser console for JavaScript errors (F12)
- Verify WebSocket URL is configured in plugin settings
WordPress 6.9 Issues
9 update
9 compatibility fixes.
Support
- GitHub: https://github.com/badwolf1972/web-irc-client
- Issues: https://github.com/badwolf1972/web-irc-client/issues
- WordPress Support: https://wordpress.org/support/plugin/badwolf-web-irc-client/
Credits
- Author: Martin Cooper (badwolf72)
- Website: https://www.oo3dmodels.com
- License: GPL v2 or later