Coding

How to Program a Conversation with Alexa! (Python & AWS Lambda) – Part 1

  • 00:00:00 what's up guys and girls and welcome
  • 00:00:02 back to another video
  • 00:00:03 I'm here with Alexa and what are we
  • 00:00:04 going to be doing today in this video we
  • 00:00:06 are going to learn how to program a
  • 00:00:08 simple conversation with me and what
  • 00:00:11 tools we'll be using to do that we'll be
  • 00:00:14 using the Alexa skills kit Python 3 and
  • 00:00:17 finally AWS lambda
  • 00:00:19 all right thanks Alexa and finally
  • 00:00:21 before we again can you remind my
  • 00:00:23 viewers of what they need to do I don't
  • 00:00:24 want to yeah please just tell them what
  • 00:00:30 to do I don't even think it will help
  • 00:00:33 why do you always make me do this
  • 00:00:36 Alexa all the top youtubers do this can
  • 00:00:38 you please just remind my audience what
  • 00:00:40 they need to do ok fine make sure to
  • 00:00:43 LIKE this video and smash that subscribe
  • 00:00:46 button
  • 00:00:47 all right thanks Alexa good chatting
  • 00:00:49 with you have a nice day
  • 00:00:51 alright cool so if you couldn't tell by
  • 00:00:53 that intro in this video we're gonna be
  • 00:00:54 program a simple conversation like the
  • 00:00:56 one I just had and one thing I want to
  • 00:00:59 mention real quick is you do not have to
  • 00:01:01 have an echo device to follow along with
  • 00:01:03 this video there's actually a simulator
  • 00:01:05 that Amazon provides so don't worry
  • 00:01:08 about this and this is just a fun Python
  • 00:01:12 exercise it's kind of cool kind of
  • 00:01:14 seeing your code come to life in such a
  • 00:01:17 different way alright let's just get
  • 00:01:19 right into this video to begin open up a
  • 00:01:22 new Internet window and we're gonna go
  • 00:01:24 to two different websites the first one
  • 00:01:25 we're gonna go to is developer
  • 00:01:27 amazon.com slash Alexis skills kit and
  • 00:01:34 this has all sorts of documentation on
  • 00:01:37 what you can and can't do with Alexa and
  • 00:01:39 it also is where you go to actually
  • 00:01:41 start building your first alexa
  • 00:01:42 application so go ahead and click on
  • 00:01:45 start a skill you might need to login
  • 00:01:48 I'm already logged in so that's why I
  • 00:01:50 went straight here one thing I want to
  • 00:01:52 say about login is make sure you use the
  • 00:01:54 same login on the Alexa skills kit your
  • 00:01:56 AWS account and also if you're
  • 00:01:59 connecting to a physical echo device
  • 00:02:01 that needs to be the same login as well
  • 00:02:04 so you might run into errors if you're
  • 00:02:05 not using the same login in all of those
  • 00:02:07 places and you can see I already have a
  • 00:02:10 couple Alexa skills built but we're
  • 00:02:12 going to make a new one today
  • 00:02:13 so just click on create a skill and
  • 00:02:17 we'll just call this conversation you
  • 00:02:20 can name it whatever you want but I want
  • 00:02:22 to just name mine conversation and once
  • 00:02:27 you do that oh I guess we have one more
  • 00:02:30 page to get through click custom I don't
  • 00:02:32 know what these other ones are they
  • 00:02:33 might be fun to play around with but
  • 00:02:35 click custom and click create skill this
  • 00:02:38 will bring us to the kind of main
  • 00:02:40 landing page for the Alexus skills kit
  • 00:02:43 so as you can see there's kind of a
  • 00:02:46 checklist on the right and then the
  • 00:02:48 actual kind of options the main things
  • 00:02:51 were going to be dealing with on the
  • 00:02:52 left I'll kind of walk through the flow
  • 00:02:55 of this so all these Alexa apps begin
  • 00:02:58 with an invocation so what this
  • 00:03:00 invocation is is what you need to tell
  • 00:03:02 Alexa to actually start running your
  • 00:03:05 program so if I called this conversation
  • 00:03:10 application I would say Alexa run
  • 00:03:14 conversation application and that's how
  • 00:03:16 we know to open my custom app so you'll
  • 00:03:19 have to create an invocation I'm going
  • 00:03:22 to call mine conversation application
  • 00:03:24 but feel free to name yours whatever
  • 00:03:25 again and then whenever you're making
  • 00:03:28 these changes you want to do save model
  • 00:03:30 and build model we're probably to get an
  • 00:03:32 error on the build model right now so
  • 00:03:34 yeah missing sample utterance it doesn't
  • 00:03:37 have anything in this program right now
  • 00:03:39 okay so we have an invocation and then
  • 00:03:42 we're gonna have intense intense are
  • 00:03:45 what we respond with Alexa like they're
  • 00:03:48 kind of our guidelines for for a
  • 00:03:52 specific intent do a specific thing with
  • 00:03:54 Alexa so the built-in ones are like stop
  • 00:03:58 intent help intent cancel intent I guess
  • 00:04:02 and fallback intent that's a new one I
  • 00:04:04 haven't actually seen that so for Alexa
  • 00:04:08 to know what to do in these specific
  • 00:04:10 intents you'll have to do some sample
  • 00:04:14 utterances so for example on the options
  • 00:04:18 for our app we would say something like
  • 00:04:21 I need help
  • 00:04:24 please help me just all different ways
  • 00:04:27 that you could maybe say I need help I
  • 00:04:30 don't know how to use this application
  • 00:04:34 and you know do four or five and then
  • 00:04:39 what happens with these intents is Alexa
  • 00:04:43 uses machine learning Amazon uses
  • 00:04:44 machine learning to train based off of
  • 00:04:47 these intents for other ways to say
  • 00:04:49 these same types of things so that when
  • 00:04:51 we actually start building our
  • 00:04:52 application we can say new ways to ask
  • 00:04:56 for help that maybe I didn't think of
  • 00:04:58 off them my head and Alexis still can
  • 00:05:00 handle them so that's just a little bit
  • 00:05:02 about intense okay so have an indication
  • 00:05:06 and we have some intense we'll make a
  • 00:05:08 custom intent once we start actually
  • 00:05:09 building the code side of our
  • 00:05:12 application the next thing we'll want to
  • 00:05:15 do is create an endpoint so right now I
  • 00:05:18 couldn't actually test our application I
  • 00:05:21 believed that say that we will say yeah
  • 00:05:25 a functional endpoint is required to
  • 00:05:26 test your skill so we can't test an
  • 00:05:28 application and wait until we have a
  • 00:05:30 endpoint set up and that's where AWS the
  • 00:05:34 lambda comes in so I want you in another
  • 00:05:37 tab to open up aws.amazon.com and you'll
  • 00:05:46 also have to sign in to this same
  • 00:05:51 account as you use for Alexis skills get
  • 00:05:53 and click click on lambda and if you
  • 00:05:57 didn't see it just type it up in the top
  • 00:05:58 and as you can see I also have some
  • 00:06:00 functions already running in lambda so
  • 00:06:03 let's create a new function today and
  • 00:06:05 I'm just going to call this like
  • 00:06:07 conversation so it just matches with the
  • 00:06:11 conversation name I gave the Alexis
  • 00:06:13 skills kit and we'll be using Python 3.6
  • 00:06:18 honestly I haven't never really seen
  • 00:06:20 anything on YouTube that's really doing
  • 00:06:22 this with Python so I thought that's why
  • 00:06:24 I would focus on Python for this video
  • 00:06:27 and also the other videos on my channel
  • 00:06:28 are all Python based and also I want to
  • 00:06:31 say one more thing is that even if you
  • 00:06:32 don't have much coding experience just
  • 00:06:35 following along with this video you'll
  • 00:06:37 probably be able to like you'll be able
  • 00:06:41 to figure out how to build your own
  • 00:06:42 application even if you don't know a ton
  • 00:06:44 of Python for role this doesn't matter
  • 00:06:51 too much to me but if you want to define
  • 00:06:52 specific permissions look into this I
  • 00:06:54 want to just go ahead and go create a
  • 00:06:56 custom role come on load and I'm going
  • 00:07:02 to create a new I enroll the role name
  • 00:07:05 is lambda basic execution the basic
  • 00:07:07 execution is fine for us but I'll just
  • 00:07:08 give it a new name like Alexa it's just
  • 00:07:11 going to be the role name allow and then
  • 00:07:16 you can just go ahead and click create
  • 00:07:17 function and for this to actually work
  • 00:07:24 so we don't have anything in our as you
  • 00:07:27 can see you have some code you can write
  • 00:07:28 down here you can play around with some
  • 00:07:31 of the settings to get this black
  • 00:07:33 background I don't know if it comes to
  • 00:07:34 fault
  • 00:07:35 but it doesn't have anything there just
  • 00:07:38 says hello from lambda what we're gonna
  • 00:07:39 do is in the description I put a link to
  • 00:07:43 a github page that I posted a basic
  • 00:07:48 template so I want you to go in there
  • 00:07:50 click on basic template and just copy
  • 00:07:54 all this code
  • 00:08:00 click on and copy all of this code and
  • 00:08:03 then instead of this lambda handler
  • 00:08:05 paste in paste in using control V or
  • 00:08:10 command V whatever you're on the code I
  • 00:08:13 have on my github page cool we now have
  • 00:08:17 something that actually is already a
  • 00:08:19 little bit functional so watch what
  • 00:08:22 happens so if I go back to Alexa skills
  • 00:08:25 get I go to end point I can do
  • 00:08:29 AWS lambda a RN this is our skill ID so
  • 00:08:34 we can connect this to the lambda and
  • 00:08:39 don't really worry about what this
  • 00:08:42 actually is too much doesn't really make
  • 00:08:45 too much of a difference I forget
  • 00:08:46 actually where to put this oh we have to
  • 00:08:48 do Alexa skills get click on Alexa
  • 00:08:50 skills kit as a
  • 00:08:51 add trigger so it know a Tobias lambda
  • 00:08:53 knows that we're gonna be running in it
  • 00:08:56 Alexa application from this a naval
  • 00:08:59 skill ID verification and paste in that
  • 00:09:01 skill that you had add and then on the
  • 00:09:07 Alexa skillset side of things we need to
  • 00:09:11 paste in a default region and if you go
  • 00:09:13 to your AWS lambda console you have the
  • 00:09:16 a RN that's up there on the top right
  • 00:09:18 copy that and paste that into the
  • 00:09:22 default region and then click save
  • 00:09:25 endpoint what the trigger setting for a
  • 00:09:30 to do is lamda is invalid I beg to
  • 00:09:34 differ
  • 00:09:35 maybe I have to click Save first ah
  • 00:09:37 there we go now copy and paste it in
  • 00:09:49 save that fines yeah we got okay so now
  • 00:09:53 we're from Alexis kills kit we are
  • 00:09:55 connected to our Amazon Alexa app and if
  • 00:10:03 we now go to test and remember before
  • 00:10:09 the first thing we did was we did a load
  • 00:10:15 please load we did an invocation
  • 00:10:17 conversation application so now in the
  • 00:10:22 tests we're going to test a valid
  • 00:10:26 interaction model is required to test
  • 00:10:29 your skill what the heck dude oh we
  • 00:10:34 actually have to to build it so in
  • 00:10:37 intense or anywhere on this left side
  • 00:10:40 you can even do an invocation you
  • 00:10:42 actually have to build model it takes a
  • 00:10:44 little while I'll just fast-forward
  • 00:10:46 through this okay build successful so
  • 00:10:50 now we can go back to test click on
  • 00:10:54 enable and now in the left side we have
  • 00:10:58 our own Alexis simulator so I could do
  • 00:11:00 something like Alexa what is the weather
  • 00:11:03 in Boston that's where I'm at right now
  • 00:11:07 currently in Boston Massachusetts at 73
  • 00:11:11 degrees Fahrenheit with mostly cloudy
  • 00:11:12 skies tonight you can expect clouds with
  • 00:11:16 thundershowers with a low of 57 degrees
  • 00:11:18 all right thanks Alexa and actually have
  • 00:11:22 the hold down this button if you
  • 00:11:23 actually want to talk thanks Alexa hmm I
  • 00:11:28 don't know that oops
  • 00:11:29 got the last word before I click the
  • 00:11:31 button but you can do anything with
  • 00:11:32 Alexa right here on the left but now
  • 00:11:34 what we can do is do Alexa run
  • 00:11:38 conversation application welcome to your
  • 00:11:44 custom Alexa application so it gave us
  • 00:11:46 something back that means it's actually
  • 00:11:48 talking already to our AWS lambda
  • 00:11:51 function so if i refresh this page real
  • 00:11:54 quick
  • 00:11:57 I can show you where in the code it says
  • 00:12:00 welcome to your custom electrical
  • 00:12:02 application so right in get welcome
  • 00:12:08 response so maybe I'll make this a
  • 00:12:10 little bit bigger so you can see it I'll
  • 00:12:13 scroll down a little bit – yeah sorry
  • 00:12:16 trying to get it right in the center of
  • 00:12:18 the screen
  • 00:12:19 okay so there is a get welcome response
  • 00:12:25 says welcome to your custom Alexia
  • 00:12:28 application and I could say this I could
  • 00:12:31 set this to anything I can do something
  • 00:12:33 like what up what up what up your
  • 00:12:41 application has started so pretty
  • 00:12:46 obvious if this actually will work
  • 00:12:48 you'll know so go back here and the nice
  • 00:12:52 thing is you don't have to rebuild the
  • 00:12:53 model when you make the changes on the
  • 00:12:55 code side you only have to do it when
  • 00:12:57 you're making changes within the Alexa
  • 00:12:59 skills kit so I could do quit or
  • 00:13:01 something just get out of that then I
  • 00:13:03 could run it again
  • 00:13:04 run conversation application what up
  • 00:13:09 what up what up your application has
  • 00:13:11 started so now we got the Welcome
  • 00:13:13 message going and you can play around
  • 00:13:15 with whatever welcome message you want
  • 00:13:17 by changing the text in here and one
  • 00:13:19 thing I should mention is there's
  • 00:13:21 another there's the speech output and
  • 00:13:24 then there's the Reap romped text read
  • 00:13:28 prompt text will only actually happen on
  • 00:13:30 Alexa to echo devices and what basically
  • 00:13:34 Reap romped text is is if you don't
  • 00:13:36 respond to what Alexa says within like
  • 00:13:38 three seconds I think you can set the
  • 00:13:40 timeout it will respond with the re
  • 00:13:44 prompt text card title doesn't matter
  • 00:13:47 too much I just was following the format
  • 00:13:49 they had another Python code I found I
  • 00:13:51 set that to whatever your intent
  • 00:13:54 responses session attributes will play
  • 00:13:57 around with that in a bit okay I want to
  • 00:14:00 walk real quick through the flow of this
  • 00:14:03 this code just so you understand what is
  • 00:14:05 exactly happening so when I make a
  • 00:14:07 request
  • 00:14:08 Alexa sends it to this function
  • 00:14:11 this function gets it in the lambda
  • 00:14:14 handler gets the event and the context
  • 00:14:17 so there's a couple things so like when
  • 00:14:20 I'm just starting the application it's
  • 00:14:21 gonna run the on the on session started
  • 00:14:26 and also the on launch requests and then
  • 00:14:30 once I you know my application started
  • 00:14:33 I'll be running my request will be
  • 00:14:37 intent requests and those types of
  • 00:14:41 things and I guess finally when I say
  • 00:14:44 hey Alexa like quit out of my
  • 00:14:45 application it will send it a session
  • 00:14:48 ended request so this lambda handler
  • 00:14:51 will then pass the code to the functions
  • 00:14:55 above so like one of the first functions
  • 00:14:57 it would send it to is on session
  • 00:14:58 started one of the uses of this would be
  • 00:15:02 hey I want to like initialize some
  • 00:15:03 variables that are stored in a database
  • 00:15:05 right when I'm starting this application
  • 00:15:07 you could do it in the on session
  • 00:15:09 started or I guess you could also do it
  • 00:15:11 on the on launch calls and that happens
  • 00:15:16 right when we open conversation
  • 00:15:18 application and then the kind of more
  • 00:15:22 important one will be the get on intent
  • 00:15:27 Handler so I have right now a test
  • 00:15:30 intent and we'll use that in one sec but
  • 00:15:33 another intent I have is the help intent
  • 00:15:35 so right now if I typed in like a help
  • 00:15:38 message it would give me back just the
  • 00:15:41 welcome response so I could show you
  • 00:15:45 that real quick
  • 00:15:48 so like so or just you don't even have
  • 00:15:53 to say Alexa once your applications
  • 00:15:54 already running please help me what up
  • 00:15:57 what up what up see if your application
  • 00:15:59 has started it knew the intent was help
  • 00:16:01 and actually if I can show you this
  • 00:16:03 within the JSON input intent request is
  • 00:16:07 the type and maybe I'll make this a
  • 00:16:09 little bit bigger ten requests of the
  • 00:16:12 type and the name is Amazon help intent
  • 00:16:16 so it knew that I was requesting health
  • 00:16:20 and that's why it triggered the Welcome
  • 00:16:21 response again so now let's do something
  • 00:16:24 a little bit more fun and build our
  • 00:16:26 first custom intent so go back to build
  • 00:16:30 inside the Alexa skills kit and go to
  • 00:16:38 intense and what I want you to do is add
  • 00:16:40 intent and we're just gonna call this
  • 00:16:43 test just to make sure that we actually
  • 00:16:45 have something working here so what
  • 00:16:48 would they say run the test intent test
  • 00:16:54 test test test can you send the sample
  • 00:17:01 response I want to test my application
  • 00:17:06 so these are a couple of different ways
  • 00:17:08 you could you know have this test intent
  • 00:17:11 right we're gonna click Save model build
  • 00:17:13 model and on the lambda side of things I
  • 00:17:18 named this inside of this just test all
  • 00:17:22 under all the lowercase letters on the
  • 00:17:25 AWS lambda side of things as you can see
  • 00:17:29 when it gets the on intent request it
  • 00:17:32 says if intent name equals test return
  • 00:17:35 get test response so the Alexa skills
  • 00:17:39 kit is training the model so that it
  • 00:17:40 will understand a me talking and like
  • 00:17:44 when I say something that resembles a
  • 00:17:47 test intent it will send the test
  • 00:17:50 response so as you can see in the test
  • 00:17:54 response I just say this is a test
  • 00:17:56 message and then I just was playing
  • 00:17:59 around with
  • 00:17:59 very prompt text here too so this is all
  • 00:18:01 part of the template right now we
  • 00:18:02 haven't actually added any of our own
  • 00:18:04 custom you know real intense to this to
  • 00:18:11 this why can't I speak English to this
  • 00:18:16 file that's good enough yeah
  • 00:18:19 and let's see did it finish building it
  • 00:18:22 takes a while again time travel cool
  • 00:18:26 we're good to test it again test Alexa
  • 00:18:33 run conversation application that would
  • 00:18:38 up would up your application has started
  • 00:18:40 yeah it work and then now we're gonna
  • 00:18:43 see if our test intent works so I would
  • 00:18:45 hold the mic again
  • 00:18:47 test test test test this is a test
  • 00:18:53 message so it understood that I was
  • 00:18:56 sending a test message and I could say
  • 00:18:57 it in a different way I could say it in
  • 00:18:59 a way I never even mentioned in the
  • 00:19:01 training I could say Alexa please send
  • 00:19:08 me the test message this is a test
  • 00:19:14 message so said it in another way and if
  • 00:19:16 I went to my you know it's probably
  • 00:19:22 training this intent basically off the
  • 00:19:24 word test yeah so I didn't even say what
  • 00:19:28 I just said before in when I was
  • 00:19:31 training it but it knew because it built
  • 00:19:32 a model around my sample utterances cool
  • 00:19:36 so let's now delete this intent we're
  • 00:19:39 gonna make it something more fun so
  • 00:19:40 instead of doing a test intent we're
  • 00:19:43 gonna add a tenth and we're gonna call
  • 00:19:45 it complement so everyone needs to pick
  • 00:19:49 me up now and then so we're gonna build
  • 00:19:51 a little extra app to give us a
  • 00:19:53 compliment give me a compliment I need a
  • 00:19:59 pick-me-up
  • 00:20:02 can you say something nice about me I
  • 00:20:08 would like for you to compliment me so
  • 00:20:13 four different ways to say like I want
  • 00:20:15 to compliment save model build model
  • 00:20:19 gosh this takes a little while but
  • 00:20:21 whatever will work on the code while
  • 00:20:23 it's building so now instead of get test
  • 00:20:26 response will change this just because
  • 00:20:29 it makes more sense to be get compliment
  • 00:20:31 response change it to that will change
  • 00:20:34 the card title to compliment once again
  • 00:20:37 the card title doesn't really do too
  • 00:20:39 much it allows you to know I don't know
  • 00:20:44 I don't look into the documentation if
  • 00:20:47 you really want to know much about the
  • 00:20:48 card title I'm just following kind of a
  • 00:20:50 framework that I found so I was keeping
  • 00:20:52 the card titles in there and now we need
  • 00:20:56 to go instead of Intent name equals test
  • 00:20:58 we're going to do Ted name equals
  • 00:21:01 compliment we're going to return
  • 00:21:03 compliment response and let's see so for
  • 00:21:11 example I could say something like you
  • 00:21:16 have the dreamiest eyes well thanks
  • 00:21:23 Alexa and the Reap prompt text could be
  • 00:21:28 something like your eyes are like the
  • 00:21:35 are beautiful like the ocean I don't
  • 00:21:42 know I guess my eyes aren't blue but
  • 00:21:44 where you get the point so we can save
  • 00:21:48 that and now hopefully it's done
  • 00:21:51 building build successful as you can see
  • 00:21:53 go back to the test pane and we can do
  • 00:21:59 alexa run conversation application
  • 00:22:06 what up what up what up your application
  • 00:22:08 has started Alexa please give me a
  • 00:22:13 compliment
  • 00:22:15 you have the dreamiest eyes oh thanks
  • 00:22:18 Alexi you're the best
  • 00:22:20 okay so gave me Alexa gave me a
  • 00:22:23 compliment and one of the nice things
  • 00:22:25 about this which is really fun to play
  • 00:22:27 around with is this is all Python code
  • 00:22:30 in here so we don't have to do just you
  • 00:22:33 know select the same speech output every
  • 00:22:35 time we could make this a little bit
  • 00:22:38 random so I could do something like
  • 00:22:41 compliments and I could say you know
  • 00:22:44 maybe this is one of the compliments
  • 00:22:51 then maybe you are very intelligent is
  • 00:22:57 another compliment and you always make
  • 00:23:02 me smile is a third compliment now we
  • 00:23:06 have three complements and we can use
  • 00:23:08 our knowledge of Python to do something
  • 00:23:10 like complements and then get a random
  • 00:23:15 one from that so I'm gonna real quick go
  • 00:23:16 to the top of this and import the random
  • 00:23:21 library import random I apologize if
  • 00:23:25 it's a little bit tough to see this I'm
  • 00:23:27 trying to make it big but it's a little
  • 00:23:29 bit tough to alright import random make
  • 00:23:34 it a little bit bigger
  • 00:23:35 alright ah that's a little bit too big
  • 00:23:37 import random and I go down here and I
  • 00:23:41 could do something like complements and
  • 00:23:44 then we're gonna index it by random and
  • 00:23:47 int zero to length of compliments and
  • 00:23:52 then we'll have to do minus one just
  • 00:23:54 because the length of compliments would
  • 00:23:56 actually go till three
  • 00:23:58 and because indexing starts at zero we
  • 00:24:01 have to do minus one so I now save this
  • 00:24:06 and I wonder if it actually just works
  • 00:24:09 if I don't even restart it and I can
  • 00:24:13 type or talk Alexa
  • 00:24:15 I need a pick-me-up you are very
  • 00:24:22 intelligent Alexa I need a pick-me-up
  • 00:24:26 you are very intelligent Alexa Alexa I
  • 00:24:30 need a pick-me-up
  • 00:24:32 you always make me smile so as you can
  • 00:24:35 see now it's picking a random one from
  • 00:24:37 the three compliments I have so we now
  • 00:24:40 have this little application that can
  • 00:24:41 give us a random compliment which is
  • 00:24:42 nice but only out of three options which
  • 00:24:45 is a little bit limited so what you can
  • 00:24:48 do is in addition in this github
  • 00:24:52 repository
  • 00:24:53 I also put a compliment txt file so I'm
  • 00:25:01 going to leave this up just because I
  • 00:25:03 don't want to make this video too too
  • 00:25:04 long I'm going to leave this as an
  • 00:25:06 exercise for you guys to play around
  • 00:25:07 with but what you could do is you can
  • 00:25:10 import this file into your lambda
  • 00:25:14 function and then you could like load it
  • 00:25:17 in within the get complement response
  • 00:25:19 you could load each line as a part of
  • 00:25:23 this list and then now you're like
  • 00:25:25 complements rain about rain it could it
  • 00:25:27 select one out of the hundred so if you
  • 00:25:29 have any trouble doing that
  • 00:25:31 just leave a comment and I'll get back
  • 00:25:33 and I'll help you out but I don't want
  • 00:25:34 to go through it myself in this video
  • 00:25:36 just to save a little bit of time okay
  • 00:25:39 cool so now we're giving ourselves
  • 00:25:40 compliments so whenever you're you know
  • 00:25:42 feeling a little bit down just tell
  • 00:25:45 Alexa to give you a compliment all right
  • 00:25:47 I'm gonna in this video here if it
  • 00:25:49 hasn't already been posted by the time
  • 00:25:50 you watch this video I'll be posting a
  • 00:25:52 part two to this video very soon and
  • 00:25:55 that will cover all the kind of complex
  • 00:25:57 aspects of programmatic conversation
  • 00:25:59 with a lack Alexa so that will cover
  • 00:26:01 debugging your code that will cover
  • 00:26:05 session attributes storing stuff over
  • 00:26:07 the duration of your your conversation
  • 00:26:09 your application and also storing
  • 00:26:12 variables in intent slots so check the
  • 00:26:16 description for a link to that video
  • 00:26:18 full source code to everything we
  • 00:26:19 covered in this video including reading
  • 00:26:21 from the hundred compliments of txt file
  • 00:26:24 will be on my github page
  • 00:26:26 the link to that will be in the
  • 00:26:27 description thank you guys for watching
  • 00:26:29 this video hopefully you learned
  • 00:26:31 something if you did and enjoyed this
  • 00:26:32 video
  • 00:26:33 throw a big thumbs up that could mean a
  • 00:26:34 lot to me and also I'm really trying to
  • 00:26:37 get to a thousand subscribers as soon as
  • 00:26:39 possible so if you could hit that
  • 00:26:41 subscribe button as well that would be
  • 00:26:42 terrific yeah and if you have any
  • 00:26:45 questions just leave a comment down the
  • 00:26:47 comment down in the comments section
  • 00:26:50 thank you guys oh god I already said
  • 00:26:52 thank you for watching
  • 00:26:53 ah we'll just go peace peace guys
  • 00:26:57 [Music]