UNPKG

aryan-chat-fca

Version:

A Facebook chat api for messenger bots

67 lines (50 loc) 1.82 kB
## aryan-chat-fca **powered by nix** 2. basic usage example ``` const fs = require("fs"); const path = require("path"); const { login } = require("ws3-fca"); let credentials; try { credentials = { appState: JSON.parse(fs.readFileSync("appstate.json", "utf8")) }; } catch (err) { console.error("❌ appstate.json is missing or malformed.", err); process.exit(1); } console.log("Logging in..."); login(credentials, { online: true, updatePresence: true, selfListen: false, randomUserAgent: false }, async (err, api) => { if (err) return console.error("LOGIN ERROR:", err); console.log(`✅ Logged in as: ${api.getCurrentUserID()}`); const commandsDir = path.join(__dirname, "modules", "commands"); api.commands = new Map(); if (!fs.existsSync(commandsDir)) fs.mkdirSync(commandsDir, { recursive: true }); for (const file of fs.readdirSync(commandsDir).filter(f => f.endsWith(".js"))) { const command = require(path.join(commandsDir, file)); if (command.name && typeof command.execute === "function") { api.commands.set(command.name, command); console.log(`🔧 Loaded command: ${command.name}`); } } api.listenMqtt(async (err, event) => { if (err || !event.body || event.type !== "message") return; const prefix = "/"; if (!event.body.startsWith(prefix)) return; const args = event.body.slice(prefix.length).trim().split(/ +/); const commandName = args.shift().toLowerCase(); const command = api.commands.get(commandName); if (!command) return; try { await command.execute({ api, event, args }); } catch (error) { console.error(`Error executing ${commandName}:`, error); api.sendMessageMqtt("❌ An error occurred while executing the command.", event.threadID, event.messageID); } }); }); ```