JSPM

  • Created
  • Published
  • Downloads 20264
  • Score
    100M100P100Q188719F
  • License MIT

Botpress Client

Package Exports

    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/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 Client

    Official Botpress HTTP client for TypeScript. Queries the Botpress API.

    Installation

    npm install --save @botpress/client # for npm
    yarn add @botpress/client # for yarn
    pnpm add @botpress/client # for pnpm

    Usage

    import { Client, ClientInputs, ClientOutputs } from '@botpress/client'
    
    // 0. Type definitions for each operation's IO
    type GetBotInput = ClientInputs['getBot']
    type GetBotOutput = ClientOutputs['getBot']
    
    const main = async () => {
      const token = 'your-token'
      const workspaceId = 'your-workspace-id'
      const botId = 'your-bot-id'
      const client = new Client({ token, workspaceId, botId })
    
      // 1. plain operations
      const { bot } = await client.getBot({ id: botId })
      console.log('### bot', bot)
    
      // 2. list utils with `.collect()` function
      const [latestConversation] = await client.list
        .conversations({ sortField: 'createdAt', sortDirection: 'desc', integrationName: 'telegram' })
        .collect({ limit: 1 })
      console.log('### latestConversation', latestConversation)
    
      // 3. list utils with async generator and `for await` syntax
      for await (const message of client.list.messages({ conversationId: latestConversation.id })) {
        console.log(`### [${message.userId}]`, message.payload)
      }
    }
    
    void main()