/*Canopy - The next generation of stoner streaming software Copyright (C) 2024-2025 Rainbownapkin and the TTN Community This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see .*/ /** * Class representing a single chat message */ class message{ /** * Instantiates a chat message object * @param {String} sender - Name of user who sent the message * @param {Array} recipients - Array of usernames who are supposed to receive the message * @param {String} msg - Contents of the message, with links replaced with numbered file-seperator markers * @param {String} type - Message Type Identifier, used for client-side processing. * @param {Array} links - Array of URLs/Links included in the message. */ constructor(sender, recipients, msg, type, links){ /** * Name of user who sent the message */ this.sender = sender; /** * Array of usernames who are supposed to receive the message */ this.recipients = recipients; /** * Contenst of the messages, with links replaced with numbered file-seperator markers */ this.msg = msg; /** * Message Type Identifier, used for client-side processing. */ this.type = type; /** * Array of URLs/Links included in the message. */ this.links = links; } } module.exports = message;