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

botium-connector-wechat

v0.0.1

Published

Botium Connector for Wechat

Downloads

18

Readme

Botium Connector for Wechat

NPM

Codeship Status for codeforequity-at/botium-connector-wechat npm version license

This is a Botium connector for testing your Wechat chatbot.

Did you read the Botium in a Nutshell articles? Be warned, without prior knowledge of Botium you won't be able to properly use this library!

How it works

  • Does not use the Wechat API, just the webservice behind it.
  • Does not support async communication. (Because async communication means call from webservice to Wechat API)
  • Just for text messages (booth directions)
  • Provides a valid signature, token validation is possible
  • Able to emulate sessions (via WECHAT_GENERATE_FROM_USERNAME capability)

It can be used as any other Botium connector with all Botium Stack components:

Requirements

  • Node.js and NPM
  • a Wechat-capable webservice. It must not bound to Wechat. Its URL must not be public.
  • a project directory on your workstation to hold test cases and Botium configuration

Install Botium and Wechat Connector

When using Botium CLI:

> npm install -g botium-cli
> npm install -g botium-connector-wechat
> botium-cli init
> botium-cli run

When using Botium Bindings:

> npm install -g botium-bindings
> npm install -g botium-connector-wechat
> botium-bindings init mocha
> npm install && npm run mocha

When using Botium Box:

Already integrated into Botium Box, no setup required

Connecting Wechat to Botium

Create a botium.json with te URL, and Token of your service

{
  "botium": {
    "Capabilities": {
      "PROJECTNAME": "<whatever>",
      "CONTAINERMODE": "wechat",
      "WECHAT_WEBHOOK_URL": "...",
      "WECHAT_TOKEN": "..."
    }
  }
}

To check the configuration, run the emulator (Botium CLI required) to bring up a chat interface in your terminal window:

> botium-cli emulator

Botium setup is ready, you can begin to write your BotiumScript files.

How to start sample

There is a small demo in samples/techdemo with Botium Bindings.

It contains a Wechat capable Chatbot, and its Test. They are already configured (see Chatbot, and Test).

The code is separated into Chatbot, and Test project just for better understanding, don't follow this.

Starting:

  • Run the Chatbot
> cd ./samples/techdemo/chatbot
> npm install && npm start
  • Run the Test
> cd ./samples/techdemo/test
> npm install && npm test

Supported Capabilities

Set the capability CONTAINERMODE to wechat to activate this connector.

WECHAT_WEBHOOK_URL

The URL to the webservice.

WECHAT_TOKEN

Wechat token. (Used to register the webhook in Wechat portal)

WECHAT_TO_USERNAME

Optional

Wechat ID of the chatbot. If it is omitted, then Connector generates one

WECHAT_GENERATE_FROM_USERNAME

Optional

Wechat Open ID of the sender. If it is omitted, then Connector generates one for each test. Good to emulate sessions.

Roadmap

  • Support for async messages (Communicating direct with Wechat API)
  • Rich component support in Wechat responses (links, images...)
  • Simulate user interaction (If Wechat supports it)
  • Add some technical checks
    • Signature (Token) validation
    • Get endpoint (Availability, response, token validation)