Попробуйте
Для обработки немые используйте команду строковые операции, чтобы проверить, если первая буква сообщения является «/», и если есть «немой» в команде. Вам понадобится список пользователей для прокрутки, чтобы проверить, кто отключен.
socket.on('chat message', function(msg) {
if(msg.charAt(0) == "/") {
//Process command
command = msg.substring(1, msg.length);
//unmute
if (command.includes("unmute")) {
for (var i = 0; i < your_user_list.length; i++) {
if (command.includes(your_user_list[i].username)) {
your_user_list[i].muted = false;
}
}
} //mute
else if (command.includes("mute")) {
for (var i = 0; i < your_user_list.length; i++) {
if (command.includes(your_user_list[i].username)) {
your_user_list[i].muted = true;
}
}
}
}
else {
//Send message
console.log(socket.username + ": " + msg);
io.emit('chat message', socket.username + ": " + msg);
}
});
Чтобы отключить кто-то добавить переменную-член в гнездо
socket.muted = true;
А затем проверить, если пользователь будет отключен, каждый раз, когда они представляют сообщение, как это.
socket.on('chat message', function(msg) {
if(!socket.muted) {
//Allow the user to chat
if(msg.charAt(0) == "/") {
//Process command
command = msg.substring(1, msg.length);
//unmute
if (command.includes("unmute")) {
for (var i = 0; i < your_user_list.length; i++) {
if (command.includes(your_user_list[i].username)) {
your_user_list[i].muted = false;
}
}
} //mute
else if (command.includes("mute")) {
for (var i = 0; i < your_user_list.length; i++) {
if (command.includes(your_user_list[i].username)) {
your_user_list[i].muted = true;
}
}
}
}
else {
//Send message
console.log(socket.username + ": " + msg);
io.emit('chat message', socket.username + ": " + msg);
}
}
else {
//Tell them they are muted
}
});
Спасибо, это помогло мне –