{"id":18077089,"url":"https://github.com/kevinkjt2000/serverless-discord","last_synced_at":"2025-10-24T13:19:12.654Z","repository":{"id":83356387,"uuid":"345501468","full_name":"kevinkjt2000/serverless-discord","owner":"kevinkjt2000","description":"Slash commands backed by AWS Lambda and API Gateway","archived":false,"fork":false,"pushed_at":"2022-02-18T14:24:55.000Z","size":39,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T20:11:09.233Z","etag":null,"topics":["aws-lambda","discord","serverless"],"latest_commit_sha":null,"homepage":"","language":"CMake","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/kevinkjt2000.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}},"created_at":"2021-03-08T01:56:20.000Z","updated_at":"2024-03-17T22:28:53.000Z","dependencies_parsed_at":"2023-03-12T18:07:38.603Z","dependency_job_id":null,"html_url":"https://github.com/kevinkjt2000/serverless-discord","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kevinkjt2000/serverless-discord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinkjt2000%2Fserverless-discord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinkjt2000%2Fserverless-discord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinkjt2000%2Fserverless-discord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinkjt2000%2Fserverless-discord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevinkjt2000","download_url":"https://codeload.github.com/kevinkjt2000/serverless-discord/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinkjt2000%2Fserverless-discord/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268519128,"owners_count":24263048,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"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":["aws-lambda","discord","serverless"],"created_at":"2024-10-31T11:12:10.395Z","updated_at":"2025-10-24T13:19:07.623Z","avatar_url":"https://github.com/kevinkjt2000.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C++ Serverless Discord Bot\n👋 Hi there! Welcome to a 💪 project of mine where I wanted to use my AWS and C++ knowledge to make a Discord bot that relies on [Slash Commands](https://discord.com/developers/docs/interactions/slash-commands) for input. Once things settle down a bit in this repo, I'll revisit the docs here to describe how to build and deploy this. For now, if you're interested or have questions, hop onto our [C++ Discord](https://discord.com/channels/216010419213434882/350062491088453634/350065188944478209) and ping `@kevinkjt2000` in `#project-discussions`.\n\n### Making a new bot on Discord's developer portal\nThe bot needs slash command permission, and the easiest way to generate a URL for it is from the \"OAuth2 URL Generator\" in the Discord Developer Portal when you have your app selected (You made a new app for testing this, right?). Navigate to the generated URL and add it to a testing server, and then follow along below.\n\n### Preparing your environment\nInstall git, terraform, CMake, whatever build tool you plan to have CMake generate files for, and your favorite modern C++ compiler. (I only tested with make and gcc.)\n\nExport these environment variables (personally, I use .envrc files that direnv automatically loads for me):\n```\nexport BOT_TOKEN=\"\u003cget your own\u003e\"\nexport CLIENT_ID=\"\u003cthis is a number\u003e\"\nexport GUILD_ID=\"\u003care you a discord dev or not?\u003e\"\nexport PUBLIC_KEY=\"\u003cpublic ed25519 key for your app\u003e\"\nexport TF_VAR_public_key=\"${PUBLIC_KEY}\"\n```\n\n### How to build/deploy\nJust once, you'll need to clone repos and setup my hunter fork (because it has the aws C++ lambda runtime packaged):\n```\ngit clone https://github.com/kevinkjt2000/serverless-discord.git\ngit clone https://github.com/kevinkjt2000/hunter.git\ncd hunter\ngit checkout pr.aws_lambda_cpp\ncd ../serverless-discord\n```\n\nGenerate build files:\n```\ncmake -H. -Bbuild -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_BUILD_TYPE=Debug -DHUNTER_ROOT=$(pwd)/../hunter\nterraform init\n```\n\nBuilding, testing, and deploying:\n```\n(cd build \u0026\u0026 make \u0026\u0026 ./tests \u0026\u0026 (yes | make aws-lambda-package-serverless-discord)) \u0026\u0026 terraform apply -auto-approve\n```\n\nAfter the app is deployed at least once, you can add the URL of the API Gateway stage to the settings on the Discord Developer Portal (specifically the \"Interactions Endpoint URL\"). *fingers crossed* that all went well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinkjt2000%2Fserverless-discord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevinkjt2000%2Fserverless-discord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinkjt2000%2Fserverless-discord/lists"}