This is probably the most complex parameter as this defines the configuration interface that will be shown on the web interface of the bot.

Current available variable types:

Type Input
string Show a regular input element where the user can enter some text
password like string but doesn't display the text you've entered
strings set multiple strings
multiline this will display a text area where the user can enter several lines of text
number Show a regular input element, but only accept numeric input from the user
track Show an input where the user can search and specify a track that has been uploaded to the bot - the config variable will later on contain an object like this: { "url": "track://uuid", "title": "A short title of the track" }
tracks select multiple tracks
channel If the bot is connected, this displays a channel selector. The config variable will later on hold the channel-id of the selected channel
select this will display a select box. All options need to specified in an array called options and the config value will later on hold the index to the selected option.
checkbox this will display a checkbox
array this allows the user to add an unspecified amount of items

Example of the string type usage:

{
    name: 'ExampleName',
    title: 'message type',
    type: 'string',
    placeholder: 'Some example placeholder'
}

Example of the select type usage:

{
    name: 'fooType',
    title: 'Variations of foobar',
    type: 'select',
    options: ['Foo', 'Bar', 'Foobar', 'Barfoo']
}

Example of the condition type with the above options example:

{
    name: 'fooSwitch',
    title: 'Selected fooType',
    type: 'select',
    conditions: [{        //make a field visible or invisible in the config with conditions
        field: 'fooType', //this will tell to use the config field with the name "fooType"
        value: 2,         //this will tell to use the 3rd index of the options of the selected type in this case "Foobar"
    }]
}

You can print these values in the log by using:

engine.log(config.ExampleName);
engine.log(config.fooType);