Skip to content

Instantly share code, notes, and snippets.

Avatar

Lee Boonstra savelee

View GitHub Profile
@savelee
savelee / actions.js
Created Apr 12, 2021
google assistant - for CX agents
View actions.js
{
"actions": [
{
"description": "Default Welcome Intent",
"name": "MAIN",
"fulfillment": {
"conversationName": "welcome"
},
"intent": {
"name": "actions.intent.MAIN",
@savelee
savelee / actions.json
Last active Apr 9, 2021
Actions on Google SDK
View actions.json
{
"actions": [
{
"description": "Default Welcome Intent",
"name": "MAIN",
"fulfillment": {
"conversationName": "welcome"
},
"intent": {
"name": "actions.intent.MAIN",
View chat.dart
import 'dart:async';
import 'package:dialogflow_grpc/v2beta1.dart';
import 'package:dialogflow_grpc/generated/google/cloud/dialogflow/v2beta1/session.pb.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:rxdart/rxdart.dart';
import 'package:sound_stream/sound_stream.dart';
//TODO import Dialogflow
import 'package:dialogflow_grpc/dialogflow_grpc.dart';
@savelee
savelee / generate-protos-.sh
Last active Mar 15, 2021
Generate Google Cloud dart files from protobuffers
View generate-protos-.sh
#!/usr/bin/env bash
if [ ! -d "$PROTOBUF" ]; then
echo "Please set the PROTOBUF environment variable to your clone of google/protobuf."
exit -1
fi
if [ ! -d "$GOOGLEAPIS" ]; then
echo "Please set the GOOGLEAPIS environment variable to your clone of googleapis/googleapis."
exit -1
@savelee
savelee / dialogflow_v2.dart
Last active Mar 8, 2021
Dialogflow Flutter example
View dialogflow_v2.dart
import 'package:meta/meta.dart';
import 'package:googleapis_auth/auth_io.dart' as auth;
import "package:googleapis/dialogflow/v2.dart";
import 'package:uuid/uuid.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'dart:convert';
class Dialogflow {
final String serviceAccountPath;
@savelee
savelee / 000-default-le-ssl.conf
Last active Jun 26, 2020
SSL / mutual TLS examples
View 000-default-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
@savelee
savelee / .dockerignore
Last active Jun 17, 2020
Dialogflow Fulfillment in Cloud Run
View .dockerignore
Dockerfile
README.md
node_modules
npm-debug.log
@savelee
savelee / index.js
Last active Jun 17, 2020
Webhook Example
View index.js
'use strict';
const functions = require('firebase-functions');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
function handleRequest(map, request){
let intent;
if(request.body && request.body.queryResult && request.body.queryResult.intent){
intent = request.body.queryResult.intent.displayName;
}
@savelee
savelee / index.js
Last active Jun 17, 2020
Actions on Google libary
View index.js
'use strict';
const {
dialogflow,
BasicCard,
Button,
Image,
Suggestions
} = require('actions-on-google');
@savelee
savelee / index.js
Last active Jun 17, 2020
Dialogflow Fulfillment Library
View index.js
'use strict';
const functions = require('firebase-functions');
const { WebhookClient, Card, Suggestion } = require('dialogflow-fulfillment');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));