Started work on implementing chat buffer.

This commit is contained in:
rainbow napkin 2025-06-11 08:02:50 -04:00
parent 370a08cb03
commit 8821b5cff9
4 changed files with 100 additions and 5 deletions

View file

@ -22,12 +22,17 @@ const commandPreprocessor = require('./commandPreprocessor');
const loggerUtils = require('../../utils/loggerUtils');
const linkUtils = require('../../utils/linkUtils');
const emoteValidator = require('../../validators/emoteValidator');
const chat = require('./chat');
const {userModel} = require('../../schemas/user/userSchema');
module.exports = class{
constructor(server){
//Set server
this.server = server;
//Initialize command preprocessor
this.commandPreprocessor = new commandPreprocessor(server, this)
//Define the chat buffer
this.chatBuffer = [];
}
defineListeners(socket){
@ -126,21 +131,33 @@ module.exports = class{
//Base chat functions
relayChat(user, flair, highLevel, msg, type = 'chat', chan, links){
this.server.io.in(chan).emit("chatMessage", {user, flair, highLevel, msg, type, links});
this.relayChatObject(chan, new chat(user, flair, highLevel, msg, type, links));
}
relayChatObject(chan, chat){
this.server.io.in(chan).emit("chatMessage", chat);
}
relayPrivateChat(socket, user, flair, highLevel, msg, type, links){
socket.emit("chatMessage", {user, flair, highLevel, msg, type, links});
this.relayPrivateChatObject(socket , new chat(user, flair, highLevel, msg, type, links));
}
relayPrivateChatObject(socket, chat){
socket.emit("chatMessage", chat);
}
relayGlobalChat(user, flair, highLevel, msg, type = 'chat', links){
this.server.io.emit("chatMessage", {user, flair, highLevel, msg, type, links});
this.relayGlobalChatObject("chatMessage", new chat(user, flair, highLevel, msg, type, links));
}
relayGlobalChatObject(chat){
this.server.io.emit("chatMessage", chat);
}
//User Chat Functions
relayUserChat(socket, msg, type, links){
const user = this.server.getSocketInfo(socket);
this.relayChat(user.user, user.flair, user.highLevel, msg, type, socket.chan, links)
this.relayChat(user.user, user.flair, user.highLevel, msg, type, socket.chan, links);
}
//Toke Chat Functions