const express = require("express");
const http = require("http");
const { Server } = require("socket.io");
const app = express();
const server = http.createServer(app);
const io = new Server(server);
let users = {};
/* filtro */
const bannedWords = ["idiota","tonto","xxx"];
function filterMessage(msg){
let clean = msg;
let blocked = false;
bannedWords.forEach(word=>{
if(msg.toLowerCase().includes(word)){
clean = clean.replace(new RegExp(word,"gi"),"****");
blocked = true;
}
});
return {clean, blocked};
}
/* WEB */
app.get("/", (req,res)=>{
res.send(`
Chat + Radio
`);
});
/* SOCKET */
io.on("connection",(socket)=>{
socket.on("join",(username)=>{
users[socket.id]=username;
io.emit("users",Object.values(users));
io.emit("chat message",{
user:"Sistema",
text:username+" entró"
});
});
socket.on("chat message",(msg)=>{
const result=filterMessage(msg);
if(result.blocked){
socket.emit("warning","⚠️ Lenguaje no permitido");
}
io.emit("chat message",{
user:users[socket.id],
text:result.clean
});
});
socket.on("disconnect",()=>{
const username=users[socket.id];
delete users[socket.id];
io.emit("users",Object.values(users));
if(username){
io.emit("chat message",{
user:"Sistema",
text:username+" salió"
});
}
});
});
server.listen(3000,()=>{
console.log("http://localhost:3000");
});
Mostrar música con licencias libres
Paso 1: Clic en el primer usuario de la lista, escribe tu NOMBRE y elije el número de tu AVATAR.
Paso 2: Escribe tu MENSAJE en el rectangulo debajo de la linea de smilies, espera la respuesta.
Paso 3: Este espacio es CRISTIANO se amable y respetuoso con los demás, disfruta del CHAT.
Entrar
📻 Radio
😀 😁 😂 😍 😎 😡 👍 🙏 ❤️ 🎉
Catálogo de música con licencias libres (ejemplos)
Las canciones son ejemplos con licencias Creative Commons o Dominio Público para uso y descarga. Sustituye por pistas reales con permiso.
Nelson Net
Título: Luz del Amanecer
Licencia: CC BY 4.0