📃
NewBot
  • NewBot, what is it?
  • ConverseScript Syntax
    • Variables
    • Arithmetic
    • Boolean
    • Array and object
    • Entering text and output
    • Magic variables
    • Condition
    • Loop
    • Functions
    • The decorators
      • Use @Condition
      • Use @Action
      • Use @Format
      • Use @Intent
      • Use @Event
  • Prebuilt Formats for Widget
    • Quick Replies
    • Multi Cards
    • Articles
    • Form
  • Pre-built function for the widget
    • Request()
    • Map()
    • _ (lodash)
  • Get Started with Framework
    • Install
    • Main Skill
    • Write the conversational script
  • Use NewBot Framework JS
    • Create a skill (more details)
      • Relationship between skills
      • Use the functions of a child competency
      • Conditional
      • Control access to a skill
    • Create a JavaScript function and trigger it in ConverseScript
    • The constants
    • Write formats
      • Write and use multi-formats
      • Share formats
    • Internationalization (i18n)
    • Set up an NLP system
      • Share the NLP system
      • Use DialogFlow
    • Deploy on the browser
    • Run the chatbot on NodeJS
    • Send data when running the chatbot
    • The middlewares
    • Save the user's progress
    • User object
  • Unit Tests
    • Test a scenario
    • Test variables
    • Spy a function
    • Create a mock
    • Test the events
    • Test the actions
Powered by GitBook
On this page

Was this helpful?

  1. Use NewBot Framework JS
  2. Write formats

Write and use multi-formats

You can use multiple formats

In main.js

import code from './main.converse'

export default {
    code,
    formats: {
        quickReplies(text, [actions]) {
            return {
                text,
                actions
            }
        },
        image(text, [image]) {
            return {
                text, 
                image
            }
        }
    }
}

In ConverseScript:

@Event('start')
start() {
    @Format('image', 'test.com')
    @Format('quickReplies', ['yes', 'no'])
    > test
}

the result is

{
    image: { text: 'test', image: 'test.com' },
    quickReplies: {
        text: { text: 'test', image: 'test.com' },
        actions: [ 'yes', 'no' ]
    }
}

Merge formats

In main.js

import code from './main.converse'

export default {
    code,
    formats: {
        quickReplies(text, [actions]) {
            return {
                text,
                actions
            }
        },
        image(text, [image]) {
            return {
                text, 
                image
            }
        }
    },
    mergeMultiFormats: true
}

In ConverseScript:

@Event('start')
start() {
    @Format('image', 'test.com')
    @Format('quickReplies', ['yes', 'no'])
    > test
}

the result is

{ 
    text: 'test', 
    actions: [ 'yes', 'no' ], 
    image: 'test.com' 
}
PreviousWrite formatsNextShare formats

Last updated 3 years ago

Was this helpful?