Skip to content

Dialogflow middleware for BotMan that works with Dialogflow v2

License

Notifications You must be signed in to change notification settings

agencelex/botman-middeware-dialogflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BotMan DialogFlow Middleware

BotMan Middleware to connect DialogFlow with BotMan

Thank's to @genkovich. The code source was fork from pull request.

Installation

Composer

composer require lex/botman-middleware-dialogflow

Usage

.env

GOOGLE_CLOUD_PROJECT=project-id
GOOGLE_APPLICATION_CREDENTIALS=/path/to/security-file.json

Where can I get this variables?

  • Login at https://dialogflow.cloud.google.com/
  • Create NewAgent (or use an existing one)
  • Click on "Settings" icon (1)
  • Copy your project id (2) into .env file
  • Click on project id (2)

Step one

  • After that you will find "Service accounts" section (click (1) or (2))

Step

  • Click on "Create service account", fill "name" field and click "Create"

Step

  • On the next step you have to add two roles, "DialogFlow API Admin" and "DialogFlow API Client" and click "Done"

Step

  • Now, go to the page "Manage keys"

Step

  • Create new key in .json format

Step

  • Move downloaded file into project root directory
  • Add path to file in .env

Code example

$dialogflow = \BotMan\Middleware\DialogFlow\V2\DialogFlow::create('en');
$botman->middleware->received($dialogflow);
$botman->hears('smalltalk.(.*)', function ($bot) {
    $extras = $bot->getMessage()->getExtras();
    $bot->reply($extras['apiReply']);
})->middleware($dialogflow);

smalltalk.(.*) - there is action name pattern Step

If you create actions with different prefixes, you can use ->ignoreIntentPattern()

$dialogflow = DialogFlow::create('en')->ignoreIntentPattern();

Security Vulnerabilities

If you discover a security vulnerability within BotMan, please send an e-mail to Marcel Pociot at m.pociot@gmail.com. All security vulnerabilities will be promptly addressed.

License

BotMan is free software distributed under the terms of the MIT license.

About

Dialogflow middleware for BotMan that works with Dialogflow v2

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages