Este paquete le permitirá agregar un sistema de mensajería de usuario completo a su aplicación Laravel. Es un ChatMessenger de Laravel altamente intuitivo con características adicionales, como el número máximo de participantes en una conversación, hilos protagonizados y un enlace único para compartir en redes sociales para invitar a los usuarios a una conversación (también conocido como hilo en este paquete).

Si ha encontrado esto útil y le gustaría comprar un café para los mantenedores (o un Tesla, no somos exigentes), no dude en hacerlo.
O comprando productos y mercancías en el mercado.
Esta financiación se utiliza para mantener el proyecto y agregar nuevas características al estilo de código más otros repositorios de código abierto.
| Versión de Laravel | ¿Compatible? |
|---|---|
| 11.x | ¡Sí! (^1.5.0) |
| 10.x | ¡Sí! (^1.4.0) |
| 9.x | ¡Sí! (^1.3.0) |
| 8.x | ¡Sí! (^1.3.0) |
| 7.x | ¡Sí! (^1.3.0) |
| 6.x | ¡Sí! (^1.2.0) |
| 5.8 | ¡Sí! |
| 5.7 | ¡Sí! |
| 5.6 | ¡Sí! |
| Versión de Laravel | Rama compatible |
|---|---|
| 5.5 | V1 [1.0.8] |
| 5.4 | V1 [1.0.8] |
| 5.3 | V1 [1.0.8] |
| 5.2 | V1 [1.0.8] |
| 5.1 | V1 [1.0.8] |
Ponte a votar por una versión Tailwind/Vue.js/Vueruter del proyecto
Las instrucciones de instalación para Laravel 4 se pueden encontrar aquí.
composer require syntaxlexx/chatmessengercomposer require syntaxlexx/[email protected]O colocar manualmente en composer.json:
" require ": {
" syntaxlexx/chatmessenger": " ^1.0 "
}Correr:
composer update
Nota : Laravel Messenger admite el descubrimiento de paquetes. Si usa Laravel 5.5 y superior, omita esta parte.
Agregue el proveedor de servicios a config/app.php en providers :
' providers ' => [
Lexx ChatMessenger ChatMessengerServiceProvider::class,
],Publicar configuración:
php artisan vendor:publish -- provider ="Lexx ChatMessenger ChatMessengerServiceProvider " --tag= " config"Actualizar el archivo de configuración para hacer referencia a su modelo de usuario:
config/chatmessenger.php Cree una tabla users si aún no tiene una. Si necesita uno, la migración de Laravel predeterminada será satisfactoria.
(Opcional) Defina los nombres de las tablas de la base de datos en el archivo de configuración del paquete si no desea usar los predeterminados:
' messages_table ' => ' lexx_messages ' ,
' participants_table ' => ' lexx_participants ' ,
' threads_table ' => ' lexx_threads ' ,Publicar migraciones:
php artisan vendor:publish --provider="LexxChatMessengerChatMessengerServiceProvider" --tag="migrations"
Migra su base de datos:
php artisan migrate
Agregue el rasgo a su modelo de usuario:
use Lexx ChatMessenger Traits Messagable ;
class User extends Authenticatable {
use Messagable;
}Este paquete utiliza el servidor Pusher/Pusher-Php que proporciona servicios de empuje fuera de la caja. Todo lo que tiene que hacer es requerir el paquete, registrar los proveedores de servicios, publicar el paquete de proveedores, ¡y eso es todo! Estás listo para ir.
Consulte la sección Ejemplos para obtener un uso detallado de ejemplo.
Desde que Pusher HTTP Laravel se ha desactivado, la demostración actual utiliza las últimas tendencias de Laravel 5/6 de transmisión a través de eventos. Consulte la demostración para verlo en acción. Se vuelve más manejable y expresivo configurar canales individualmente.
Si planea migrar a Laravel 6, el paquete despreciado HTTP HTTP HTTP lo prohibirá debido a problemas de dependencia. Simplemente necesitará crear un evento para disparar el mensaje de transmisión y un canal para la transmisión. Puede consultar la demostración para su uso práctico.
Como se señaló en este tema, la propiedad protagonizada se ha movido de la tabla threads a la tabla participants , ya que tiene mucho más sentido allí. (Créditos a Snarcraft).
Ejecutar
php artisan vendor:publish --provider="LexxChatMessengerChatMessengerServiceProvider" --tag="migrations"para copiar el archivo de migración, luego ejecutarphp artisan migrate.
Protagonizar un hilo es tan fácil como llamar al método star() en el hilo. Si no se pasa el ID de usuario, es predeterminado al usuario iniciado actualmente. El mismo caso aplicado para no estarizar un hilo. $thread->unstar() .
Consulte la demostración del código fuente aquí
Mira la demostración en vivo aquí
Para obtener una imagen clara de cómo funciona, abra de dos a cuatro navegadores (modo privado/de incógnito es perfecto para este caso) e inicie sesión con diferentes cuentas.

Tenemos una nueva versión de demostración que presenta la pila común de inercia de Laravel Jetstream +.

CHATMESSENGER_PARTICIPANT_AKA y establecer una columna específica. Luego puede ignorar la transferencia de $ columnas [] al método).También puede consultar los modelos individuales para obtener más información sobre las funciones. Este paquete también utiliza ámbitos en caso de que necesite más control sobre sus consultas.
Las sugerencias son bienvenidas y cualquier contribución es muy valorada. Si se siente un poco tímido, no dude en enviar un correo electrónico a Lexx YungCarter.
Si descubre algún problema relacionado con la seguridad, utilice el rastreador de problemas o mejor aún, envíe un correo electrónico a Lexx YungCarter.
Estamos a punto de desatar una versión vue.js + ejemplos para aquellos de ustedes que requieren un impulso para configurar rápidamente salas de chat/mensajes en su aplicación.
Entonces:-
Si está tan agradecido de proporcionar muestras de código, no dude en compartir su código/repositorio con nosotros. ¡Gracias de antemano!
Este paquete utilizó CMGMYR/Laravel-Messenger como punto de partida, que a su vez usó inicialmente Andreasheiberg/Laravel-Messenger como punto de partida.