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