
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
fca-utils-cjs
Advanced tools
A NodeJS package to help interacting with Facebook Messenger API (fca-unofficial)
A NodeJS package to interact with Facebook Messenger API (fca-unofficial)
Inspired by discord.js
npm install fca-utils
import { Client } from 'fca-utils'
const client = new Client({
prefix: "!", // Prefix for commands
ignoreMessageInCommandEvent: true, // Ignore message in command event
});
client.loginWithAppState(process.env.BASE64_ENCODED_APPSTATE);
client.on("ready", (api, curID) => {
console.log("LOGGED IN AS", curID);
console.log("Listening for messages...");
});
Login with username and password coming soon...
client.on(EVENT, (msg) => {
// Do something
});
error - Account error (locked/expired, etc.)message - When a message is receivedcommand - When a command is executed (only if prefix is set)reaction - When a reaction is added to a messageunsend - When a message is unsentevent - When an event is received, such as rename, kick/add users, etc.others - Others events: typ, read, presence, read_receiptclient.on("message", (msg) => {
console.log("Message received:", msg.body);
if (msg.type === "message") {
try {
if (msg.args[0]?.toLowerCase() === "hi") {
msg.reply("Hello!");
}
} catch (e) {
console.error(e);
}
}
});

Basic msg properties:
msg.body - Message bodymsg.args - Array of message body splitted by spaces/line breaksmsg.senderID - ID of the sendermsg.threadID - ID of the thread/groupmsg.attachments - Array of attachmentsmsg.mentions - Array of mentionsBasic msg methods:
msg.send("your message") - Send a message back to the threadmsg.reply("your message") - Reply to the messageclient.on("command", async (cmd) => {
console.log("Command received:", cmd.name);
try {
if (cmd.name === "ping") {
await cmd.message.reply("Pong!");
}
} catch (e) {
console.error(e);
}
})

cmd properties:
cmd.message - same as the msg object in "message" eventcmd.name - name of the commandcmd.commandArgs - array of command arguments, for example:
!ping hello world -> ["hello", "world"]client.on("reaction", (msg) => {
// Do something
});
client.on("unsend", (msg) => {
// Do something
});
client.on("event", (msg) => {
// Do something
});
client.on("others", (msg) => {
// Do something
});
Comming soon...
FAQs
A NodeJS package to help interacting with Facebook Messenger API (fca-unofficial)
We found that fca-utils-cjs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.