32 lines
		
	
	
		
			763 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			763 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const path = require("path");
 | |
| const { addMessage } = require(path.join(__dirname + "/redis.js"));
 | |
| 
 | |
| const io = (io) => {
 | |
|   io.on("connection", socket => {
 | |
|     let username = null;
 | |
| 
 | |
|     socket.on("username", msg => {
 | |
|       if (msg.username == null) {
 | |
|         username = null;
 | |
|         socket.emit("accept_username", false);
 | |
|         return;
 | |
|       }
 | |
|       if (msg.username.length > 3 && msg.username.length < 30) {
 | |
|         username = msg.username;
 | |
|         socket.emit("accept_username", true);
 | |
|         return;
 | |
|       }
 | |
|       socket.emit("accept_username", false);
 | |
|     });
 | |
| 
 | |
|     socket.on("chat", msg => {
 | |
|       msg.username = username;
 | |
|       msg.timestamp = new Date().getTime();
 | |
|       addMessage(msg);
 | |
|       io.emit("chat", msg);
 | |
|     });
 | |
|   });
 | |
| };
 | |
| 
 | |
| module.exports = io;
 |