[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fmIYrbQxpsW5JN1uBXsWgh67LG8uiAYjNzztzXnwCEd0":3,"$fzfWM__h5skjYM10NITrd4cpMRv8aB-q7-EChQul9oNk":340,"$faJdKjjUwL0OhqZBg0ZKc1ps3Fdbiabu1XHvF0vHpvy0":344},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":36,"analysis":136,"fingerprints":309},"ns-chat","NS Chat","1.0.1","Sergey Ivanov","https:\u002F\u002Fprofiles.wordpress.org\u002Fnsgroup\u002F","\u003Cp>NS Chat Plugin enables real-time communication between WordPress users using WebSocket technology, powered by the Workerman library.\u003C\u002Fp>\n\u003Cp>Key Features:\u003Cbr \u002F>\n* Real-time private chat between users\u003Cbr \u002F>\n* Visual unread message indicators\u003Cbr \u002F>\n* Persistent chat history stored in the database\u003Cbr \u002F>\n* Lightweight modular JS + PHP architecture\u003Cbr \u002F>\n* Automatic migration and sync of WP users to chat system\u003Cbr \u002F>\n* Linux daemon service with SSL support for secure connections\u003Cbr \u002F>\n* Future-ready integration with NFS or AWS S3 for file upload\u002Fdownload\u003C\u002Fp>\n\u003Cp>Planned Features:\u003Cbr \u002F>\n* Message editing and deletion\u003Cbr \u002F>\n* Read receipt indicators (message seen)\u003Cbr \u002F>\n* File attachments with optional NFS or AWS S3 integration\u003C\u002Fp>\n\u003Cp>Ideal for community websites, intranets, or any platform requiring internal messaging without third-party services.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For integration help or consulting on adapting the plugin to your project, contact the developer at: ns.group.tech@gmail.com\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>WebSocket Server Setup (Linux with SSL)\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Create a systemd service file:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ccode>bash\u003Cbr \u002F>\nsudo vim \u002Fetc\u002Fsystemd\u002Fsystem\u002Fwebsocket_server.service\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Paste the following content:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ccode>bash\u003Cbr \u002F>\n[Unit]\u003Cbr \u002F>\nDescription=WebSocket Server for NS Chat (SSL)\u003Cbr \u002F>\nAfter=network.target\u003Cbr \u002F>\n[Service]\u003Cbr \u002F>\nExecStart=\u002Fusr\u002Fbin\u002Fphp \u002Ffile\u002Fto\u002Fpath\u002Fyourdomain\u002Fwp-content\u002Fplugins\u002Fns-chat\u002Fserver.php start\u003Cbr \u002F>\nRestart=always\u003Cbr \u002F>\nRestartSec=25\u003Cbr \u002F>\nUser=www-data\u003Cbr \u002F>\nGroup=www-data\u003Cbr \u002F>\nStandardOutput=file:\u002Fvar\u002Flog\u002Fwebsocket_server.out.log\u003Cbr \u002F>\nStandardError=file:\u002Fvar\u002Flog\u002Fwebsocket_server.err.log\u003Cbr \u002F>\n[Install]\u003Cbr \u002F>\nWantedBy=multi-user.target\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Add SSL context in \u003Ccode>server.php\u003C\u002Fcode>:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ccode>php\u003Cbr \u002F>\n$context = [\u003Cbr \u002F>\n'ssl' => [\u003Cbr \u002F>\n    'local_cert'  => '\u002Fpath\u002Fto\u002Ffile.crt',\u003Cbr \u002F>\n    'local_pk'    => '\u002Fpath\u002Fto\u002Ffile.key',\u003Cbr \u002F>\n    'verify_peer' => false,\u003Cbr \u002F>\n]\u003Cbr \u002F>\n];\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Set permissions for plugin folder:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ccode>bash\u003Cbr \u002F>\nsudo chown -R www-data:www-data \u002Fpath\u002Fto\u002Fns-chat\u002F\u003Cbr \u002F>\nsudo chmod -R 775 \u002Fpath\u002Fto\u002Fns-chat\u002F\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Reload and start the daemon:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ccode>bash\u003Cbr \u002F>\nsudo systemctl daemon-reload\u003Cbr \u002F>\nsudo systemctl enable websocket_server --now\u003Cbr \u002F>\nsudo systemctl restart websocket_server\u003Cbr \u002F>\nsudo systemctl status websocket_server\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Check logs if needed:\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Ccode>bash\u003Cbr \u002F>\n\u002Fvar\u002Flog\u002Fwebsocket_server.out.log\u003Cbr \u002F>\n\u002Fvar\u002Flog\u002Fwebsocket_server.err.log\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Custom Port Configuration\u003C\u002Fh3>\n\u003Cp>By default, the WebSocket server listens on \u003Cstrong>port 2346\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>To use a different port:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Change the port in \u003Ccode>server.php\u003C\u002Fcode>:\u003Cbr \u002F>\n\u003Ccode>php\u003Cbr \u002F>\n$wsWorker = new Worker('websocket:\u002F\u002F0.0.0.0:2346', $context);\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Change the port in \u003Ccode>ns-chat.php\u003C\u002Fcode>:\u003Cbr \u002F>\n\u003Ccode>php\u003Cbr \u002F>\n$ws_port = 2346;\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You can check and change the port in \u003Ccode>chat-ui.js\u003C\u002Fcode>:\u003Cbr \u002F>\n\u003Ccode>js\u003Cbr \u002F>\nconst port   = nschat_data.wsPort || 2346;\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If the port is closed, then open a new port on your server’s firewall:\u003Cbr \u002F>\n\u003Ccode>bash\u003Cbr \u002F>\nsudo ufw allow \u003Cyour-port>\u002Ftcp\u003Cbr \u002F>\nsudo firewall-cmd --permanent --add-port=\u003Cyour-port>\u002Ftcp\u003Cbr \u002F>\nsudo firewall-cmd --reload\u003Cbr \u002F>\nsudo iptables -A INPUT -p tcp --dport \u003Cyour-port> -j ACCEPT\u003Cbr \u002F>\nsudo iptables-save > \u002Fetc\u002Fiptables\u002Frules.v4\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Database Tables\u003C\u002Fh3>\n\u003Cp>The plugin creates and uses the following tables:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>wp_ns_chat_dialogues\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_ns_chat_messages\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>wp_ns_chat_users\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Tables are created and populated automatically on plugin activation.\u003C\u002Fp>\n\u003Ch3>User Synchronization\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Initial migration\u003C\u002Fstrong> of all users from \u003Ccode>wp_users\u003C\u002Fcode> to \u003Ccode>wp_ns_chat_users\u003C\u002Fcode> on plugin activation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>New registrations\u003C\u002Fstrong> are handled by:\u003Cbr \u002F>\n\u003Ccode>php\u003Cbr \u002F>\nadd_action('user_register', 'ns_chat_add_user_on_registration');\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Profile updates\u003C\u002Fstrong> are synced via:\u003Cbr \u002F>\n\u003Ccode>php\u003Cbr \u002F>\nadd_action('profile_update', 'ns_chat_update_user_data');\u003C\u002Fcode>\u003Cbr \u002F>\nYou may bind these functions to custom hooks based on your app’s logic.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>GPLv2 or later\u003C\u002Fp>\n","Real-time WebSocket chat for WordPress with user sync and message history.",0,395,"2025-09-23T06:35:00.000Z","6.8.5","5.8","7.4",[18,19,20,21,22],"chat","messaging","real-time","websocket","workerman","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fns-chat\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fns-chat.1.0.1.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"nsgroup",1,30,94,"2026-05-20T07:41:40.719Z",[37,53,70,89,113],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":11,"downloaded":45,"rating":11,"num_ratings":11,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":16,"tags":49,"homepage":51,"download_link":52,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"badwolf-web-irc-client","Badwolf Web IRC Client","5.2","badwolf72","https:\u002F\u002Fprofiles.wordpress.org\u002Fbadwolf72\u002F","\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Version 5.2.0 – What’s New\u003C\u002Fh3>\n\u003Ch3>🔧 WordPress 6.9 Compatibility\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>FIXED\u003C\u002Fstrong>: Plugin now works perfectly with WordPress 6.9\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FIXED\u003C\u002Fstrong>: Script loading issues with block themes and Full Site Editing (FSE)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FIXED\u003C\u002Fstrong>: Configuration passing to JavaScript\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔌 WebSocket Improvements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>FIXED\u003C\u002Fstrong>: Connection stability issues\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FIXED\u003C\u002Fstrong>: Binary WebSocket data handling\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ADDED\u003C\u002Fstrong>: IRC subprotocol support for UnrealIRCd\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>⚙️ User Experience\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ADDED\u003C\u002Fstrong>: Settings link in plugin list for easy access\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IMPROVED\u003C\u002Fstrong>: Error handling and logging\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IMPROVED\u003C\u002Fstrong>: Connection reliability\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>✅ Real-time IRC chat via secure WebSocket (wss:\u002F\u002F)\u003C\u002Fli>\n\u003Cli>✅ Private messaging between users\u003C\u002Fli>\n\u003Cli>✅ Desktop notifications for mentions and PMs\u003C\u002Fli>\n\u003Cli>✅ Multiple channel support with tabbed interface\u003C\u002Fli>\n\u003Cli>✅ User list with right-click context menus\u003C\u002Fli>\n\u003Cli>✅ Command history (use arrow keys)\u003C\u002Fli>\n\u003Cli>✅ Auto-reconnection with smart retry logic\u003C\u002Fli>\n\u003Cli>✅ Customizable themes (light\u002Fdark)\u003C\u002Fli>\n\u003Cli>✅ Mobile-responsive design\u003C\u002Fli>\n\u003Cli>✅ IRC commands support (\u002Fnick, \u002Fjoin, \u002Fpart, \u002Fmsg, \u002Fme)\u003C\u002Fli>\n\u003Cli>✅ Tab completion for nicknames\u003C\u002Fli>\n\u003Cli>✅ Unread message badges\u003C\u002Fli>\n\u003Cli>✅ Message history (500 messages per channel)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>WordPress\u003C\u002Fstrong>: 5.0 or higher (tested up to 6.9)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PHP\u003C\u002Fstrong>: 7.4 or higher\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IRC Server\u003C\u002Fstrong>: UnrealIRCd 6.x with WebSocket support (recommended)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SSL Certificate\u003C\u002Fstrong>: Valid SSL\u002FTLS certificate for secure WebSocket (wss:\u002F\u002F)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Ch3>WordPress Settings\u003C\u002Fh3>\n\u003Cp>Navigate to \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Badwolf Web IRC Client\u003C\u002Fstrong> and configure:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>WebSocket URL\u003C\u002Fstrong>: Your IRC server WebSocket URL (e.g., \u003Ccode>wss:\u002F\u002Firc.example.com:7443\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Default Channel\u003C\u002Fstrong>: IRC channel to join (e.g., \u003Ccode>#general\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Nickname Prefix\u003C\u002Fstrong>: Prefix for auto-generated nicknames (e.g., \u003Ccode>guest\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Real Name\u003C\u002Fstrong>: Default real name for users\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme\u003C\u002Fstrong>: Light or Dark theme\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto Connect\u003C\u002Fstrong>: Automatically connect when page loads\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>UnrealIRCd Server Configuration\u003C\u002Fh3>\n\u003Cp>Your UnrealIRCd server must have WebSocket support enabled:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`conf\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Load WebSocket module\u003C\u002Fp>\n\u003Cp>loadmodule “websocket”;\u003C\u002Fp>\n\u003Cp>Configure WebSocket listener\u003C\u002Fp>\n\u003Cp>listen {\u003Cbr \u002F>\n    ip *;\u003Cbr \u002F>\n    port 7443;\u003Cbr \u002F>\n    options {\u003Cbr \u002F>\n        tls;\u003Cbr \u002F>\n        websocket;\u003Cbr \u002F>\n    }\u003Cbr \u002F>\n    tls-options {\u003Cbr \u002F>\n        certificate “\u002Fpath\u002Fto\u002Ffullchain.pem”;\u003Cbr \u002F>\n        key “\u002Fpath\u002Fto\u002Fprivkey.pem”;\u003Cbr \u002F>\n        options {\u003Cbr \u002F>\n            no-client-certificate;\u003Cbr \u002F>\n        }\u003Cbr \u002F>\n    }\u003Cbr \u002F>\n}\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>SSL Certificate Setup (Let’s Encrypt)\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>`bash\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Install certbot if not already installed\u003C\u002Fp>\n\u003Cp>sudo apt-get install certbot\u003C\u002Fp>\n\u003Cp>Get certificate for your IRC domain\u003C\u002Fp>\n\u003Cp>sudo certbot certonly –standalone -d irc.yourdomain.com\u003C\u002Fp>\n\u003Cp>Copy certificates to UnrealIRCd\u003C\u002Fp>\n\u003Cp>sudo cp \u002Fetc\u002Fletsencrypt\u002Flive\u002Firc.yourdomain.com\u002Ffullchain.pem \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F\u003Cbr \u002F>\nsudo cp \u002Fetc\u002Fletsencrypt\u002Flive\u002Firc.yourdomain.com\u002Fprivkey.pem \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F\u003C\u002Fp>\n\u003Cp>Set correct permissions\u003C\u002Fp>\n\u003Cp>sudo chown unrealircd:unrealircd \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F*.pem\u003Cbr \u002F>\nsudo chmod 600 \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002Fprivkey.pem\u003Cbr \u002F>\nsudo chmod 644 \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002Ffullchain.pem\u003C\u002Fp>\n\u003Cp>Restart UnrealIRCd\u003C\u002Fp>\n\u003Cp>cd \u002Fpath\u002Fto\u002Funrealircd\u003Cbr \u002F>\n.\u002Funrealircd restart\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>Auto-Renewal Setup\u003C\u002Fh3>\n\u003Cp>Create a renewal hook to automatically copy certificates:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`bash\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Create renewal hook script\u003C\u002Fp>\n\u003Cp>sudo nano \u002Fetc\u002Fletsencrypt\u002Frenewal-hooks\u002Fdeploy\u002Fcopy-to-unrealircd.sh\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>Add this content:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`bash\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>!\u002Fbin\u002Fbash\u003C\u002Fp>\n\u003Cp>cp \u002Fetc\u002Fletsencrypt\u002Flive\u002Firc.yourdomain.com\u002Ffullchain.pem \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F\u003Cbr \u002F>\ncp \u002Fetc\u002Fletsencrypt\u002Flive\u002Firc.yourdomain.com\u002Fprivkey.pem \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F\u003Cbr \u002F>\nchown unrealircd:unrealircd \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F*.pem\u003Cbr \u002F>\nchmod 600 \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002Fprivkey.pem\u003Cbr \u002F>\nchmod 644 \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002Ffullchain.pem\u003Cbr \u002F>\n\u002Fpath\u002Fto\u002Funrealircd\u002Funrealircd rehash\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>Make it executable:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`bash\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>sudo chmod +x \u002Fetc\u002Fletsencrypt\u002Frenewal-hooks\u002Fdeploy\u002Fcopy-to-unrealircd.sh\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>Basic Shortcode\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>`\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>[web_irc_client]\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>Shortcode with Attributes\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>`\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>[web_irc_client theme=”dark” width=”100%” height=”600px”]\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available attributes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>theme\u003C\u002Fcode> – Override theme (light or dark)\u003C\u002Fli>\n\u003Cli>\u003Ccode>width\u003C\u002Fcode> – Set custom width (default: 100%)\u003C\u002Fli>\n\u003Cli>\u003Ccode>height\u003C\u002Fcode> – Set custom height (default: 70vh)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>IRC Commands\u003C\u002Fh3>\n\u003Cp>Users can use standard IRC commands:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fnick newname\u003C\u002Fcode> – Change nickname\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fjoin #channel\u003C\u002Fcode> – Join a channel\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fpart\u003C\u002Fcode> – Leave current channel\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fmsg username message\u003C\u002Fcode> – Send private message\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fme action\u003C\u002Fcode> – Send action message\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fhelp\u003C\u002Fcode> – Show available commands\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Troubleshooting\u003C\u002Fh3>\n\u003Ch3>Connection Issues\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Problem\u003C\u002Fstrong>: “Reconnecting…” message appears\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Solutions\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Verify UnrealIRCd is running: \u003Ccode>ps aux | grep unrealircd\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Check port is listening: \u003Ccode>sudo netstat -tlnp | grep 7443\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Verify SSL certificate is valid and not expired\u003C\u002Fli>\n\u003Cli>Check UnrealIRCd logs: \u003Ccode>tail -f \u002Fpath\u002Fto\u002Funrealircd\u002Flogs\u002Fircd.log\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Test WebSocket connection: \u003Ca href=\"https:\u002F\u002Fwww.piesocket.com\u002Fwebsocket-tester\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.piesocket.com\u002Fwebsocket-tester\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>SSL Certificate Errors\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Problem\u003C\u002Fstrong>: Certificate expired or invalid\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Solution\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`bash\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Check certificate expiry\u003C\u002Fp>\n\u003Cp>sudo certbot certificates\u003C\u002Fp>\n\u003Cp>Renew if needed\u003C\u002Fp>\n\u003Cp>sudo certbot renew –force-renewal\u003C\u002Fp>\n\u003Cp>Copy to UnrealIRCd and restart\u003C\u002Fp>\n\u003Cp>sudo cp \u002Fetc\u002Fletsencrypt\u002Flive\u002Firc.yourdomain.com\u002F*.pem \u002Fpath\u002Fto\u002Funrealircd\u002Fconf\u002Ftls\u002F\u003Cbr \u002F>\n.\u002Funrealircd restart\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>Plugin Not Loading\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Problem\u003C\u002Fstrong>: IRC client doesn’t appear on page\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Solutions\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Verify shortcode is correct: \u003Ccode>[web_irc_client]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Clear WordPress cache\u003C\u002Fli>\n\u003Cli>Clear browser cache (Ctrl+Shift+R)\u003C\u002Fli>\n\u003Cli>Check browser console for JavaScript errors (F12)\u003C\u002Fli>\n\u003Cli>Verify WebSocket URL is configured in plugin settings\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>WordPress 6.9 Issues\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Problem\u003C\u002Fstrong>: Plugin stopped working after WordPress 6.9 update\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Solution\u003C\u002Fstrong>: Update to version 5.2.0 which includes WordPress 6.9 compatibility fixes.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>GitHub\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbadwolf1972\u002Fweb-irc-client\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbadwolf1972\u002Fweb-irc-client\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Issues\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbadwolf1972\u002Fweb-irc-client\u002Fissues\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbadwolf1972\u002Fweb-irc-client\u002Fissues\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WordPress Support\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbadwolf-web-irc-client\u002F\" rel=\"ugc\">https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fbadwolf-web-irc-client\u002F\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Author\u003C\u002Fstrong>: Martin Cooper (badwolf72)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Website\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fwww.oo3dmodels.com\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.oo3dmodels.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>License\u003C\u002Fstrong>: GPL v2 or later\u003C\u002Fli>\n\u003C\u002Ful>\n","WebSocket IRC client for WordPress with real-time messaging, private chats, and desktop notifications. # Badwolf Web IRC Client - Version 5.2.0",311,"2026-01-17T13:50:00.000Z","6.9.4","5.0",[18,50,19,20,21],"irc","https:\u002F\u002Fgithub.com\u002Fbadwolf1972\u002Fweb-irc-client","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbadwolf-web-irc-client.zip",{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":11,"downloaded":61,"rating":11,"num_ratings":11,"last_updated":62,"tested_up_to":14,"requires_at_least":63,"requires_php":64,"tags":65,"homepage":67,"download_link":68,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":69},"chat-webirc","Chat for WebIRC","0.8.1","jtzl","https:\u002F\u002Fprofiles.wordpress.org\u002Fjtzl\u002F","\u003Cp>This plugin provides a shortcode that renders a lightweight IRC client written in vanilla JavaScript. It supports direct WebSocket connections to IRC servers (IRCv3-friendly) and includes an optional WebIRC gateway.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Security-conscious defaults:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Server allow-list (host:port format), WSS (WebSockets over SSL\u002FTLS) only\u003C\u002Fli>\n\u003Cli>Optional WebSocket subprotocols (e.g., \u003Ccode>text.ircv3.net\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Optional WS path (e.g., \u003Ccode>\u002Fwebirc\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Optional CSP connect-src helper (off by default)\u003C\u002Fli>\n\u003Cli>Input sanitization and validation\u003C\u002Fli>\n\u003Cli>Proper escaping of output\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Sharing\u003C\u002Fstrong>: Upload and share images directly in chat with drag-and-drop support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Avatars\u003C\u002Fstrong>: Personalized user avatars with upload, crop, and preview functionality\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Image Processing\u003C\u002Fstrong>: Automatic optimization, resizing, and format conversion (WebP support)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Optimized\u003C\u002Fstrong>: Memory-efficient processing with caching and lazy loading\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile-First Images\u003C\u002Fstrong>: Touch-friendly upload interface with responsive image display\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern Responsive Design\u003C\u002Fstrong>: Mobile-first approach with adaptive layouts for all screen sizes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced Mobile Experience\u003C\u002Fstrong>: Touch-optimized interface with proper virtual keyboard support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Responsive Behavior\u003C\u002Fstrong>: Overlay sidebar on mobile, collapsible on tablet, side-by-side on desktop\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editable Username\u003C\u002Fstrong>: Click-to-edit nickname with real-time validation and user persistence\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User Persistence\u003C\u002Fstrong>: Automatic nickname saving for logged-in WordPress users\u003C\u002Fli>\n\u003Cli>Lightweight vanilla TypeScript\u002FJavaScript implementation (no frameworks)\u003C\u002Fli>\n\u003Cli>Fully responsive design with semantic HTML\u003C\u002Fli>\n\u003Cli>Internationalization ready (i18n strings)\u003C\u002Fli>\n\u003Cli>Configurable server allow-list with strict validation\u003C\u002Fli>\n\u003Cli>WebSocket subprotocol support (IRCv3)\u003C\u002Fli>\n\u003Cli>Optional WebIRC gateway fallback\u003C\u002Fli>\n\u003Cli>Comprehensive IRC slash commands: 30+ commands including \u002Fjoin, \u002Fpart, \u002Fnick, \u002Fmsg, \u002Fwhois, \u002Ftopic, \u002Faway, \u002Fhelp, and more\u003C\u002Fli>\n\u003Cli>Automatic nickname generation and collision handling\u003C\u002Fli>\n\u003Cli>Debug logging and connection status indicators\u003C\u002Fli>\n\u003Cli>Optional Content Security Policy (CSP) header generation\u003C\u002Fli>\n\u003Cli>WordPress hooks and filters for extensibility\u003C\u002Fli>\n\u003Cli>Follows WordPress Coding Standards\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Basic Usage:\u003C\u002Fstrong>\u003Cbr \u002F>\nSimply add the shortcode \u003Ccode>[chat_webirc]\u003C\u002Fcode> to any page or post where you want the IRC chat to appear. The plugin will use secure default settings to connect to a test IRC server.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shortcode Examples:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Basic: \u003Ccode>[chat_webirc]\u003C\u002Fcode> – Uses default server and channel\u003Cbr \u002F>\n* Custom channel: \u003Ccode>[chat_webirc channel=\"#mychannel\"]\u003C\u002Fcode>\u003Cbr \u002F>\n* Custom server: \u003Ccode>[chat_webirc server=\"irc.example.com:7443\" channel=\"#general\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available IRC Commands:\u003C\u002Fstrong>\u003Cbr \u002F>\nOnce the chat is loaded, users can use these commands:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Basic Commands:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>\u002Fjoin #channel\u003C\u002Fcode> – Join a channel\u003Cbr \u002F>\n* \u003Ccode>\u002Fpart [#channel]\u003C\u002Fcode> – Leave current or specified channel\u003Cbr \u002F>\n* \u003Ccode>\u002Fnick newname\u003C\u002Fcode> – Change nickname\u003Cbr \u002F>\n* \u003Ccode>\u002Fquit [message]\u003C\u002Fcode> – Disconnect\u003Cbr \u002F>\n* \u003Ccode>\u002Fhelp\u003C\u002Fcode> – Show all available commands\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Communication:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>\u002Fmsg \u003Cnick> \u003Cmessage>\u003C\u002Fcode> – Send private message\u003Cbr \u002F>\n* \u003Ccode>\u002Fnotice \u003Ctarget> \u003Cmessage>\u003C\u002Fcode> – Send notice message\u003Cbr \u002F>\n* \u003Ccode>\u002Fme \u003Caction>\u003C\u002Fcode> – Send action message\u003Cbr \u002F>\n* \u003Ccode>\u002Fquery \u003Cnick>\u003C\u002Fcode> – Open private chat context\u003C\u002Fp>\n\u003Cp>\u003Cstrong>User & Channel Info:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>\u002Fwhois \u003Cnick>\u003C\u002Fcode> – Get detailed user information\u003Cbr \u002F>\n* \u003Ccode>\u002Fwho [channel]\u003C\u002Fcode> – List users in channel\u003Cbr \u002F>\n* \u003Ccode>\u002Flist [pattern]\u003C\u002Fcode> – List available channels\u003Cbr \u002F>\n* \u003Ccode>\u002Fnames [channel]\u003C\u002Fcode> – List nicknames in channel\u003Cbr \u002F>\n* \u003Ccode>\u002Ftopic [text]\u003C\u002Fcode> – View\u002Fset channel topic\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Status & Utility:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>\u002Faway [message]\u003C\u002Fcode> – Set away status\u003Cbr \u002F>\n* \u003Ccode>\u002Fback\u003C\u002Fcode> – Remove away status\u003Cbr \u002F>\n* \u003Ccode>\u002Fping \u003Cnick>\u003C\u002Fcode> – Ping user\u003Cbr \u002F>\n* \u003Ccode>\u002Fversion [nick]\u003C\u002Fcode> – Get version info\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Advanced Commands:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>\u002Fctcp \u003Cnick> \u003Ccommand>\u003C\u002Fcode> – Send CTCP command\u003Cbr \u002F>\n* \u003Ccode>\u002Fmotd [server]\u003C\u002Fcode> – View message of the day\u003Cbr \u002F>\n* \u003Ccode>\u002Fstats \u003Cquery> [server]\u003C\u002Fcode> – View server statistics\u003Cbr \u002F>\n* \u003Ccode>\u002Fraw \u003Ccommand>\u003C\u002Fcode> – Send raw IRC command (if enabled)\u003C\u002Fp>\n\u003Cp>Type \u003Ccode>\u002Fhelp\u003C\u002Fcode> in the chat for the complete command reference.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Configuration:\u003C\u002Fstrong>\u003Cbr \u002F>\nGo to \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Chat for WebIRC\u003C\u002Fstrong> in your WordPress admin to customize servers, channels, and security options.\u003C\u002Fp>\n\u003Ch3>Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Some public IRC networks may restrict WebSocket connections to certain origins. The included test server permits connections for testing purposes.\u003C\u002Fli>\n\u003Cli>Do not send sensitive information. This client is intentionally minimal and does not yet support SASL authentication.\u003C\u002Fli>\n\u003C\u002Ful>\n","A framework-light WordPress plugin that embeds a WebSocket IRC client.",154,"2025-11-18T16:05:00.000Z","6.8","8.2",[18,66,50,20,21],"communication","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchat-webirc.0.8.1.zip","2026-03-15T15:16:48.613Z",{"slug":71,"name":72,"version":73,"author":74,"author_profile":75,"description":76,"short_description":77,"active_installs":11,"downloaded":78,"rating":79,"num_ratings":32,"last_updated":80,"tested_up_to":81,"requires_at_least":82,"requires_php":83,"tags":84,"homepage":86,"download_link":87,"security_score":88,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"livechat-lazucrub","LiveChat LazucruB","1.2","Chirukin Bogdan","https:\u002F\u002Fprofiles.wordpress.org\u002Fcheater111\u002F","\u003Cp>This plugin is a client of \u003Ca href=\"http:\u002F\u002F13.48.132.210\u002F\" rel=\"nofollow ugc\">RealTime Web Chat\u003C\u002Fa> websocket service, build real time chat on your site.\u003Cbr \u002F>\nThis service give posibilities to create and moderation your room.\u003C\u002Fp>\n\u003Ch3>Install\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload install and activated this plugin after wordpress.org repository or download zip;\u003C\u002Fli>\n\u003Cli>Create account on \u003Ca href=\"http:\u002F\u002F13.48.132.210\u002Fmy-account\u002F\" rel=\"nofollow ugc\">RealTime Web Chat\u003C\u002Fa>;\u003C\u002Fli>\n\u003Cli>Insert public and private key on page ‘Settings > LiveChat LazucruB’\u003C\u002Fli>\n\u003Cli>Type shortcode [real-time-chat] to show chat window on page.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Col>\n\u003Cli>jQuery\u003C\u002Fli>\n\u003Cli>jQuery UI Accordeon\u003C\u002Fli>\n\u003Cli>jQuery Templates\u003C\u002Fli>\n\u003Cli>Emoji Picker\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin is a client of RealTime Web Chat websocket service, build real time chat on your site.",8224,20,"2020-12-05T09:52:00.000Z","5.6.17","4.7","7.0",[18,85,20,21],"online","http:\u002F\u002Fec2-13-48-132-210.eu-north-1.compute.amazonaws.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flivechat-lazucrub.zip",85,{"slug":90,"name":91,"version":92,"author":93,"author_profile":94,"description":95,"short_description":96,"active_installs":97,"downloaded":98,"rating":99,"num_ratings":100,"last_updated":101,"tested_up_to":102,"requires_at_least":103,"requires_php":104,"tags":105,"homepage":67,"download_link":109,"security_score":110,"vuln_count":111,"unpatched_count":11,"last_vuln_date":112,"fetched_at":27},"facebook-messenger-customer-chat","Facebook Chat Plugin – Live Chat Plugin for WordPress","2.5","Facebook","https:\u002F\u002Fprofiles.wordpress.org\u002Ffacebook\u002F","\u003Cp>Communicate with customers on your website with Messenger-powered chat. Chat Plugin is a chat widget maintained by the Meta Business that enables live chat on your website.\u003C\u002Fp>\n\u003Cp>Whether they’re on their computer or their phone, website visitors will be able to message you anytime by clicking on a small Messenger chat bubble in the lower right corner of your site.\u003C\u002Fp>\n\u003Cp>Key features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Website visitors can message you while browsing your site.\u003C\u002Fli>\n\u003Cli>Set up auto-replies and answers to common questions to serve customers when you’re not available.\u003C\u002Fli>\n\u003Cli>Continue the conversation with customers on Messenger even after they leave your website.\u003C\u002Fli>\n\u003Cli>Visitors without a Facebook Messenger account can ask you questions anonymously in Guest mode.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fbusiness\u002Fmessenger\u002Fget-started\" rel=\"nofollow ugc\">Messenger\u003C\u002Fa>’s familiar interface builds trust.\u003C\u002Fli>\n\u003Cli>No need to switch between apps to answer questions you get on the website.\u003C\u002Fli>\n\u003C\u002Ful>\n","The Facebook Chat Plugin makes it easy for your website visitors to chat with you and ask you questions, even if they don't have Messenger.",80000,1754307,70,303,"2022-07-05T23:01:00.000Z","5.9.13","3.9","5.2.4",[18,106,107,19,108],"customer-care","facebook","messenger","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffacebook-messenger-customer-chat.zip",84,2,"2020-08-04 00:00:00",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":121,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":83,"requires_at_least":126,"requires_php":16,"tags":127,"homepage":131,"download_link":132,"security_score":133,"vuln_count":134,"unpatched_count":11,"last_vuln_date":135,"fetched_at":27},"bp-better-messages","Better Messages – Live Chat, Chat Rooms, Real-Time Messaging & Private Messages","2.14.16","wordplus","https:\u002F\u002Fprofiles.wordpress.org\u002Fwordplus\u002F","\u003Cp>\u003Cstrong>Better Messages\u003C\u002Fstrong> – is the most feature-rich \u003Cstrong>realtime private messaging system for WordPress\u003C\u002Fstrong>, with native integrations for \u003Cstrong>BuddyPress, BuddyBoss Platform, Ultimate Member, PeepSo\u003C\u002Fstrong> and any other WordPress powered websites.\u003C\u002Fp>\n\u003Cp>Transform your WordPress site into a powerful communication platform with \u003Cstrong>private messaging\u003C\u002Fstrong>, \u003Cstrong>chat rooms\u003C\u002Fstrong>, \u003Cstrong>video and audio calls\u003C\u002Fstrong>, \u003Cstrong>group video chats\u003C\u002Fstrong>, \u003Cstrong>AI chat bots\u003C\u002Fstrong>, and \u003Cstrong>native mobile apps\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Whether you’re building a social network, online community, marketplace, or membership site – Better Messages provides enterprise-level messaging features with an easy-to-use interface.\u003C\u002Fp>\n\u003Cp>“\u003Cstrong>Better Messages\u003C\u002Fstrong>” plugin is formerly called “\u003Cstrong>BP Better Messages\u003C\u002Fstrong>“.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002F\" rel=\"nofollow ugc\">More Info & Demo & Knowledge Base\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fbm-translate\u002F\" rel=\"nofollow ugc\">Translate Better Messages to your language\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FjMHx97QsXj8?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Core Messaging Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AJAX or WebSocket powered realtime conversations\u003C\u002Fli>\n\u003Cli>Private one-to-one conversations\u003C\u002Fli>\n\u003Cli>Group conversations with unlimited participants\u003C\u002Fli>\n\u003Cli>Chat Rooms with guest access support\u003C\u002Fli>\n\u003Cli>Messages for BuddyPress Groups, PeepSo Groups, Ultimate Member Groups, FluentCommunity Groups\u003C\u002Fli>\n\u003Cli>Subjects for conversations\u003C\u002Fli>\n\u003Cli>Search across all messages\u003C\u002Fli>\n\u003Cli>Mark messages as favorite\u003C\u002Fli>\n\u003Cli>Pin important messages to conversation top\u003C\u002Fli>\n\u003Cli>Pin favorite conversations to list top\u003C\u002Fli>\n\u003Cli>Filter conversations list to show only unread conversations\u003C\u002Fli>\n\u003Cli>Reply to specific messages\u003C\u002Fli>\n\u003Cli>Edit sent messages (with edit indicator)\u003C\u002Fli>\n\u003Cli>Delete messages\u003C\u002Fli>\n\u003Cli>Forward messages to other conversations\u003C\u002Fli>\n\u003Cli>Mute conversation notifications\u003C\u002Fli>\n\u003Cli>Message draft autosave with recovery\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>AI & Automation:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AI Chat Bots powered by OpenAI, Anthropic (Claude) and Google Gemini\u003C\u002Fli>\n\u003Cli>AI Chat Bots in group conversations with mention-based responses\u003C\u002Fli>\n\u003Cli>Conversation summarization and scheduled digests with AI\u003C\u002Fli>\n\u003Cli>Token usage tracking with cost estimation\u003C\u002Fli>\n\u003Cli>Voice message transcription powered by Better Messages Cloud AI or OpenAI\u003C\u002Fli>\n\u003Cli>Web Search capability for AI bots\u003C\u002Fli>\n\u003Cli>File Search tool for AI bots\u003C\u002Fli>\n\u003Cli>Image generation with AI\u003C\u002Fli>\n\u003Cli>PDF file support for AI conversations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Media & Content:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>File sharing with resumable uploads and ability to protect files from direct access (images, videos, documents)\u003C\u002Fli>\n\u003Cli>Client-side image and video optimization for cross-browser compatibility and saving storage space (format conversion, quality control, metadata stripping)\u003C\u002Fli>\n\u003Cli>Voice Messages (available as addon)\u003C\u002Fli>\n\u003Cli>Embedded links with thumbnails and descriptions\u003C\u002Fli>\n\u003Cli>oEmbed support for YouTube, Vimeo, Spotify, SoundCloud, Flickr and 20+ services\u003C\u002Fli>\n\u003Cli>Emoji selector\u003C\u002Fli>\n\u003Cli>Built-in sticker packs with role-based access and per-locale support\u003C\u002Fli>\n\u003Cli>GIF integration with GIPHY and Klipy providers\u003C\u002Fli>\n\u003Cli>Inline sticker suggestions while typing\u003C\u002Fli>\n\u003Cli>Markdown text formatting support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Notifications:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Email notifications for unread messages (customizable templates)\u003C\u002Fli>\n\u003Cli>Unsubscribe link support in emails\u003C\u002Fli>\n\u003Cli>Sound notifications for new messages\u003C\u002Fli>\n\u003Cli>On-site toast notifications anywhere on your website\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Moderation & Security:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>AI Content Moderation with two providers:\n\u003Cul>\n\u003Cli>\u003Cstrong>Better Messages Moderation AI\u003C\u002Fstrong> — included with WebSocket license at no additional cost, no third-party API keys required. Powered by Better Messages Cloud with extended categories, custom rules, and conversation context awareness\u003C\u002Fli>\n\u003Cli>\u003Cstrong>OpenAI Moderation API\u003C\u002Fstrong> — free to use, requires an OpenAI API key\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Custom moderation rules — define your own rules in plain text\u003C\u002Fli>\n\u003Cli>Conversation context awareness — detect patterns split across multiple messages\u003C\u002Fli>\n\u003Cli>Choose between “Flag Only” (recommended) or “Hold for Review” moderation actions\u003C\u002Fli>\n\u003Cli>Pre-Moderated Messages – review messages before delivery\u003C\u002Fli>\n\u003Cli>Report messages feature\u003C\u002Fli>\n\u003Cli>Bad words filter with customizable blacklist\u003C\u002Fli>\n\u003Cli>Block user feature\u003C\u002Fli>\n\u003Cli>Role-based access control\u003C\u002Fli>\n\u003Cli>User whitelist\u002Fblacklist for moderation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Engagement Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Reactions to messages\u003C\u002Fli>\n\u003Cli>Mentions (@username)\u003C\u002Fli>\n\u003Cli>Mass messaging from WP Admin with scheduling, file attachments, and background processing\u003C\u002Fli>\n\u003Cli>Suggested conversations for new users\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Customization:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Modern, fully customizable design\u003C\u002Fli>\n\u003Cli>Easy color customization via WP Customizer\u003C\u002Fli>\n\u003Cli>Custom notification sounds\u003C\u002Fli>\n\u003Cli>RTL layout support\u003C\u002Fli>\n\u003Cli>White label solution\u003C\u002Fli>\n\u003Cli>Fully translatable\u003C\u002Fli>\n\u003Cli>Auto-delete old messages option\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Privacy & GDPR:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dedicated Privacy & GDPR settings page\u003C\u002Fli>\n\u003Cli>All message data stored on your own server\u003C\u002Fli>\n\u003Cli>AI moderation (when enabled) sends message content for analysis — Better Messages Cloud does not store any data; review OpenAI’s data policy if using OpenAI provider\u003C\u002Fli>\n\u003Cli>WordPress personal data export and erasure support (Tools \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Export\u002FErase Personal Data)\u003C\u002Fli>\n\u003Cli>Suggested privacy policy text that adapts based on enabled features\u003C\u002Fli>\n\u003Cli>Self-hosted emoji images option — no external CDN requests\u003C\u002Fli>\n\u003Cli>Privacy-friendly video embeds — YouTube, Vimeo load only after user clicks\u003C\u002Fli>\n\u003Cli>No cookies set, no analytics or tracking scripts\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Ffeatures\u002Fprivacy-gdpr\u002F\" rel=\"nofollow ugc\">Privacy & GDPR documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>This is not a complete list of features\u003C\u002Fstrong> – Better Messages has many more small features and options that are not listed here. We are constantly adding new features and improvements based on user feedback.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Compatible plugins:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fbuddypress\u002F\" rel=\"nofollow ugc\">BuddyPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fpeepso\u002F\" rel=\"nofollow ugc\">PeepSo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fultimate-member\u002F\" rel=\"nofollow ugc\">Ultimate Member\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fbuddyboss\u002F\" rel=\"nofollow ugc\">BuddyBoss Platform\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwoocommerce\u002F\" rel=\"nofollow ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fhivepress\u002F\" rel=\"nofollow ugc\">HivePress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fdokan\u002F\" rel=\"nofollow ugc\">Dokan Marketplace\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fmultivendorx\u002F\" rel=\"nofollow ugc\">MultiVendorX\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwp-job-manager\u002F\" rel=\"nofollow ugc\">WP Job Manager\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fprofile-grid\u002F\" rel=\"nofollow ugc\">ProfileGrid\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fuserswp\u002F\" rel=\"nofollow ugc\">UsersWP\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwp-user-manager\u002F\" rel=\"nofollow ugc\">WP User Manager\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Ffluentcommunity\u002F\" rel=\"nofollow ugc\">FluentCommunity\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fsuredash\u002F\" rel=\"nofollow ugc\">SureDash\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fwpforo\u002F\" rel=\"nofollow ugc\">wpForo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fjet-engine\u002F\" rel=\"nofollow ugc\">Crocoblock JetEngine Profile Builder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fonesignal\u002F\" rel=\"nofollow ugc\">OneSignal\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fprogressify\u002F\" rel=\"nofollow ugc\">Progressify PWA\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Funcanny-automator\u002F\" rel=\"nofollow ugc\">Uncanny Automator\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fautomatorwp\u002F\" rel=\"nofollow ugc\">AutomatorWP\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fgamipress\u002F\" rel=\"nofollow ugc\">GamiPress\u003C\u002Fa> – charge for messages & calls with per-role pricing and balance display\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fintegrations\u002Fmycred\u002F\" rel=\"nofollow ugc\">MyCRED\u003C\u002Fa> – charge for messages & calls with per-role pricing and balance display\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fpmpro\" rel=\"nofollow ugc\">Paid Memberships Pro\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fknowledge-base\u002Fwc-vendors\u002F\" rel=\"nofollow ugc\">WC Vendors\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fknowledge-base\u002Fwcfm\u002F\" rel=\"nofollow ugc\">WCFM\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.better-messages.com\u002Fdocs\u002Fcategory\u002Fintegrations\u002F\" rel=\"nofollow ugc\">Full list of integrations\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Feel free to report any incompatibility or request more integrations, that is very important to help to improve Better Messages plugin!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>WebSocket version:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WebSocket version is a paid option, you can get license key on our website.\u003C\u002Fp>\n\u003Cp>We use our dedicated servers to implement WebSocket communications between your site and users. Our servers are completely private and do not store or track any private data – all messages remain in your database.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance & Reliability:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Significantly\u003C\u002Fstrong> reduces the load on your server (up to 200x less requests)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant\u003C\u002Fstrong> message delivery in realtime\u003C\u002Fli>\n\u003Cli>Works with any hosting including shared hosting\u003C\u002Fli>\n\u003Cli>No limits on concurrent connections or monthly active users\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Video & Audio Calls:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HD Video Calls (1-to-1)\u003C\u002Fli>\n\u003Cli>HD Audio Calls (1-to-1)\u003C\u002Fli>\n\u003Cli>Group Video Chats (up to 32 participants)\u003C\u002Fli>\n\u003Cli>Group Audio Chats (up to 50 participants)\u003C\u002Fli>\n\u003Cli>Screen Sharing in calls and group chats\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Mobile Apps (Alpha):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>iOS Mobile App (build your own branded app) – Alpha\u003C\u002Fli>\n\u003Cli>Android Mobile App (build your own branded app) – Alpha\u003C\u002Fli>\n\u003Cli>Push notifications for calls and messages\u003C\u002Fli>\n\u003Cli>VoIP notifications for incoming calls\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note: Mobile apps are currently in alpha stage. Core functionality works, but some features may be limited or under development.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Realtime Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Messages Delivery Status (sent, delivered, seen)\u003C\u002Fli>\n\u003Cli>Typing, voice recording and file uploading activity indicators\u003C\u002Fli>\n\u003Cli>Online\u002FOffline presence indicator\u003C\u002Fli>\n\u003Cli>User statuses (Online, Away, Do Not Disturb)\u003C\u002Fli>\n\u003Cli>Mini Chats – chat windows anywhere on your site\u003C\u002Fli>\n\u003Cli>Mini Conversations widget\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Better Messages Cloud AI:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic message translation in 1-to-1 conversations — 53 languages, auto-detection\u003C\u002Fli>\n\u003Cli>AI Content Moderation — 23 categories, custom rules, conversation context awareness\u003C\u002Fli>\n\u003Cli>Voice message transcription — 99+ languages with auto-detection\u003C\u002Fli>\n\u003Cli>No third-party API keys required — included with WebSocket license at no additional cost\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Security & Encryption:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Optional End-to-End Encryption (E2EE) — can be enabled at the website level and per conversation; messages and files encrypted in users’ browsers with AES-256-GCM, server never sees plaintext\u003C\u002Fli>\n\u003Cli>Local browser encryption (AES256) for offline message storage\u003C\u002Fli>\n\u003Cli>Web Push Notifications (works even when the browser is closed)\u003C\u002Fli>\n\u003Cli>All data encrypted in transit, so we can’t read it on our servers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Support:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Priority email support\u003C\u002Fli>\n\u003Cli>Regular updates and new features\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmedium.com\u002F@monica.lucarini28\u002Fis-websocket-a-game-changer-aeaef68d1fba\" rel=\"nofollow ugc\">Why WebSockets are a game-changer?\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fdownloads\u002Fbp-better-messages\u002F\" rel=\"nofollow ugc\">Get WebSocket version license key\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.wordplus.org\u002Fend-user-license-agreement\u002F\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbp-better-messages\u002F\" rel=\"nofollow ugc\">Languages\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>RTL Layout built in to plugin.\u003C\u002Fp>\n\u003Cp>You can translate plugin to your language with LocoTranslate or \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fbp-better-messages\u002F\" rel=\"nofollow ugc\">participate in plugin translation\u003C\u002Fa>.\u003C\u002Fp>\n","Real-time messaging and chat rooms for WordPress ecosystem: private conversations, public and private chat rooms, video & audio calls, and more.",10000,1674447,96,135,"2026-04-10T17:26:00.000Z","5.9.0",[128,18,19,129,130],"buddypress","private-message","ultimate-member","https:\u002F\u002Fwww.wordplus.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbp-better-messages.2.14.16.zip",88,13,"2025-12-16 17:20:44",{"attackSurface":137,"codeSignals":217,"taintFlows":263,"riskAssessment":296,"analyzedAt":308},{"hooks":138,"ajaxHandlers":171,"restRoutes":213,"shortcodes":214,"cronEvents":215,"entryPointCount":216,"unprotectedCount":11},[139,145,151,155,159,163,167],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","wp_enqueue_scripts","nschat_enqueue_assets","ns-chat.php",56,{"type":146,"name":147,"callback":148,"priority":149,"file":143,"line":150},"filter","script_loader_tag","nschat_add_type_module_to_script",10,66,{"type":146,"name":152,"callback":153,"file":143,"line":154},"theme_page_templates","nschat_add_page_template_to_dropdown",74,{"type":146,"name":156,"callback":157,"file":143,"line":158},"page_template","nschat_load_page_template_from_plugin",87,{"type":140,"name":160,"callback":161,"priority":149,"file":143,"line":162},"init","nschat_add_virtual_endpoints",118,{"type":140,"name":164,"callback":165,"file":143,"line":166},"user_register","nschat_add_user_on_registration",338,{"type":140,"name":168,"callback":169,"file":143,"line":170},"profile_update","nschat_update_user_data",379,[172,179,184,189,194,198,203,208],{"action":173,"nopriv":174,"callback":175,"hasNonce":176,"hasCapCheck":174,"file":177,"line":178},"create_dialogue",false,"nschat_create_dialogue_callback",true,"endpoints\u002Fcreate_dialogue.php",76,{"action":180,"nopriv":174,"callback":181,"hasNonce":176,"hasCapCheck":174,"file":182,"line":183},"delete_dialogue","nschat_delete_dialogue_callback","endpoints\u002Fdelete_dialogue.php",48,{"action":185,"nopriv":174,"callback":186,"hasNonce":176,"hasCapCheck":174,"file":187,"line":188},"fetch_messages","nschat_fetch_messages_callback","endpoints\u002Ffetch_messages.php",52,{"action":190,"nopriv":174,"callback":191,"hasNonce":176,"hasCapCheck":174,"file":192,"line":193},"fetch_rooms","nschat_fetch_rooms_callback","endpoints\u002Ffetch_rooms.php",54,{"action":195,"nopriv":174,"callback":196,"hasNonce":176,"hasCapCheck":174,"file":197,"line":193},"get_unread_messages","nschat_get_unread_messages_callback","endpoints\u002Fget_unread_messages.php",{"action":199,"nopriv":174,"callback":200,"hasNonce":176,"hasCapCheck":174,"file":201,"line":202},"save_message","nschat_save_message_callback","endpoints\u002Fsave_message.php",83,{"action":204,"nopriv":174,"callback":205,"hasNonce":176,"hasCapCheck":174,"file":206,"line":207},"search_user","nschat_search_user_callback","endpoints\u002Fsearch_user.php",51,{"action":209,"nopriv":174,"callback":210,"hasNonce":176,"hasCapCheck":174,"file":211,"line":212},"update_isread","nschat_update_isread_callback","endpoints\u002Fupdate_isread.php",60,[],[],[],8,{"dangerousFunctions":218,"sqlUsage":219,"outputEscaping":222,"fileOperations":111,"externalRequests":11,"nonceChecks":216,"capabilityChecks":11,"bundledLibraries":259},[],{"prepared":220,"raw":11,"locations":221},27,[],{"escaped":223,"rawEcho":224,"locations":225},32,19,[226,229,231,233,235,236,238,240,241,242,244,245,247,249,251,253,254,256,258],{"file":187,"line":227,"context":228},26,"raw output",{"file":187,"line":230,"context":228},33,{"file":187,"line":232,"context":228},43,{"file":187,"line":234,"context":228},46,{"file":192,"line":220,"context":228},{"file":192,"line":237,"context":228},35,{"file":192,"line":239,"context":228},50,{"file":197,"line":220,"context":228},{"file":197,"line":237,"context":228},{"file":197,"line":243,"context":228},45,{"file":197,"line":183,"context":228},{"file":201,"line":246,"context":228},28,{"file":201,"line":248,"context":228},37,{"file":201,"line":250,"context":228},42,{"file":201,"line":252,"context":228},64,{"file":201,"line":154,"context":228},{"file":201,"line":255,"context":228},77,{"file":206,"line":257,"context":228},41,{"file":206,"line":243,"context":228},[260],{"name":261,"version":26,"knownCves":262},"Guzzle",[],[264,286],{"entryPoint":265,"graph":266,"unsanitizedCount":32,"severity":285},"nschat_fetch_rooms_callback (endpoints\u002Ffetch_rooms.php:3)",{"nodes":267,"edges":282},[268,272,276],{"id":269,"type":270,"label":271,"file":192,"line":257},"n0","source","$_POST",{"id":273,"type":274,"label":275,"file":192,"line":257},"n1","transform","→ fetchRooms()",{"id":277,"type":278,"label":279,"file":280,"line":144,"wp_function":281},"n2","sink","get_results() [SQLi]","classes\u002FChatRoom.php","get_results",[283,284],{"from":269,"to":273,"sanitized":174},{"from":273,"to":277,"sanitized":174},"high",{"entryPoint":287,"graph":288,"unsanitizedCount":32,"severity":285},"\u003Cfetch_rooms> (endpoints\u002Ffetch_rooms.php:0)",{"nodes":289,"edges":293},[290,291,292],{"id":269,"type":270,"label":271,"file":192,"line":257},{"id":273,"type":274,"label":275,"file":192,"line":257},{"id":277,"type":278,"label":279,"file":280,"line":144,"wp_function":281},[294,295],{"from":269,"to":273,"sanitized":174},{"from":273,"to":277,"sanitized":174},{"summary":297,"deductions":298},"The ns-chat plugin v1.0.1 exhibits a generally good security posture with several positive indicators. The complete absence of unpatched CVEs and a history free of known vulnerabilities suggests a development team that is either highly diligent or that the plugin has not been a significant target.  Furthermore, the plugin demonstrates strong practices in database interaction, with all SQL queries utilizing prepared statements. The presence of nonce checks on all AJAX handlers is also a positive sign for preventing CSRF attacks. However, there are significant areas of concern. The taint analysis revealed two flows with unsanitized paths, flagged as high severity. This indicates that user-supplied data is being processed in a way that could lead to vulnerabilities if not handled with extreme care, despite the absence of a direct capability check.",[299,302,303,306],{"reason":300,"points":301},"High severity taint flow with unsanitized paths",12,{"reason":300,"points":301},{"reason":304,"points":305},"Only 63% of output properly escaped",5,{"reason":307,"points":216},"No capability checks on AJAX handlers","2026-04-16T14:23:31.643Z",{"wat":310,"direct":323},{"assetPaths":311,"generatorPatterns":316,"scriptPaths":317,"versionParams":318},[312,313,314,315],"\u002Fwp-content\u002Fplugins\u002Fns-chat\u002Fassets\u002Fcss\u002Fchat-style.css","\u002Fwp-content\u002Fplugins\u002Fns-chat\u002Fassets\u002Fjs\u002Fchat-api.js","\u002Fwp-content\u002Fplugins\u002Fns-chat\u002Fassets\u002Fjs\u002Fchat-ui.js","\u002Fwp-content\u002Fplugins\u002Fns-chat\u002Fassets\u002Fjs\u002Fwebsocket.js",[],[313,314,315],[319,320,321,322],"ns-chat-style?ver=","chat-api?ver=","chat-ui?ver=","websocket?ver=",{"cssClasses":324,"htmlComments":325,"htmlAttributes":326,"restEndpoints":327,"jsGlobals":336,"shortcodeOutput":339},[],[],[],[328,329,330,331,332,333,334,335],"\u002Fwp-json\u002Fns-chat\u002Fv1\u002Ffetch_rooms","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Ffetch_messages","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Fsave_message","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Fsearch_user","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Fcreate_dialogue","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Fupdate_isread","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Fget_unread_messages","\u002Fwp-json\u002Fns-chat\u002Fv1\u002Fdelete_dialogue",[337,338],"window.nschat_data","var nschat_data",[],{"error":176,"url":341,"statusCode":342,"statusMessage":343,"message":343},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fns-chat\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":111,"versions":345},[346,351],{"version":6,"download_url":24,"svn_tag_url":347,"released_at":26,"has_diff":174,"diff_files_changed":348,"diff_lines":26,"trac_diff_url":349,"vulnerabilities":350,"is_current":176},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fns-chat\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fns-chat%2Ftags%2F1.0&new_path=%2Fns-chat%2Ftags%2F1.0.1",[],{"version":352,"download_url":353,"svn_tag_url":354,"released_at":26,"has_diff":174,"diff_files_changed":355,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":356,"is_current":174},"1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fns-chat.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fns-chat\u002Ftags\u002F1.0\u002F",[],[]]