{"id":28185276,"url":"https://github.com/stnc/mygoalexa","last_synced_at":"2026-06-23T05:31:21.921Z","repository":{"id":177219590,"uuid":"660101209","full_name":"stnc/mygoalexa","owner":"stnc","description":"amazon alexa golang library","archived":false,"fork":false,"pushed_at":"2025-04-23T03:53:35.000Z","size":30422,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T18:27:06.616Z","etag":null,"topics":["alexa","alexa-go","alexa-skill","amazon"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stnc.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-29T08:45:14.000Z","updated_at":"2025-04-23T03:53:38.000Z","dependencies_parsed_at":"2024-11-09T09:16:22.872Z","dependency_job_id":"42d4b984-ecfc-481f-9a47-0ff825b1dc48","html_url":"https://github.com/stnc/mygoalexa","commit_stats":null,"previous_names":["stnc/my-go-alexa","stnc/goalexa","stnc/mygoalexa","stnc/go-alexa"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/stnc/mygoalexa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stnc%2Fmygoalexa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stnc%2Fmygoalexa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stnc%2Fmygoalexa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stnc%2Fmygoalexa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stnc","download_url":"https://codeload.github.com/stnc/mygoalexa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stnc%2Fmygoalexa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34677382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["alexa","alexa-go","alexa-skill","amazon"],"created_at":"2025-05-16T06:11:48.236Z","updated_at":"2026-06-23T05:31:21.894Z","avatar_url":"https://github.com/stnc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Overview\nDevelop a very simple and very fast alexa application with this go application\nGo library to easily handle Alexa custom skill requests, conforming to the official Alexa Skill Kit JSON reference.\n\nA working example for developing [Alexa Skills Kit](http://developer.amazon.com/public/solutions/alexa/alexa-skills-kit)\n\nIt contains examples and tests and mocks  [see] (https://github.com/stnc/mygoalexa/tree/master/example)\n\n## Requirements \u0026\u0026 Installation\n\n1. [Golang](https://golang.org/) v1.6+\n2. `go get github.com/stnc/mygoalexa`\n\n\n## faster example \n\n\n```golang\npackage main\n\nimport (\n\"context\"\n\"encoding/json\"\n\"fmt\"\n\"github.com/stnc/mygoalexa\"\n\"github.com/stnc/mygoalexa/alexaapi\"\n\"github.com/joho/godotenv\"\n\"net/http\"\n)\n\nfunc init() {\n//To load our environmental variables.\nif err := godotenv.Load(); err != nil {\nfmt.Println(\"no env gotten\")\n}\n}\n\ntype LaunchNew struct{}\n\nfunc main() {\nskill := mygoalexa.NewSkill(\"amzn1.ask.skill.d89b3e52-2d85-4693-a664-bcaa258929aa\")\nskill.RegisterHandlers(\u0026LaunchNew{})\nhttp.HandleFunc(\"/alexa\", skill.ServeHTTP)\nvar port string = \"9095\"\nfmt.Println(\"server running localhost:\" + port)\nhttp.ListenAndServe(\":\"+port, nil)\n}\nfunc (h *LaunchNew) Handle(ctx context.Context, skill *mygoalexa.Skill, requestRoot *alexaapi.RequestRoot) (*alexaapi.ResponseRoot, error) {\n\n\trequestType := requestRoot.Request.GetType()\n\tfmt.Println(requestType)\n\n\tvar response alexaapi.ResponseRoot\n\tvar builder Builder\n\n\tif requestType == \"LaunchRequest\" {\n\t\ttext := \"Hi! Welcome to Diet Application\"\n\t\ttitle := \"diet reminder\"\n\t\treprompt := \"Welcome Diet Application\"\n\t\tbuilder.OutputSpeech(text).Card(title, text).Reprompt(reprompt).EndSession(false)\n\t}\n\tif requestType == \"IntentRequest\" {\n\t\ttext := \"Ok Save successful \"\n\t\ttitle := \"Diet Reminder\"\n\t\treprompt := \"You may want to continue the conversation. I am still listening. How can I help you?\"\n\t\tbuilder.OutputSpeech(text).Card(title, text).Reprompt(reprompt)\n\t}\n\n\tresponseJson, _ := json.Marshal(builder)\n\tjson.Unmarshal([]byte(responseJson), \u0026response)\n\treturn \u0026response, nil\n}\nfunc (h *LaunchNew) CanHandle(ctx context.Context, skill *mygoalexa.Skill, requestRoot *alexaapi.RequestRoot) bool {\nreturn true\n}\n```\n\n\n### Get Intent \n\n```golang\n\nrequestJson := requestRoot.Request.GetRequestJson()\n\nvar requestIntent alexaapi.RequestIntentRequest\n\njson.Unmarshal(requestJson, \u0026requestIntent)\n\nnumberOfPeopleIntentValue := requestIntent.Intent.Slots[\"NumberOfPeople\"].Value\n\nfmt.Println(numberOfPeopleIntentValue)\n\nintent := GetIntent(requestRoot, \"RemindTime\")\n\nfmt.Println(intent)\n\n```\n\n\n## legacy example\n\n```golang\n\ntype LaunchReq struct{}\n\nfunc main() {\nskill := mygoalexa.NewSkill(\"amzn1.ask.skill.d89b3e52-2d85-4693-a664-bcaa25892900\")\nskill.RegisterHandlers(\u0026LaunchReq{})\nhttp.HandleFunc(\"/alexa\", skill.ServeHTTP)\nvar port string = \"9095\"\nfmt.Println(\"server running localhost:\" + port)\nhttp.ListenAndServe(\":\"+port, nil)\n}\n\nfunc (h *LaunchReq) Handle(ctx context.Context, skill *mygoalexa.Skill, requestRoot *alexaapi.RequestRoot) (*alexaapi.ResponseRoot, error) {\n\n\trequestType := requestRoot.Request.GetType()\n\tfmt.Println(requestType)\n\tvar response alexaapi.ResponseRoot\n\tresponse.Version = \"7.0\"\n\tx := false\n\n\tresponse.SessionAttributes = make(map[string]interface{})\n\tresponse.SessionAttributes[\"read\"] = true\n\tresponse.SessionAttributes[\"category\"] = true\n\n\tif requestType == \"LaunchRequest\" {\n\t\ttext := \"Hi! Welcome to Diet Application\"\n\t\tvar myOutputSpeech alexaapi.OutputSpeech\n\t\tmyOutputSpeech.Text = text\n\t\tmyOutputSpeech.Type = alexaapi.OutputSpeechTypeSSML\n\t\tmyOutputSpeech.SSML = \"\u003cspeak\u003e\" + text + \"\u003c/speak\u003e\"\n\t\tresponse.Response.OutputSpeech = \u0026myOutputSpeech\n\n\t\tvar myCard alexaapi.Card\n\t\tmyCard.Title = \"diet reminder \"\n\t\tmyCard.Content = text\n\t\tmyCard.Type = alexaapi.CardTypeSimple\n\t\tresponse.Response.Card = \u0026myCard\n\n\t\tvar myReprompt alexaapi.Reprompt\n\t\tmyReprompt.OutputSpeech = \u0026myOutputSpeech\n\t\tresponse.Response.Reprompt = \u0026myReprompt\n\t\tresponse.Response.ShouldEndSession = \u0026x\n\t}\n\n\tif requestType == \"IntentRequest\" {\n\t\trequestJson := requestRoot.Request.GetRequestJson()\n\t\tvar requestIntent alexaapi.RequestIntentRequest\n\t\tjson.Unmarshal(requestJson, \u0026requestIntent)\n\t\tnumberOfPeopleIntentValue := requestIntent.Intent.Slots[\"NumberOfPeople\"].Value\n               fmt.Println(numberOfPeopleIntentValue)\n\n\t\ttypes := alexaapi.OutputSpeechTypePlainText\n\n\t\tvar myOutputSpeech alexaapi.OutputSpeech\n\t\tmyOutputSpeech.Text = text\n\t\tmyOutputSpeech.Type = types\n\t\tresponse.Response.OutputSpeech = \u0026myOutputSpeech\n\t\tvar myCard alexaapi.Card\n\t\tmyCard.Title = \"test title\"\n\t\tmyCard.Content = \"test context\"\n\t\tmyCard.Type = alexaapi.CardTypeStandard\n\t\tresponse.Response.Card = \u0026myCard\n\n\t\tvar myReprompt alexaapi.Reprompt\n\t\tmyReprompt.OutputSpeech = \u0026myOutputSpeech\n\t\tresponse.Response.Reprompt = \u0026myReprompt\n\n\t\tresponse.Response.ShouldEndSession = \u0026x\n\t}\n\treturn \u0026response, nil\n}\nfunc (h *LaunchReq) CanHandle(ctx context.Context, skill *mygoalexa.Skill, requestRoot *alexaapi.RequestRoot) bool {\nreturn true\n}\n```\n## Test\n\nrequired postman, json and docker also [see here ](https://github.com/stnc/mygoalexa/tree/master/example/tools) for ready postresql application\n.\n\n## FORKED\n\nrequired postman, json and docker also [see here ](https://github.com/stnc/mygoalexa/tree/master/example/tools) for ready postresql application\n\n\n[FORKED by ](https://github.com/aivahealth/goalexa)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstnc%2Fmygoalexa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstnc%2Fmygoalexa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstnc%2Fmygoalexa/lists"}