npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nhatvu-fb-api

v1.0.0

Published

Facebook chat API that doesn't rely on XMPP

Downloads

14

Readme

Unofficial Facebook Chat API

In version 2.7.3, we add the function to send comments (api.sendCMT) and post 24-hour news (api.postStory).

code style: prettier

Facebook hiện có API chính thức cho bot trò chuyện Tại Đây.

API này là cách duy nhất để tự động hóa các chức năng trò chuyện trên tài khoản người dùng. Chúng tôi làm điều này bằng cách giả lập trình duyệt. Điều này có nghĩa là thực hiện chính xác các yêu cầu GET/POST và lừa Facebook nghĩ rằng chúng tôi đang truy cập trang web bình thường. Bởi vì chúng tôi đang làm theo cách này, API này sẽ không hoạt động với mã thông báo xác thực mà yêu cầu thông tin xác thực của tài khoản Facebook. Tuyên bố từ chối trách nhiệm: Chúng tôi không chịu trách nhiệm nếu tài khoản của bạn bị cấm vì các hoạt động spam như gửi nhiều tin nhắn cho những người bạn không biết, gửi tin nhắn rất nhanh, gửi các URL có vẻ spam, đăng nhập và đăng xuất rất nhanh... Chịu trách nhiệm Facebook công dân.

Xem bên dưới để biết các dự án sử dụng API này.

Xem nhật ký thay đổi đầy đủ để biết chi tiết về bản phát hành.

Cài Đặt

Nếu bạn chỉ muốn sử dụng nhatcoder-fb-api, bạn nên sử dụng lệnh này:

npm install nhatcoder-fb-api

It will download facebook-chat-api from NPM repositories

Tối ưu

Nếu bạn muốn sử dụng flush edge (trực tiếp từ github) để kiểm tra các tính năng mới hoặc gửi báo cáo lỗi, thì đây là lệnh dành cho bạn:

npm install nhatcoder2003/nhatcoder-fb-api

Kiểm tra bot của bạn

Nếu muốn kiểm tra bot của mình mà không cần tạo một tài khoản khác trên Facebook, bạn có thể sử dụng Tài khoản Facebook Whitehat.

Ví dụ sử dụng

const login = require("nhatcoder-fb-api");

// Create simple echo bot
login({email: "FB_EMAIL", password: "FB_PASSWORD"}, (err, api) => {
    if(err) return console.error(err);

    api.listen((err, message) => {
        api.sendMessage(message.body, message.threadID);
    });
});

Kết quả:

Tài liệu

Chức năng chính

Gửi tin nhắn

api.sendMessage(message, threadID[, callback][, messageID])

Nhiều loại tin nhắn có thể được gửi: * Thông thường: đặt trường body thành thông báo mong muốn dưới dạng chuỗi. Hình dán: đặt trường sticker thành ID hình dán mong muốn. Tệp hoặc hình ảnh: Đặt trường attachment thành một luồng có thể đọc được hoặc một mảng các luồng có thể đọc được. URL: đặt trường url thành URL mong muốn. Emoji: đặt trường emoji thành biểu tượng cảm xúc mong muốn dưới dạng một chuỗi và đặt trường emojiSize với kích thước của biểu tượng cảm xúc (small, medium, large)

Lưu ý rằng một tin nhắn chỉ có thể là một tin nhắn thông thường (có thể trống) và tùy ý là một trong các tin nhắn sau: nhãn dán, tệp đính kèm hoặc url.

Mẹo: để tìm ID của chính mình, bạn có thể xem bên trong cookie. userID nằm dưới tên c_user.

Mẫu (Tin nhắn cơ bản)__

const login = require("facebook-chat-api");

login({email: "FB_EMAIL", password: "FB_PASSWORD"}, (err, api) => {
    if(err) return console.error(err);

    var yourID = "000000000000000";
    var msg = "Hey!";
    api.sendMessage(msg, yourID);
});

Mẫu (Tải lên hình ảnh)__

const login = require("facebook-chat-api");

login({email: "FB_EMAIL", password: "FB_PASSWORD"}, (err, api) => {
    if(err) return console.error(err);

    // Note this example uploads an image called image.jpg
    var yourID = "000000000000000";
    var msg = {
        body: "Hey!",
        attachment: fs.createReadStream(__dirname + '/image.jpg')
    }
    api.sendMessage(msg, yourID);
});

Lưu phiên đăng nhập.

Để tránh phải đăng nhập mỗi lần, bạn nên lưu AppState (cookie, v.v.) vào một tệp, sau đó bạn có thể sử dụng nó mà không cần có mật khẩu trong tập lệnh của mình.

Mẫu

const fs = require("fs");
const login = require("facebook-chat-api");

var credentials = {email: "FB_EMAIL", password: "FB_PASSWORD"};

login(credentials, (err, api) => {
    if(err) return console.error(err);

    fs.writeFileSync('appstate.json', JSON.stringify(api.getAppState()));
});

Nghe một cuộc trò chuyện

api.listen(callback)

Nghe đồng hồ cho các tin nhắn được gửi trong một cuộc trò chuyện. Theo mặc định, điều này sẽ không nhận các sự kiện (tham gia/rời khỏi cuộc trò chuyện, thay đổi tiêu đề, v.v...) nhưng nó có thể được kích hoạt bằng api.setOptions({listenEvents: true}). Theo mặc định, điều này sẽ bỏ qua các tin nhắn được gửi bởi tài khoản hiện tại, bạn có thể kích hoạt tính năng nghe tin nhắn của chính mình bằng api.setOptions({selfListen: true}).

Mẫu

const fs = require("fs");
const login = require("facebook-chat-api");

// Bot đơn giản. Nó sẽ lặp lại tất cả những gì bạn nói.
// Sẽ dừng khi bạn nói '/stop'
login({appState: JSON.parse(fs.readFileSync('appstate.json', 'utf8'))}, (err, api) => {
    if(err) return console.error(err);

    api.setOptions({listenEvents: true});

    var stopListening = api.listen((err, event) => {
        if(err) return console.error(err);

        api.markAsRead(event.threadID, (err) => {
            if(err) console.error(err);
        });

        switch(event.type) {
            case "message":
                if(event.body === '/stop') {
                    api.sendMessage("Goodbye…", event.threadID);
                    return stopListening();
                }
                api.sendMessage("TEST BOT: " + event.body, event.threadID);
                break;
            case "event":
                console.log(event);
                break;
        }
    });
});

Các dự án sử dụng API này