Arriba

Permisos de chat para usuarios

¿Necesita prohibir el acceso a videollamadas o enviar archivos a alguna parte de los usuarios?

Por ejemplo, solo los administradores pueden iniciar videollamadas o enviar mensajes y otros solo pueden chatear.

Entonces, en base a eso, hemos preparado el código PHP para esas funciones. Debe insertarlo en el repositorio de su sitio web en las "funciones" del archivo de tema WP en la parte inferior del archivo.

Ejemplo de la ruta al archivo para SweetDate :

  • \ wp-content \ themes \ sweetdate \ functions.php *

El código de característica:

add_filter ('rest_request_before_callbacks', 'your_permission_access_function', 10, 3);

función your_permission_access_function ($ respuesta, $ controlador, $ solicitud)
    {
        / **
         * A continuación se muestra un ejemplo de cómo puede controlar los permisos de los usuarios.
         * Este ejemplo de concesión de permisos por función de usuario
         * admin: se le permite usar todas las funciones de ImbaChat
         * usuario: se le permite escribir mensajes y nada más
         ** /
        if (! isset ($ controlador ['imbachat_callback'])) {
            return $ respuesta;
        }
        if ($ controlador ['imbachat_callback']! = 'get_users') {
            return $ respuesta;
        }
        $ user_id = $ respuesta ['user_id'];

        $ usuario = get_user_by ('id', $ user_id);
        if (in_array ('administrador', (matriz) $ usuario-> roles)) {
            $ rol = 'admin';
        } demás {
            $ rol = 'usuario';
        }

        if ($ role == 'admin') {
            $ permisos = [
                'send_message' => 1,
                'send_files' => 1,
                'send_geo' => 1,
                'audio_calls' => 1,
                'video_calls' => 1,
                'audio_message' => 1,
                'video_message' => 1
            ];
        } demás {
            $ permisos = [
                'send_message' => 1,
                'send_files' => 0,
                'send_geo' => 0,
                'audio_calls' => 0,
                'video_calls' => 0,
                'audio_message' => 0,
                'video_message' => 0
            ];
        }
        regreso [
            'permissions' => $ permisos
        ];
    }

Permisos:

  1. send_message: te permite enviar mensajes
  2. send_files: te permite enviar archivos
  3. send_geo: te permite enviar la posición geográfica
  4. audio_calls: te permite iniciar llamadas de audio
  5. video_calls: te permite iniciar videollamadas
  6. audio_message: te permite enviar mensajes de audio
  7. video_message: le permite enviar mensajes de video

Más información sobre la configuración del widget de chat:

Cómo personalizar la apariencia del widget

ImbaChat solución de problemas

Cómo configurar el acceso al chat basado en roles para la monetización