0.0.10 • Published 12 months ago

fca-utils v0.0.10

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

BETA VERSION

fca-utils

A NodeJS package to interact with Facebook Messenger API (fca-unofficial) Inspired by discord.js

Installation

npm install fca-utils

Basic Usages

Initialize

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...

Message Events

client.on(EVENT, (msg) => {
    // Do something
});

Events

  • error - Account error (locked/expired, etc.)
  • message - When a message is received
  • command - When a command is executed (only if prefix is set)
  • reaction - When a reaction is added to a message
  • unsend - When a message is unsent
  • event - When an event is received, such as rename, kick/add users, etc.
  • others - Others events: typ, read, presence, read_receipt

Message

client.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);
        }
    }
});

message_demo

Basic msg properties:

  • msg.body - Message body
  • msg.args - Array of message body splitted by spaces/line breaks
  • msg.senderID - ID of the sender
  • msg.threadID - ID of the thread/group
  • msg.attachments - Array of attachments
  • msg.mentions - Array of mentions

Basic msg methods:

  • msg.send("your message") - Send a message back to the thread
  • msg.reply("your message") - Reply to the message

Command

client.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);
    }
})

message_demo

cmd properties:

  • cmd.message - same as the msg object in "message" event
  • cmd.name - name of the command
  • cmd.commandArgs - array of command arguments, for example:
    • !ping hello world -> ["hello", "world"]

Reaction

client.on("reaction", (msg) => {
    // Do something
});

Unsend

client.on("unsend", (msg) => {
    // Do something
});

Event

client.on("event", (msg) => {
    // Do something
});

Others

client.on("others", (msg) => {
    // Do something
});

Comming soon...

0.0.10

12 months ago

0.0.9

12 months ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago