Wondering what’s next for npm?Check out our public roadmap! »

    @broid/wechat

    2.1.0 • Public • Published

    npm node deps tests bithound bithoundscore nsp-checked

    Broid Wechat Integration

    Broid Integrations is an open source project providing a suite of Activity Streams 2 libraries for unified communications among a vast number of communication platforms.

    Connect your App to Multiple Messaging Channels with One OpenSource Language.

    gitter

    Message types supported

    Simple Image Video Audio Buttons Location Phone number

    Buttons, Location, Phone number are platform limitations.

    Image, Video, and Audio are supported as a simple message.

    Getting started

    Install

    npm install --save @broid/wechat

    Connect to WeChat

    const BroidWeChat = require('@broid/wechat');
     
    const wechat = new BroidWeChat({
      appID: '',
      appSecret: '',
      http: {
        host: "127.0.0.1",
        port: 8080
      }
    });
     
    wechat.connect()
      .subscribe({
        next: data => console.log(data),
        error: err => console.error(`Something went wrong: ${err.message}`),
        complete: () => console.log('complete'),
      });

    WeChat can also be used with your existing express setup.

    const BroidWeChat = require('broid-wechat');
    const express = require("express");
     
    const wechat  = new BroidWeChat({
      appID: '',
      appSecret: '',
    });
     
    const app = express();
    app.use("/wechat", wechat.getRouter());
     
    wechat.connect()
      .subscribe({
        next: data => console.log(data),
        error: err => console.error(`Something went wrong: ${err.message}`),
        complete: () => console.log('complete'),
      });
     
    app.listen(8080);

    Options available

    name Type default Description
    serviceID string random Arbitrary identifier of the running instance
    logLevel string info Can be : fatal, error, warn, info, debug, trace
    http object WebServer options (host, port, webhookURL)

    Receive a message

    wechat.listen()
      .subscribe({
        next: data => console.log(`Received message: ${data}`),
        error: err => console.error(`Something went wrong: ${err.message}`),
        complete: () => console.log('complete'),
      });

    Post a message

    To send a message, the format should use the broid-schemas.

    const formatted_message = {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Create",
      "generator": {
        "id": "f6e92eb6-f69e-4eae-8158-06613461cf3a",
        "type": "Service",
        "name": "wechat"
      },
      "object": {
        "type": "Note",
        "content": "hello world"
      },
      "to": {
        "type": "Group",
        "id": "wechat_user_openid"
      }
    };
     
    wechat.send(formatted_message)
      .then(() => console.log("ok"))
      .catch(err => console.error(err));

    Examples of messages

    You can find examples of sent and received messages at Broid-Schemas.

    Contributing to Broid

    See CONTRIBUTE.md

    Copyright & License

    Copyright (c) 2016-2017 Broid.ai

    This project is licensed under the AGPL 3, which can be found here.

    Install

    npm i @broid/wechat

    DownloadsWeekly Downloads

    6

    Version

    2.1.0

    License

    AGPL-3.0+

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar