plugin-icon

NS Chat

Real-time WebSocket chat for WordPress with user sync and message history.
Évaluations
Version
1.0.1
Mis à jour récemment
Sep 23, 2025

NS Chat Plugin enables real-time communication between WordPress users using WebSocket technology, powered by the Workerman library.

Key Features: * Real-time private chat between users * Visual unread message indicators * Persistent chat history stored in the database * Lightweight modular JS + PHP architecture * Automatic migration and sync of WP users to chat system * Linux daemon service with SSL support for secure connections * Future-ready integration with NFS or AWS S3 for file upload/download

Planned Features: * Message editing and deletion * Read receipt indicators (message seen) * File attachments with optional NFS or AWS S3 integration

Ideal for community websites, intranets, or any platform requiring internal messaging without third-party services.

For integration help or consulting on adapting the plugin to your project, contact the developer at: ns.group.tech@gmail.com

WebSocket Server Setup (Linux with SSL)

  1. Create a systemd service file: bash sudo vim /etc/systemd/system/websocket_server.service

  2. Paste the following content: bash [Unit] Description=WebSocket Server for NS Chat (SSL) After=network.target [Service] ExecStart=/usr/bin/php /file/to/path/yourdomain/wp-content/plugins/ns-chat/server.php start Restart=always RestartSec=25 User=www-data Group=www-data StandardOutput=file:/var/log/websocket_server.out.log StandardError=file:/var/log/websocket_server.err.log [Install] WantedBy=multi-user.target

  3. Add SSL context in server.php: php $context = [ 'ssl' => [ 'local_cert' => '/path/to/file.crt', 'local_pk' => '/path/to/file.key', 'verify_peer' => false, ] ];

  4. Set permissions for plugin folder: bash sudo chown -R www-data:www-data /path/to/ns-chat/ sudo chmod -R 775 /path/to/ns-chat/

  5. Reload and start the daemon: bash sudo systemctl daemon-reload sudo systemctl enable websocket_server --now sudo systemctl restart websocket_server sudo systemctl status websocket_server

  6. Check logs if needed: bash /var/log/websocket_server.out.log /var/log/websocket_server.err.log

Custom Port Configuration

By default, the WebSocket server listens on port 2346.

To use a different port:

  1. Change the port in server.php: php $wsWorker = new Worker('websocket://0.0.0.0:2346', $context);
  2. Change the port in ns-chat.php: php $ws_port = 2346;

  3. You can check and change the port in chat-ui.js: js const port = nschat_data.wsPort || 2346;

  4. If the port is closed, then open a new port on your server’s firewall: bash sudo ufw allow <your-port>/tcp sudo firewall-cmd --permanent --add-port=<your-port>/tcp sudo firewall-cmd --reload sudo iptables -A INPUT -p tcp --dport <your-port> -j ACCEPT sudo iptables-save > /etc/iptables/rules.v4

Database Tables

The plugin creates and uses the following tables:

  • wp_ns_chat_dialogues
  • wp_ns_chat_messages
  • wp_ns_chat_users

Tables are created and populated automatically on plugin activation.

User Synchronization

  1. Initial migration of all users from wp_users to wp_ns_chat_users on plugin activation.
  2. New registrations are handled by: php add_action('user_register', 'ns_chat_add_user_on_registration');
  3. Profile updates are synced via: php add_action('profile_update', 'ns_chat_update_user_data'); You may bind these functions to custom hooks based on your app’s logic.

License

GPLv2 or later

Gratuitsur le plan Business
En procédant à l’installation, vous acceptez les Conditions d’utilisation de WordPress.com ainsi que les Conditions de l’extension tierce.
Testé jusqu’à version
WordPress 6.8.3
Cette extension est disponible en téléchargement pour votre site .