module.exports = function (RED) { function GetEntity(config) { RED.nodes.createNode(this, config); this.config = RED.nodes.getNode(config.config); var node = this; this.on("input", async function (msg) { const input = msg.payload.input || config.input; /** @type {TelegramClient} */ const client = msg.payload?.client ? msg.payload.client : this.config.client; try { let entity; // Check if the input is a URL if (input.includes("https://t.me/")) { const username = input.split("/").pop(); entity = await client.getEntity(username); } else { entity = await client.getEntity(input); } node.send({ payload: { input: entity }, }); } catch (err) { node.error("Error getting entity: " + err.message); node.send({ payload: { input: null }, }); } }); } RED.nodes.registerType("get-entity", GetEntity); };