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); };