UNPKG

linkup-bot-lib

Version:

69 lines (68 loc) 2.33 kB
"use strict"; /** * @module Message */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileMessage = void 0; const Message_1 = require("./Message"); const b4a_1 = __importDefault(require("b4a")); class FileMessage extends Message_1.Message { fileName; fileUrl; fileType; fileData; /** * @description Creates a new file message. * @since 1.0 * @author MiTask * @constructor * @param peerName Peer username * @param peerAvatar Peer avatar URL * @param topic Chat room topic string * @param timestamp UNIX Timestamp * @param fileName File name * @param fileUrl URL to the file * @param fileType Type of the file * @param fileData File data in base64 String format */ constructor(peerName, peerAvatar, topic, timestamp, fileName, fileUrl, fileType, fileData) { super("file", peerName, peerAvatar, topic, timestamp); this.fileName = fileName; this.fileUrl = fileUrl; this.fileType = fileType; this.fileData = fileData; // Add file data property } /** * @since 1.0 * @author MiTask * @returns {String} JSON String with all of the information about the message */ toJsonString() { return JSON.stringify({ ...this.toJson(), fileName: this.fileName, fileUrl: this.fileUrl, fileType: this.fileType, file: this.fileData // Include file data in JSON }); } /** * @description Creates a new file message instance. * @since 1.0 * @author MiTask * @param bot Bot Client class * @param fileName File name * @param fileUrl URL to the file * @param fileType Type of the file * @param fileBuffer File data * @returns {FileMessage} FileMessage instance. */ static new(bot, fileName, fileUrl, fileType, fileBuffer) { const fileData = b4a_1.default.toString(fileBuffer, 'base64'); // Convert file buffer to base64 return new FileMessage(bot.botName, bot.botAvatar, bot.currentTopic, Date.now(), fileName, fileUrl, fileType, fileData); } } exports.FileMessage = FileMessage;