module.exports = function (RED) { function DeleteMessage(config) { RED.nodes.createNode(this, config); this.config = RED.nodes.getNode(config.config); var node = this; this.on("input", async function (msg) { const chatId = msg.payload.chatId || config.chatId; const messageIds = msg.payload.messageIds || config.messageIds; const revoke = msg.payload.revoke || config.revoke || { revoke: true }; /** @type {TelegramClient} */ const client = msg.payload?.client ? msg.payload.client : this.config.client; try { const response = await client.deleteMessages( chatId, messageIds, revoke ); node.send({ payload: response, }); } catch (err) { node.error("Error deleting message: " + err.message); } }); } RED.nodes.registerType("delete-message", DeleteMessage); };