UNPKG

@tonytruong/chatbot-ai-lib

Version:

AI-powered healthcare automation, document parsing, OpenAI, embeddings, RAG, vector DB, Facebook OAuth.

41 lines 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sendTextMessage = sendTextMessage; exports.sendTemplateMessage = sendTemplateMessage; const tslib_1 = require("tslib"); const axios_1 = tslib_1.__importDefault(require("axios")); const logger_1 = require("../../../shared/logger"); function sendTextMessage(recipientId_1, text_1, pageAccessToken_1) { return tslib_1.__awaiter(this, arguments, void 0, function* (recipientId, text, pageAccessToken, retryCount = 0) { var _a; const url = `https://graph.facebook.com/v18.0/me/messages?access_token=${pageAccessToken}`; const MAX_RETRIES = 2; try { const response = yield axios_1.default.post(url, { recipient: { id: recipientId }, message: { text }, }); logger_1.logger.info(`Message sent to ${recipientId}: ${text.substring(0, 50)}${text.length > 50 ? "..." : ""}`); return true; } catch (err) { const errorData = ((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) || { error: { message: err.message }, }; if (errorData.error && errorData.error.code === 190) { logger_1.logger.error("Facebook token expired or invalid"); } else if (retryCount < MAX_RETRIES) { logger_1.logger.info(`Retrying message send (${retryCount + 1}/${MAX_RETRIES})`); return yield sendTextMessage(recipientId, text, pageAccessToken, retryCount + 1); } logger_1.logger.error(`Send message error: ${JSON.stringify(errorData)}`); return false; } }); } function sendTemplateMessage(recipientId, template) { return tslib_1.__awaiter(this, void 0, void 0, function* () { }); } //# sourceMappingURL=MessengerService.js.map