{"id":22827431,"url":"https://github.com/voxaai/voxa-opearlo","last_synced_at":"2025-07-19T11:04:45.519Z","repository":{"id":18218552,"uuid":"83726844","full_name":"VoxaAI/voxa-opearlo","owner":"VoxaAI","description":"An adapter that allows opearlo logging for Alexa skills implemented with voxa","archived":false,"fork":false,"pushed_at":"2023-01-12T06:34:47.000Z","size":159,"stargazers_count":0,"open_issues_count":13,"forks_count":2,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-02-06T06:18:25.762Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VoxaAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-02T21:32:44.000Z","updated_at":"2020-08-10T15:29:04.000Z","dependencies_parsed_at":"2023-01-14T12:51:50.615Z","dependency_job_id":null,"html_url":"https://github.com/VoxaAI/voxa-opearlo","commit_stats":null,"previous_names":["mediarain/voxa-opearlo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxaAI%2Fvoxa-opearlo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxaAI%2Fvoxa-opearlo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxaAI%2Fvoxa-opearlo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VoxaAI%2Fvoxa-opearlo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VoxaAI","download_url":"https://codeload.github.com/VoxaAI/voxa-opearlo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246399789,"owners_count":20770907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-12T18:10:34.353Z","updated_at":"2025-03-31T00:43:35.481Z","avatar_url":"https://github.com/VoxaAI.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Voxa Opearlo\n===========\n\n[![Build Status](https://travis-ci.org/mediarain/voxa-opearlo.svg?branch=master)](https://travis-ci.org/mediarain/voxa-opearlo)\n[![Coverage Status](https://coveralls.io/repos/github/mediarain/voxa-opearlo/badge.svg?branch=master)](https://coveralls.io/github/mediarain/voxa-opearlo?branch=master)\n\nAn [Opearlo](https://www.npmjs.com/package/opearlo-analytics) plugin for [voxa](https://mediarain.github.io/voxa/)\n\nInstallation\n-------------\n\nJust install from [npm](https://www.npmjs.com/package/voxa-opearlo)\n\n```bash\nnpm install --save voxa-opearlo\n```\n\nUsage\n------\n\n```javascript\n\nconst voxaOpearlo = require('voxa-opearlo');\n\nconst opearloConfig = {\n  userId: 'userId',\n  appName: 'appName',\n  apiKey: 'apiKey',\n  suppressSending: false, // A flag to supress sending hits. Useful while developing on the skill\n};\n\nvoxaOpearlo(skill, opearloConfig);\n\n```\n\nWhat you get\n------------\nOnce you register the Voxa plugin, it will handle logging all incoming intents automatically.\nAdditionally, each state will be logged as a CustomEvent. Thus out of the box you'll get a pathway that looks like:\n\n![voice pathway](https://cloud.githubusercontent.com/assets/1660429/24310429/8f0d4ef4-1095-11e7-911a-d49268c1df60.png)\n\n### Suppressing State Events\n\nSometimes smaller intermediary states can flood the pathways diagram. Suppress a state from logging as follows:\n```javascript\nskill.onState('my-state',alexaEvent =\u003e {\n  alexaEvent.opearlo.ignore();\n  return {reply: 'Greeting', to: 'my-next-state'};\n})\n```\n\n### Logging variables\nYou can also add additional values which will be logged along with the state custom event\n```javascript\nskill.onState('my-state',alexaEvent =\u003e {\n  alexaEvent.opearlo.variables.myVariable = 'hello'\n  return {reply: 'Greeting', to: 'my-next-state'};\n})\n```\n\n### Custom Events\nYou can also log custom events from a state.\n```javascript\nskill.onState('my-state',alexaEvent =\u003e {\n  alexaEvent.opearlo.log('my-custom-event',{myVariable: 'hello'});\n  return {reply: 'Greeting', to: 'my-next-state'};\n})\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxaai%2Fvoxa-opearlo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxaai%2Fvoxa-opearlo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxaai%2Fvoxa-opearlo/lists"}