CHAT-JDT es una aplicación de chat en tiempo real que permite a los usuarios crear canales, unirse a ellos, enviar mensajes, susurros y más. Utiliza sockets para la comunicación en red, implementando un servidor y un cliente, con una interfaz de usuario rica gracias a las bibliotecas rich
y prompt_toolkit
, y notificaciones sonoras mediante pygame
.
Este proyecto ha sido posible gracias a los esfuerzos de:
- Creación de Canales: Los usuarios pueden crear canales para distintos temas o conversaciones.
- Gestión de Usuarios: Registro de usuarios con nombres únicos y listado de usuarios en canales.
- Mensajes en Canales: Envío de mensajes a todos los miembros de un canal.
- Susurros: Envío de mensajes privados entre usuarios.
- Sonidos de Notificación: Reproduce sonidos específicos para mensajes y susurros.
- Comandos de Ayuda: Comandos integrados para facilitar la navegación y uso de la aplicación.
- Python 3.6 o superior.
- Bibliotecas de Python:
socket
,threading
,sys
,rich
,prompt_toolkit
,pygame
.
Asegúrate de tener Python 3.6 o superior instalado en tu sistema. Instala las dependencias necesarias ejecutando el archivo instalacion.py:
python3 instalacion.py
Para iniciar el servidor de chat:
python3 echo-server.py
Para conectar un cliente al chat:
python3 echo-client.py
/CREATE [nombreDelCanal]
: Crea un nuevo canal./JOIN [nombreDelCanal]
: Únete a un canal existente./LIST
: Lista todos los canales disponibles./USERS
: Muestra todos los usuarios en el canal actual./MSG [canal] [mensaje]
: Envía un mensaje al canal especificado./WHISPER [nombreUsuario] [mensaje]
: Envía un mensaje privado a un usuario./QUIT [canal] [usuario]
: Abandona un canal./NAME [nuevoNombre]
: Cambia tu nombre de usuario./KICK [canal] [usuario]
: (Admin) Expulsa a un usuario de un canal./HELP
: Muestra la lista de comandos disponibles.
Las contribuciones son bienvenidas. Si tienes sugerencias para mejorar la aplicación, siéntete libre de crear un pull request o abrir un issue en el repositorio.
CHAT-JDT es un software de código abierto bajo la licencia GPL.