Slash CommandsでサーバレスなDiscordアプリを作る | loop.run_forever()
こちらは、上記のブログを参考に、一部修正と自分の開発用の仕込みを追加したリポジトリです。
VS CodeのRemote Container機能の利用を前提にした手順です。
- リポジトリをクローン
- VS Codeでディレトリを開く
envfile.env.temp
をenvfile.env
にリネームし、sam
コマンドを利用するためのAWSアカウント情報を埋める- VS Code Remote Container機能を利用して、
docker-compose.yml
を指定して、リポジトリのディレクトリをDockerコンテナで開く - AWS CLIコマンドと、AWS SAM CLIコマンドがセットアップ済みのコンテナが起動するので、そこで開発
- Set environment variables in
.env.json
{
"SlashCommandsCallbackFunction": {
"DISCORD_TOKEN": "...",
"APPLICATION_ID": "...",
"APPLICATION_PUBLIC_KEY": "...",
"COMMAND_GUILD_ID": "..."
}
}
- Start local API using aws-sam-cli
:info: Use ngrok or something to bypass request verification!
$ sam local start-api --env-vars ./.env.json
$ sam build
$ sam deploy --guided