Skip to content

Instantly share code, notes, and snippets.

:octocat:

German Viscuso germanviscuso

:octocat:
  • Amazon
  • Madrid
Block or report user

Report or block germanviscuso

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@germanviscuso
germanviscuso / gist:3f6f24644905d272ea3778b729bbf5e2
Created Aug 21, 2019
Personal AWS resources in Alexa Hosted Skills
View gist:3f6f24644905d272ea3778b729bbf5e2
How do I set up an Alexa-hosted skill to use resources on a personal AWS account?
With the AWS Lambda execution role ARN, you can seamlessly use resources on a personal AWS account to expand the functionality of your Alexa-hosted skill. For example, you can connect the Alexa-hosted skill to an Amazon DynamoDB table. Take the following steps to set up your Alexa-hosted skill to use resources on a personal AWS account:
In the Alexa developer console, open your Alexa-hosted skill, and then in the code editor click the icon that has hover text AWS Lambda Role Execution ARN. Copy the ARN.
If you have not done so already, on your personal AWS account, in the Identity and Access Management (IAM) dashboard, create a role that allows access to the resource that you want your Alexa-hosted skill to access.
In the IAM dashboard, click Roles, click the name of the role you want to edit, and then click the Trust relationships tab.
Edit the trust relationship to include the sts:AssumeRole action, and specify the AWS Lambda
@germanviscuso
germanviscuso / en-US.json
Last active Aug 19, 2019
Alexa Skill Basics: Global Persistence with the DynamoDB persistence adapter or the S3 Persistence adapter
View en-US.json
{
"interactionModel": {
"languageModel": {
"invocationName": "global persistence demo",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
@germanviscuso
germanviscuso / en-US.js
Created Aug 13, 2019 — forked from KayLerch/en-US.js
Optimized i18n request interceptor for Alexa custom skills in Node. Loads only required language assets from external files and provides some convenient functions to read them. Will also let you store localized settings represented as JSON objects in your language files.
View en-US.js
module.exports = Object.freeze({
translation: {
welcome: 'Howdy',
images: [
{
background: 'https://image/en-US.png'
},
{
background: 'https://image/en-US2.png'
},
@germanviscuso
germanviscuso / en-US.json
Last active Jul 30, 2019
Alexa Skill Basics: Intent Confirmation in Dialogue Management
View en-US.json
{
"interactionModel": {
"languageModel": {
"invocationName": "intent confirmation",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
@germanviscuso
germanviscuso / es-ES.json
Last active Jul 10, 2019
Technovation Workshop (Advanced Fact - es-ES)
View es-ES.json
{
"interactionModel": {
"languageModel": {
"invocationName": "curiosidades espaciales",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
@germanviscuso
germanviscuso / aplcard.js
Last active Jul 9, 2019
Sí mi Capitán - Alexa Games workshop
View aplcard.js
const APLHomeCardRequestInterceptor = {
process(handlerInput) {
const withSimpleCard = handlerInput.responseBuilder.withSimpleCard;
const withStandardCard = handlerInput.responseBuilder.withStandardCard;
function withSimpleAPLCard(cardTitle, cardContent){
if(supportsAPL(handlerInput)){
handlerInput.responseBuilder.addDirective({
type: 'Alexa.Presentation.APL.RenderDocument',
version: '1.0',
document: APLDoc,
View Detect display and APL support
function supportsDisplay(handlerInput) {
// returns true if the skill is running on a device with a display (Echo Show, Echo Spot, etc.)
// Enable your skill for display as shown here: https://alexa.design/enabledisplay
return handlerInput.requestEnvelope.context &&
handlerInput.requestEnvelope.context.System &&
handlerInput.requestEnvelope.context.System.device &&
handlerInput.requestEnvelope.context.System.device.supportedInterfaces &&
handlerInput.requestEnvelope.context.System.device.supportedInterfaces.Display &&
handlerInput.requestEnvelope.context.System.device.supportedInterfaces.hasOwnProperty('Alexa.Presentation.APL');
}
@germanviscuso
germanviscuso / test.java
Created Jun 27, 2019
Progressive Response in Java
View test.java
sendProgressiveResponseMessage("Please wait!", handlerInput);
public static void sendProgressiveResponseMessage(final String message,
final HandlerInput handlerInput){
final SpeakDirective speakDirective = SpeakDirective.builder()
.withSpeech(message)
.build();
final String requestId = handlerInput.getRequestEnvelope().getRequest().getRequestId();
@germanviscuso
germanviscuso / README.md
Created May 13, 2019
Use VS Code as diff tool, git diff tool and git editor
View README.md

code --diff file1.cs file2.cs

git config --global diff.tool vscode git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"

git config --global core.editor "code --wait"

@germanviscuso
germanviscuso / en-US
Last active May 4, 2019
Alexa Skill Basics: Access to external data in Fact skill (using the http module)
View en-US
{
"interactionModel": {
"languageModel": {
"invocationName": "cat facts",
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
You can’t perform that action at this time.