Skip to content

Instantly share code, notes, and snippets.

Lee Boonstra savelee

View GitHub Profile
@savelee
savelee / chatserver-node.js
Last active Feb 27, 2019
Example Dialogflow implementation, branching on parameters and returning text strings
View chatserver-node.js
require('dotenv').config() //load environemnt vars
const projectId = process.env.GCLOUD_PROJECT; //your project name
const uuidv1 = require('uuid/v1');
const sessionId = uuidv1();
const languageCode = 'en-US';
const server = require('http').createServer((request, response) => {
response.writeHead(200, {"Content-Type": "text/html"});
@savelee
savelee / index.js
Created Oct 25, 2018
tvguide index.js
View index.js
//https://us-central1-leeboonstra-blogdemos.cloudfunctions.net/tvguidefeed?channels=4&days=0
'use strict';
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
const rp = require('request-promise');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
@savelee
savelee / _index.js
Last active Sep 25, 2018
Actions on Google starter template (firebase)
View _index.js
'use strict';
const functions = require('firebase-functions');
const {
dialogflow,
Suggestions,
Image,
BasicCard,
MediaObject,
List,
@savelee
savelee / index.js
Last active May 22, 2018
Conditional Templating in Dialogflow with Custom Payloads and Google Cloud Functions
View index.js
'use strict';
const {
dialogflow
} = require('actions-on-google');
const pug = require('pug');
/*
* Uses Pug.js https://pugjs.org/language/plain-text.html
* Requires a Dialogflow custom payload like:
@savelee
savelee / app.js
Last active May 20, 2018
Actions on Google for Google Cloud Functions
View app.js
'use strict';
const {
dialogflow
} = require('actions-on-google'); //version 2.1.1
const assistantHandler = (conv) => {
console.log('Dialogflow Request headers: ' + JSON.stringify(conv.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(conv.body));
@savelee
savelee / index.js
Last active May 24, 2018
Firebase TV Guide assistant
View index.js
// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs
// for Dialogflow fulfillment library docs, samples, and to report issues
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
const rp = require('request-promise');
@savelee
savelee / index.js
Last active Oct 17, 2018
V2 - TV Guide
View index.js
{
"name": "my-tvguide-agent",
"description": "Build the TV Guide agent for Google Assistant with Dialogflow",
"version": "1.0.0",
"license": "Apache-2.0",
"author": "Lee Boonstra",
"engines": {
"node": "^8"
},
"dependencies": {
@savelee
savelee / gist:92b86161c40278b33590baa575b17830
Last active Apr 5, 2018
AIY Raspbain - Create the image manually
View gist:92b86161c40278b33590baa575b17830
Follow Procedure Produced Errors:
Download https://www.raspberrypi.org/downloads/raspbian/ (2018-03-13) unzip, and burn to SD card with https://etcher.io/
Select a working WIFI network.
To open a terminal you can use: CTRL + ALT + T
git clone https://github.com/google/aiyprojects-raspbian.git AIY-projects-python
sudo apt-get install python-virtualenv
@savelee
savelee / my_assistant.service
Created Apr 3, 2018
Google Assistant on a Raspberry Pi (AIY Voicekit). - Headless reboot
View my_assistant.service
//follow these steps in order to make the raspberry pi reboot in headless mode
1. Open my_assistant.service file in an editor:
sudo nano /lib/systemd/system/my_assistant.service
2. Copy contents of my_assistant.service in editor
3. Make your service script executable:
sudo chmod 644 /lib/systemd/system/my_assistant.service
@savelee
savelee / .js
Last active Sep 15, 2017
TVGuide - Google Assistant Code
View .js
'use strict';
process.env.DEBUG = 'actions-on-google:*';
const request = require('request');
const Assistant = require('actions-on-google').ApiAiAssistant;
var CHANNELS = new Map([
["Nederland 1", 1],
["Nederland 2", 2],
You can’t perform that action at this time.