import { db } from "bridge-common"; interface SendFacebookMessageTaskOptions { token: string; recipient: string; text: string; } const sendFacebookMessageTask = async ( options: SendFacebookMessageTaskOptions, ): Promise => { const { token, text, recipient } = options; const { pageId, pageAccessToken } = await db .selectFrom("FacebookBot") .selectAll() .where("token", "=", token) .executeTakeFirstOrThrow(); const endpoint = `https://graph.facebook.com/v19.0/${pageId}/messages`; const outgoingMessage = { recipient: { id: recipient }, message: { text }, messaging_type: "RESPONSE", access_token: pageAccessToken, }; await fetch(endpoint, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(outgoingMessage), }); }; export default sendFacebookMessageTask;