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 = {};
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};
}
app.get("/", (req,res)=>{
res.send(`
Chat Azul
`);
});
/* 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ó"});
}
});
});
const PORT = process.env.PORT || 3000;
server.listen(PORT,()=>console.log("Servidor listo"));
Cintillo RCC Móvil
000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000
Entrar
📻 Radio
😀 😁 😂 😍 😎 😡 👍 🙏 ❤️ 🎉
📖 Génesis 1:1 — En el principio creó Dios los cielos y la tierra.