// fetch(`https://api.getsling.com/v1/conversations/${sling_chat_id}/messages`, { // method: 'POST', // headers: { // 'Authorization': `${global.slingToken}`, // 'Content-Type': 'application/json' // }, // body: JSON.stringify({ // 'content': sling_chat_message // }) // }).then(res => res.json()).then(data => { // if (data && data.success) { // console.log('Sling chat message sent successfully.'); // } else { // console.error('Error sending Sling chat message:', data); // } // }); const express = require("express"); const router = express.Router(); const path = require("path"); const fs = require("fs"); router.post("/message", global.apiAuth, async (req, res) => { const { channel, content } = req.body; console.log('Sling chat message request received:', req.body); if (!channel || !content) { return res.status(400).json({ error: "Missing channel or content" }); } if (!global.slingToken) { return res.status(500).json({ error: "Sling token not configured" }); } try { const replacedContent = typeof content === 'string' ? content.replace(/%initiatingUser%/g, req.body.initiatingUser || '') : content; const response = await fetch(`https://api.getsling.com/v1/conversations/${channel}/messages`, { method: 'POST', headers: { 'Authorization': `${global.slingToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ 'content': replacedContent }) }); const data = await response.json(); if (data && data.success) { return res.json({ success: true, message: "Message sent successfully" }); } else { return res.status(500).json({ error: "Error sending message", details: data }); } } catch (error) { console.error('Error sending Sling chat message:', error); return res.status(500).json({ error: "Internal server error" }); } }); module.exports = router;