@botpress/messaging-client
TypeScript icon, indicating that this package has built-in type declarations

1.2.2 • Public • Published

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}!`
  )
})

Package Sidebar

Install

npm i @botpress/messaging-client

Weekly Downloads

1,763

Version

1.2.2

License

AGPL-3.0

Unpacked Size

60.6 kB

Total Files

26

Last publish

Collaborators

  • chsir17
  • botpress-cloud-ops
  • eff
  • michael.masson
  • slvnperron
  • spgingras
  • franklevasseur