botnoi_dev_platform 0.0.14 copy "botnoi_dev_platform: ^0.0.14" to clipboard
botnoi_dev_platform: ^0.0.14 copied to clipboard

outdated

A flutter package for creating and training chatbot on botnoi.ai using botnoi developer platform api.

Botnoi Dev Platform is a programatical alternative to the visual chatbot builder provided by https://botnoi.ai. It can be used to build and train chatbots for various platforms such as Facebook Messenger and LINE.

This official library provides a Dart implementation of Botnoi Dev Platform's API in order to simplify the process of building chatbots. It also provides various data types related to chatbots such as 'BotIntents', 'BotObjects' and lots of helper functions to work with them.

This suits best for developers who want to build chatbots programmatically or to automate the process of chatbot training when an action is performed by the applications' users.

Getting started #

first, add the package to your pubspec.yaml file

dependencies:
  botnoi_dev_platform: ^latest_version

then, import the package

import 'package:botnoi_dev_platform/botnoi_dev_platform.dart';

note: you have to have an API key to use this package. You can get one from https://botnoi.ai

Usage #

  1. First, you have to initialize the BotnoiChatbot server with your API key
BotnoiChatbot.initializeClient(key: 'your_api_key');

Botnoi Dev Platform is designed not to break the application when errors occur. Instead, it will stream the error messages. To handle these errors, you can set the callback function to be called when an error occurs (by defalut, it will print the error message).

BotnoiChatbot.setErrorCallback((error) {
  // handle the error here
  print(error);
});
  1. Then, you can create a BotnoiChatbot server instance and create a new bot in side of it
BotnoiChatbot server = BotnoiChatbot();

// create a new Bot instance
Bot newBot = Bot(
  botName: "newBot",
  sex: "male",
  age: 20,
  owner: "newOwner",
  botAvatar: "https://example.com/avatar.png",
  businessType: ["education"],
);

// add the new Bot instance to the server
await server.createBot(bot: newBot);

Or find an existing one

Bot existingBot = (await server.findBotWithName("existingBot"))!;
  1. You can create an intent in side of that bot by creating a new BotIntent instance and add it to the bot
// create a new BotIntent instance
BotIntent newIntent = BotIntent(
    name: "newIntent",
  );

// reload the bot from the server
// this is required because the bot's id is generated by the server
// alternatively, you can find the bot by name using server.findBotWithName("newBot")
await newBot.reload()

// add the new BotIntent instance to the bot
await newBot.opt.createIntent(intent: newIntent);

notice that the 'opt' property is used when you want to do something with the bot that is related to Botnoi Dev Platform (eg. createIntent, findIntents, etc.). This will be the standard for all the data types related to Botnoi Dev Platform (eg. Bot, BotIntent, BotObject, etc.)

  1. You can train the intent by adding some keywords(inputs) and messages(outputs) to it
// reload the intent from the server
// this is required because the intent's id is generated by the server
// alternatively, you can find the intent by name using newBot.opt.findIntentWithName("newIntent")
await newIntent.reload()

// train the intent
await newIntent.opt!.trainKeyword(keyword: "Hello");
await newIntent.opt!.trainMessage(message: "Hello! how are you?");
  1. Creating objects is similar to creating intents but alittle harder. First, you have to create an object instance of your preferred type (eg. BotApiObject, BotImageObject, etc.) then wrap it within a BotObject instance and add the BotObject instance to the bot.

// create a new BotApiObject instance
BotApiObject newAPI = BotApiObject(
  url: "https://api_example.com",
  method: "POST",
  header: {"Content-Type": "application/json"},
  body: "{'data': 'example_data'}",
);

// create a new BotObject instance with the BotApiObject instance in its objects property
BotObject newObject = BotObject(
  objectName: "newObject",
  objectType: "api",
  objects: [newAPI.toJson()],
);

// add the new BotObject instance to the bot
await newBot.opt.createObject(object: newObject);

notice that you don't have to reload the bot because nothing has been changed in the bot (The intent added to the bot doesn't change the properties of the bot itself).

2
likes
0
points
49
downloads

Publisher

unverified uploader

Weekly Downloads

A flutter package for creating and training chatbot on botnoi.ai using botnoi developer platform api.

Homepage

License

unknown (license)

Dependencies

flutter, get_it, http

More

Packages that depend on botnoi_dev_platform