JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1578
  • Score
    100M100P100Q119732F
  • License AGPL-3.0

An http client to interact with the botpress Messaging Server

Package Exports

  • @botpress/messaging-client
  • @botpress/messaging-client/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@botpress/messaging-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Botpress Messaging Client

An HTTP client to make requests to the Botpress Messaging Server and receive webhook events using Express

Installation

Requires Node.js 16

yarn add @botpress/messaging-client
npm install @botpress/messaging-client
pnpm add @botpress/messaging-client

Basic Usage

Initialize the client and respond to messages

// ensure your Express app has the json middleware
app.use(express.json())

// initialize client with your credentials
const client = new MessagingClient({
  clientId: 'my-client-id',
  clientToken: 'my-client-token',
  webhookToken: 'my-webhook-token'
})

// listen for webhook events by providing an express router
client.setup(router)

// register callback method for incoming messages and respond to user
client.on('message', async (e) => {
  await client.createMessage(e.conversationId, undefined, { text: `Hello I'm a bot!` })
})

More Events

The Messaging Server also produces these webhook events

client.on('user', async ({ userId }) => {
  console.log(`new user: ${userId}!`)
})

client.on('started', async ({ userId, conversationId, channel }) => {
  console.log(`new conversation started by ${userId} on ${channel} : ${conversationId}!`)
})

client.on('feedback', async ({ userId, conversationId, channel, messageId, feedback }) => {
  console.log(
    `feedback given by ${userId} on ${channel} in convo ${conversationId} on message ${messageId} : ${feedback}!`
  )
})