🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more
Socket
Book a DemoInstallSign in
Socket

botbuilder-wechat-connector-ts

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

botbuilder-wechat-connector-ts

NodeJS Typescript Botbuilder Wechat Connector

latest
Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

botbuilder-wechat-connector

NodeJS Typescript Botbuilder Wechat Connector

version travis build codecov coverage Codacy Badge dependency status MIT License semantic-release Commitizen friendly stability-stable Greenkeeper code style

Notice

Targets BotBuilder Framework v3.*

Installation

npm install botbuilder-wechat-connector-ts

Table of Contents

Documentation

You can find documentation here

Features

  • Microsoft Bot Framework Wechat Connector with simple setup
  • Webhook Validation logic
  • Supported message types:
    • Text
    • Image
    • Card
    • Music
    • MpNews
    • News
    • Voice
    • Video
    • ShortVideo
    • Link
    • Location
  • Typescript code with exported types for every end-point input/output
  • Vanilla server and AWS Lambda support

Setup

Import

const facebook = require('botbuilder-wechat-connector');

or

import { WechatConnector, AWSLambdaHandler } from 'botbuilder-wechat-connector';

Sending Messages

Text Message

bot.dialog('/', function (session) {
    session.send("Hello world!");
});

Image Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.Image,
            content: {
                mediaId: '<MEDIA_ID>'
            }
        }
    ]);
    session.send(msg);
});

Card Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.Card,
            content: {
                card_id: '<CARD_ID>',
                card_ext: '<CARD_EXT>'
            }
        }
    ]);
    session.send(msg);
});

Music Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.Music,
            content: {
                title: '<TITLE>',
                description: '<DESCRIPTION>',
                url: '<URL>',
                thumb_media_id: '<MEDIA_ID>'
            }
        }
    ]);
    session.send(msg);
});

MpNews Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.MpNews,
            content: {
                mediaId: '<MEDIA_ID>'
            }
        }
    ]);
    session.send(msg);
});

News Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.News,
            content: {
                "title": "<TITLE>",
                "description": "<DESCRIPTION>",
                "url": "<URL>",
                "picurl": "<URL>"            
            }
        }
    ]);
    session.send(msg);
});

Voice Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.Voice,
            content: {
                mediaId: '<MEDIA_ID>'
            }
        }
    ]);
    session.send(msg);
});

Video Message

import {Message} from 'botbuilder';
bot.dialog('/', function (session) {
    const msg = new Message(session)
                 .attachments([
        {
            contentType: IWechatAttachmentType.Video,
            content: {
                mediaId: '<MEDIA_ID>',
                thumbMediaId: '<THUMB_MEDIA_ID>'
            }
        }
    ]);
    session.send(msg);
});

Receiving Messages

ShortVideo Message

{
    contentType: IWechatAttachmentType.ShortVideo,
    content: {
        mediaId: '<MEDIA_ID',
        thumbMediaId: '<THUMB_MEDIA_ID>'
    }
}
{
    contentType: IWechatAttachmentType.Link,
    content: {
            title: '<TITLE>',
            description: '<DESCRIPTION>',
            url: '<URL>'
        }
}

Location Message

{
    contentType: IWechatAttachmentType.Link,
    content: {
        locationX: '<LOCATION_X>',
        locationY: '<LOCATION_Y>',
        scale: '<SCALE>',
        label: '<LABEL>'
    }
}

Example Express

import { WechatConnector } from 'botbuilder-wechat-connector';
import { UniversalBot } from 'botbuilder';
import { Router } from 'express';

const botConnector = new WechatConnector({
      appID: WECHAT_APP_ID,
      appSecret: WECHAT_APP_SECRET,
      appToken: WECHAT_APP_TOKEN,
    });

const bot = new UniversalBot(botConnector, <DIALOGS>);

const router = Router();
    router.post('/api/messages', <RequestHandlerParams>botConnector.listen());
    router.get('/api/messages', <RequestHandlerParams>botConnector.listen());

Example AWS Lambda

main.ts

import { WechatConnector, AWSLambdaHandler } from 'botbuilder-wechat-connector';
import { UniversalBot } from 'botbuilder';

const botConnector = new WechatConnector({
      appID: WECHAT_APP_ID,
      appSecret: WECHAT_APP_SECRET,
      appToken: WECHAT_APP_TOKEN,
    });

const bot = new UniversalBot(botConnector, <DIALOGS>);

export botConnector;

lambda.ts

import {botConnector} from './main';
import {AWSLambdaHandler} from 'botbuilder-wechat-connector';
export const handler = AWSLambdaHandler.handle(botConnector)

Creating Wechat App

See Wechat Guide

Keywords

botbuilder

FAQs

Package last updated on 10 May 2020

Did you know?

Socket

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.

Install

Related posts