# canvas-alexa-lambda **Repository Path**: zhenxf_com/canvas-alexa-lambda ## Basic Information - **Project Name**: canvas-alexa-lambda - **Description**: https://github.com/instructure/canvas-alexa-lambda - **Primary Language**: JavaScript - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-14 - **Last Updated**: 2023-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Canvas Alexa Lambda [Canvas](https://github.com/instructure/canvas-lms) Alexa Lambda is the lambda function that runs all intents present in the Canvas-LMS Alexa Skill. ## Getting Started To get started, set up your `.lambda-dev` file. The `.lambda-dev-example` file includes a basic setup; however, you will still need to get your own access key for the host you are running against. For the best local development experience (and the easiest to track requests/problems), clone and run [Canvas-lms](https://github.com/instructure/canvas-lms) locally. This process will help you keep the default host in the `.lambda-dev-example`. Then, visit your users settings (`profile/settings`) to create an access token and paste it into the `.lambda-dev` file. After that you should be able to run the `devScript.sh` with the intent you would like to test. A list of possible intents can be found in `intents.json`: *Docker* `docker build -t alexalambda .` `docker run -it --rm alexalambda ./bin/devScript.sh ` *local* `yarn` `./bin/devScript.sh ` The script will run the lambda with some dummy session and context data and return the output of your intent in the saml field. example: ``` $ ./bin/devScript.sh GetBlackboard response for Intent: GetBlackboard { version: '1.0', response: { shouldEndSession: false, outputSpeech: { type: 'SSML', ssml: ' You must be crazy. Anything else? ' }, reprompt: { outputSpeech: [Object] } }, sessionAttributes: 'mock session attributes' } ``` ### Prerequisites You will either need: [Docker](https://www.docker.com/) or [Node](https://nodejs.org/en/) v10.22.0. You can use npm if you would like; however, we use [Yarn](https://yarnpkg.com/lang/en/) for this project. ## Running the tests We use jest for testing the canvas alexa lambda: *Docker* `docker run alexalambda yarn test` *local* `yarn test` ### And coding style tests We use prettier in this project. Once you are comfortable with your intent or change you can run: `yarn lint` This will auto format your code to our prettier standard. ## Built With * [Alexa-AWS-SDK](https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs) - The library to handle intents * [Node](https://nodejs.org/en/) - javascript engine ## Contributing Please read [CONTRIBUTING.md](https://github.com/instructure/canvas-alexa-lambda/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. ## Versioning We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). ## Authors * **Steven Burnett** - *Initial work* - [sdb1228](https://github.com/sdb1228) * **Landon Gilbert-Bland** - *Initial work* - [vimalloc](https://github.com/vimalloc) See also the list of [contributors](https://github.com/instructure/canvas-alexa-lambda/graphs/contributors) who participated in this project. ## License This project is licensed under the GNU AFFERO GENERAL PUBLIC License - see the [LICENSE](LICENSE) file for details.