nvcoder-fb-api
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

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

npm version npm downloads 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ả:

screen shot 2016-11-04 at 14 36 00

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

Readme

Keywords

Package Sidebar

Install

npm i nvcoder-fb-api

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

395 kB

Total Files

67

Last publish

Collaborators

  • nvcoder