The done(err) function signals to the platform that the script is complete. It must be called any time script execution ends.
Wait for asynchronous operations
Make sure all asynchronous operations are complete before calling done() by using the await prefix. This does not apply to startTyping() or stopTyping().
Parameter | Type | Required | Description |
---|---|---|---|
err | Object<Error> | Optional |
An error to pass to the platform. See https://nodejs.org/api/errors.html for more information on error objects. |
if (bot.user.firstName) {
await bot.channel.sendTextMessage(`Hello ${bot.user.firstName}`, params);
} else {
await bot.channel.sendTextMessage(`Hello there`, params);
}
done();
Make sure done() is used anywhere the script execution ends:
try {
const response = await axios.get('https://api.chucknorris.io/jokes/random', { json: true });
await bot.channel.sendTextMessage('😂😆 ' + response.data.value, params);
done();
} catch (err) {
await bot.channel.sendTextMessage('uh oh, something went wrong', params);
done(err);
}