{"id":254004,"date":"2025-10-06T17:10:31","date_gmt":"2025-10-06T17:10:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/web-irc-client\/"},"modified":"2026-01-17T13:50:40","modified_gmt":"2026-01-17T13:50:40","slug":"badwolf-web-irc-client","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/badwolf-web-irc-client\/","author":23373387,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"5.2","stable_tag":"trunk","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Badwolf Web IRC Client","header_author":"Martin Cooper (badwolf72)","header_description":"WebSocket IRC client for WordPress with real-time messaging, private chats, and desktop notifications. Requires WebSocket-enabled IRC server (UnrealIRCd recommended).","assets_banners_color":"","last_updated":"2026-01-17 13:50:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/badwolf1972\/web-irc-client","header_author_uri":"https:\/\/www.oo3dmodels.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":289,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"5.2.0":{"tag":"5.2.0","author":"badwolf72","date":"2026-01-17 13:58:27"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["5.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5707,7648,2512,866,190408],"plugin_category":[41],"plugin_contributors":[248841],"plugin_business_model":[],"class_list":["post-254004","plugin","type-plugin","status-publish","hentry","plugin_tags-chat","plugin_tags-irc","plugin_tags-messaging","plugin_tags-real-time","plugin_tags-websocket","plugin_category-communication","plugin_contributors-badwolf72","plugin_committers-badwolf72"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/badwolf-web-irc-client.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<h3>Version 5.2.0 - What's New<\/h3>\n\n<h3>\ud83d\udd27 WordPress 6.9 Compatibility<\/h3>\n\n<ul>\n<li><strong>FIXED<\/strong>: Plugin now works perfectly with WordPress 6.9<\/li>\n<li><strong>FIXED<\/strong>: Script loading issues with block themes and Full Site Editing (FSE)<\/li>\n<li><strong>FIXED<\/strong>: Configuration passing to JavaScript<\/li>\n<\/ul>\n\n<h3>\ud83d\udd0c WebSocket Improvements<\/h3>\n\n<ul>\n<li><strong>FIXED<\/strong>: Connection stability issues<\/li>\n<li><strong>FIXED<\/strong>: Binary WebSocket data handling<\/li>\n<li><strong>ADDED<\/strong>: IRC subprotocol support for UnrealIRCd<\/li>\n<\/ul>\n\n<h3>\u2699\ufe0f User Experience<\/h3>\n\n<ul>\n<li><strong>ADDED<\/strong>: Settings link in plugin list for easy access<\/li>\n<li><strong>IMPROVED<\/strong>: Error handling and logging<\/li>\n<li><strong>IMPROVED<\/strong>: Connection reliability<\/li>\n<\/ul>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>\u2705 Real-time IRC chat via secure WebSocket (wss:\/\/)<\/li>\n<li>\u2705 Private messaging between users<\/li>\n<li>\u2705 Desktop notifications for mentions and PMs<\/li>\n<li>\u2705 Multiple channel support with tabbed interface<\/li>\n<li>\u2705 User list with right-click context menus<\/li>\n<li>\u2705 Command history (use arrow keys)<\/li>\n<li>\u2705 Auto-reconnection with smart retry logic<\/li>\n<li>\u2705 Customizable themes (light\/dark)<\/li>\n<li>\u2705 Mobile-responsive design<\/li>\n<li>\u2705 IRC commands support (\/nick, \/join, \/part, \/msg, \/me)<\/li>\n<li>\u2705 Tab completion for nicknames<\/li>\n<li>\u2705 Unread message badges<\/li>\n<li>\u2705 Message history (500 messages per channel)<\/li>\n<\/ul>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li><strong>WordPress<\/strong>: 5.0 or higher (tested up to 6.9)<\/li>\n<li><strong>PHP<\/strong>: 7.4 or higher<\/li>\n<li><strong>IRC Server<\/strong>: UnrealIRCd 6.x with WebSocket support (recommended)<\/li>\n<li><strong>SSL Certificate<\/strong>: Valid SSL\/TLS certificate for secure WebSocket (wss:\/\/)<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<h3>WordPress Settings<\/h3>\n\n<p>Navigate to <strong>Settings \u2192 Badwolf Web IRC Client<\/strong> and configure:<\/p>\n\n<ul>\n<li><strong>WebSocket URL<\/strong>: Your IRC server WebSocket URL (e.g., <code>wss:\/\/irc.example.com:7443<\/code>)<\/li>\n<li><strong>Default Channel<\/strong>: IRC channel to join (e.g., <code>#general<\/code>)<\/li>\n<li><strong>Nickname Prefix<\/strong>: Prefix for auto-generated nicknames (e.g., <code>guest<\/code>)<\/li>\n<li><strong>Real Name<\/strong>: Default real name for users<\/li>\n<li><strong>Theme<\/strong>: Light or Dark theme<\/li>\n<li><strong>Auto Connect<\/strong>: Automatically connect when page loads<\/li>\n<\/ul>\n\n<h3>UnrealIRCd Server Configuration<\/h3>\n\n<p>Your UnrealIRCd server must have WebSocket support enabled:<\/p>\n\n<pre><code>`conf\n<\/code><\/pre>\n\nLoad WebSocket module\n\n<p>loadmodule \"websocket\";<\/p>\n\nConfigure WebSocket listener\n\n<p>listen {\n    ip *;\n    port 7443;\n    options {\n        tls;\n        websocket;\n    }\n    tls-options {\n        certificate \"\/path\/to\/fullchain.pem\";\n        key \"\/path\/to\/privkey.pem\";\n        options {\n            no-client-certificate;\n        }\n    }\n}\n    `<\/p>\n\n<h3>SSL Certificate Setup (Let's Encrypt)<\/h3>\n\n<pre><code>`bash\n<\/code><\/pre>\n\nInstall certbot if not already installed\n\n<p>sudo apt-get install certbot<\/p>\n\nGet certificate for your IRC domain\n\n<p>sudo certbot certonly --standalone -d irc.yourdomain.com<\/p>\n\nCopy certificates to UnrealIRCd\n\n<p>sudo cp \/etc\/letsencrypt\/live\/irc.yourdomain.com\/fullchain.pem \/path\/to\/unrealircd\/conf\/tls\/\nsudo cp \/etc\/letsencrypt\/live\/irc.yourdomain.com\/privkey.pem \/path\/to\/unrealircd\/conf\/tls\/<\/p>\n\nSet correct permissions\n\n<p>sudo chown unrealircd:unrealircd \/path\/to\/unrealircd\/conf\/tls\/*.pem\nsudo chmod 600 \/path\/to\/unrealircd\/conf\/tls\/privkey.pem\nsudo chmod 644 \/path\/to\/unrealircd\/conf\/tls\/fullchain.pem<\/p>\n\nRestart UnrealIRCd\n\n<p>cd \/path\/to\/unrealircd\n.\/unrealircd restart\n    `<\/p>\n\n<h3>Auto-Renewal Setup<\/h3>\n\n<p>Create a renewal hook to automatically copy certificates:<\/p>\n\n<pre><code>`bash\n<\/code><\/pre>\n\nCreate renewal hook script\n\n<p>sudo nano \/etc\/letsencrypt\/renewal-hooks\/deploy\/copy-to-unrealircd.sh\n    `<\/p>\n\n<p>Add this content:<\/p>\n\n<pre><code>`bash\n<\/code><\/pre>\n\n!\/bin\/bash\n\n<p>cp \/etc\/letsencrypt\/live\/irc.yourdomain.com\/fullchain.pem \/path\/to\/unrealircd\/conf\/tls\/\ncp \/etc\/letsencrypt\/live\/irc.yourdomain.com\/privkey.pem \/path\/to\/unrealircd\/conf\/tls\/\nchown unrealircd:unrealircd \/path\/to\/unrealircd\/conf\/tls\/*.pem\nchmod 600 \/path\/to\/unrealircd\/conf\/tls\/privkey.pem\nchmod 644 \/path\/to\/unrealircd\/conf\/tls\/fullchain.pem\n\/path\/to\/unrealircd\/unrealircd rehash\n    `<\/p>\n\n<p>Make it executable:<\/p>\n\n<pre><code>`bash\n<\/code><\/pre>\n\n<p>sudo chmod +x \/etc\/letsencrypt\/renewal-hooks\/deploy\/copy-to-unrealircd.sh\n    `<\/p>\n\n<h3>Usage<\/h3>\n\n<h3>Basic Shortcode<\/h3>\n\n<pre><code>`\n<\/code><\/pre>\n\n<p>[web_irc_client]\n    `<\/p>\n\n<h3>Shortcode with Attributes<\/h3>\n\n<pre><code>`\n<\/code><\/pre>\n\n<p>[web_irc_client theme=\"dark\" width=\"100%\" height=\"600px\"]\n    `<\/p>\n\n<p><strong>Available attributes:<\/strong><\/p>\n\n<ul>\n<li><code>theme<\/code> - Override theme (light or dark)<\/li>\n<li><code>width<\/code> - Set custom width (default: 100%)<\/li>\n<li><code>height<\/code> - Set custom height (default: 70vh)<\/li>\n<\/ul>\n\n<h3>IRC Commands<\/h3>\n\n<p>Users can use standard IRC commands:<\/p>\n\n<ul>\n<li><code>\/nick newname<\/code> - Change nickname<\/li>\n<li><code>\/join #channel<\/code> - Join a channel<\/li>\n<li><code>\/part<\/code> - Leave current channel<\/li>\n<li><code>\/msg username message<\/code> - Send private message<\/li>\n<li><code>\/me action<\/code> - Send action message<\/li>\n<li><code>\/help<\/code> - Show available commands<\/li>\n<\/ul>\n\n<h3>Troubleshooting<\/h3>\n\n<h3>Connection Issues<\/h3>\n\n<p><strong>Problem<\/strong>: \"Reconnecting...\" message appears<\/p>\n\n<p><strong>Solutions<\/strong>:<\/p>\n\n<ol>\n<li>Verify UnrealIRCd is running: <code>ps aux | grep unrealircd<\/code><\/li>\n<li>Check port is listening: <code>sudo netstat -tlnp | grep 7443<\/code><\/li>\n<li>Verify SSL certificate is valid and not expired<\/li>\n<li>Check UnrealIRCd logs: <code>tail -f \/path\/to\/unrealircd\/logs\/ircd.log<\/code><\/li>\n<li>Test WebSocket connection: <a href=\"https:\/\/www.piesocket.com\/websocket-tester\">https:\/\/www.piesocket.com\/websocket-tester<\/a><\/li>\n<\/ol>\n\n<h3>SSL Certificate Errors<\/h3>\n\n<p><strong>Problem<\/strong>: Certificate expired or invalid<\/p>\n\n<p><strong>Solution<\/strong>:<\/p>\n\n<pre><code>`bash\n<\/code><\/pre>\n\nCheck certificate expiry\n\n<p>sudo certbot certificates<\/p>\n\nRenew if needed\n\n<p>sudo certbot renew --force-renewal<\/p>\n\nCopy to UnrealIRCd and restart\n\n<p>sudo cp \/etc\/letsencrypt\/live\/irc.yourdomain.com\/*.pem \/path\/to\/unrealircd\/conf\/tls\/\n.\/unrealircd restart\n    `<\/p>\n\n<h3>Plugin Not Loading<\/h3>\n\n<p><strong>Problem<\/strong>: IRC client doesn't appear on page<\/p>\n\n<p><strong>Solutions<\/strong>:<\/p>\n\n<ol>\n<li>Verify shortcode is correct: <code>[web_irc_client]<\/code><\/li>\n<li>Clear WordPress cache<\/li>\n<li>Clear browser cache (Ctrl+Shift+R)<\/li>\n<li>Check browser console for JavaScript errors (F12)<\/li>\n<li>Verify WebSocket URL is configured in plugin settings<\/li>\n<\/ol>\n\n<h3>WordPress 6.9 Issues<\/h3>\n\n<p><strong>Problem<\/strong>: Plugin stopped working after WordPress 6.9 update<\/p>\n\n<p><strong>Solution<\/strong>: Update to version 5.2.0 which includes WordPress 6.9 compatibility fixes.<\/p>\n\n<h3>Support<\/h3>\n\n<ul>\n<li><strong>GitHub<\/strong>: <a href=\"https:\/\/github.com\/badwolf1972\/web-irc-client\">https:\/\/github.com\/badwolf1972\/web-irc-client<\/a><\/li>\n<li><strong>Issues<\/strong>: <a href=\"https:\/\/github.com\/badwolf1972\/web-irc-client\/issues\">https:\/\/github.com\/badwolf1972\/web-irc-client\/issues<\/a><\/li>\n<li><strong>WordPress Support<\/strong>: <a href=\"https:\/\/wordpress.org\/support\/plugin\/badwolf-web-irc-client\/\">https:\/\/wordpress.org\/support\/plugin\/badwolf-web-irc-client\/<\/a><\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<ul>\n<li><strong>Author<\/strong>: Martin Cooper (badwolf72)<\/li>\n<li><strong>Website<\/strong>: <a href=\"https:\/\/www.oo3dmodels.com\">https:\/\/www.oo3dmodels.com<\/a><\/li>\n<li><strong>License<\/strong>: GPL v2 or later<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin<\/li>\n<li>Upload to <code>\/wp-content\/plugins\/badwolf-web-irc-client\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to <strong>Settings \u2192 Badwolf Web IRC Client<\/strong><\/li>\n<li>Configure your WebSocket URL and channel<\/li>\n<li>Add <code>[web_irc_client]<\/code> shortcode to any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<p><strong>Q: Does this work with any IRC server?<\/strong> A: It's designed for UnrealIRCd with WebSocket support, but should work with any IRC server that supports WebSocket connections with the IRC subprotocol.<\/p>\n\n<p><strong>Q: Can I use this without SSL?<\/strong> A: While technically possible with <code>ws:\/\/<\/code> instead of <code>wss:\/\/<\/code>, it's strongly discouraged. Modern browsers may block non-secure WebSocket connections.<\/p>\n\n<p><strong>Q: How many users can connect?<\/strong> A: Limited only by your IRC server configuration and hosting resources.<\/p>\n\n<p><strong>Q: Can I customize the appearance?<\/strong> A: Yes! The plugin includes light and dark themes, and you can add custom CSS to further customize the appearance.<\/p>\n\n<p><strong>Q: Does it work on mobile?<\/strong> A: Yes, the interface is fully responsive and works on mobile devices.<\/p>\n\n<!--section=changelog-->\n<p>See <a href=\"CHANGELOG.md\">CHANGELOG.md<\/a> for detailed version history.<\/p>\n\n\n\n<p><strong>Version<\/strong>: 5.2.0<br \/>\n<strong>Last Updated<\/strong>: January 18, 2026<br \/>\n<strong>Tested up to<\/strong>: WordPress 6.9<br \/>\n<strong>Requires PHP<\/strong>: 7.4+<\/p>","raw_excerpt":"WebSocket IRC client for WordPress with real-time messaging, private chats, and desktop notifications. # Badwolf Web IRC Client - Version 5.2.0","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/254004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=254004"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/badwolf72"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=254004"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=254004"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=254004"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=254004"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=254004"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=254004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}