Experience the classic text adventure Thy Dungeonman as it was meant to be played: on the Amazon Alexa!
To run this app locally, fork this repo and follow these instructions:
- Create an Alexa developer account
- Create a new custom skill under your account
- Copy the new Skill ID and add it to:
.ask/config
manifests/local.skill.json
.env
- Install and login to the AWS CLI
- Install and login to the ASK CLI
npm install
&npm start
Credentialed by the AWS CLI, the skill should auto-create a new DynamoDB table when being run for the first time. If credentials weren't set up properly, you may run into issues here.
This command runs a Gulp task that allows you to easily dev on your bot via your local machine. It will:
- Open an ngrok tunnel to port
3000
. - Update the endpoint in your
local.skill.json
and push it to your Alexa dev skill. - Run the
build
command. - Start a local Express server that will feed requests to your built code.
- Rebuild and restart the server in response to changes in
./src
TypeScript files, ignoring*.test.ts
files.
Convert your ./src
TypeScript files to Node-friendly JavaScript and save them to the ./build
folder.
Push model language changes to your Alexa dev skill. If you have changed or added any slots or intents, you must run this command before your skill can use them. Build time for a new model is usually around twenty seconds.
Performs npm run lint-check
, npm run test-units
and npm run test-features
in that order.
Confirms that all files match Prettier style.
Runs all unit tests using Jest.
Runs feature tests using Testflow. Claiming that these scripts are tests is a bit of a stretch, but you do get automated interactions with your Alexa bot so you can easily watch typical flows from a user's perspective, with friendly printouts in your console.
Alexa has several specifications if you are to use custom audio.
This repo has a Gulp task for converting your audio to these specifications using FFmpeg. If you have homebrew available, you can run brew install ffmpeg
.
Place your custom audio files in assets/src
and then run npm process-audio
. They will be converted and placed in the dist
folder, ready to be uploaded to an S3 bucket.
I do not own the rights to Thy Dungeonman and am not affiliated with the Brothers Chaps or Homestar Runner in any way.