From ebe0e37d3794824186d42fc0dac667d436d45834 Mon Sep 17 00:00:00 2001 From: warmwhiten Date: Sat, 21 Aug 2021 00:55:11 +0900 Subject: [PATCH 1/3] feat: add feature to alarm at 9AM on discord --- .gitignore | 1 + package-lock.json | 21 +++++++++++++++++++++ package.json | 22 ++++++++++++++++++++++ src/dailyScrum.js | 23 +++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 .gitignore create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/dailyScrum.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30bc162 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..350915f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,21 @@ +{ + "name": "scramble_bot", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "follow-redirects": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", + "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..67254f9 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "scramble_bot", + "version": "1.0.0", + "description": "discord bot for team scramble", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/TeamScramble/scramble_bot.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/TeamScramble/scramble_bot/issues" + }, + "homepage": "https://github.com/TeamScramble/scramble_bot#readme", + "dependencies": { + "axios": "^0.21.1" + } +} diff --git a/src/dailyScrum.js b/src/dailyScrum.js new file mode 100644 index 0000000..61bafc0 --- /dev/null +++ b/src/dailyScrum.js @@ -0,0 +1,23 @@ +const axios = require("axios"); + + +exports.handler = async (event) => { + + try { + const result = await axios.post("https://discord.com/api/webhooks/878293255857524826/pN3oIaw_rzUpPzJuaXui8nbwPH_YTfQyckHjjZOttU9S0JGZYrkX9u86giNEojIn0S9g", { + "content": "안뇽 :wave: 데일리 스크럼을 해주세요! \n :white_check_mark: 체크인: \n :white_check_mark: 해야할 일: \n :white_check_mark: 협업할 일: \n :white_check_mark: 논의할 일: " + }) + console.info("디스코드 웹훅 전송 성공!") + } + catch(err){ + console.err("웹훅 실패", err) + } + + // TODO implement + const response = { + statusCode: 200, + body: JSON.stringify('daily scrum message from Lambda!'), + }; + + return response; +}; From 3a786e92d38cca8972b18b8c13e11f933cdf451e Mon Sep 17 00:00:00 2001 From: warmwhiten Date: Sat, 21 Aug 2021 01:13:54 +0900 Subject: [PATCH 2/3] docs: add description to readme.md --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/README.md b/README.md index 4eeb858..d98d5f6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,34 @@ # scramble_bot + + + + discord bot for team scramble + +## Installation +--- +1. Clone scramble_bot repository +```shell +$ git clone https://github.com/TeamScramble/scramble_bot.git +``` +2. move to scramble_bot directory +```shell +$ cd /scramble_bot +``` + +3. Install dependecies +```shell +$ npm install +``` + +## Deploy +--- +1. compress files to zip +2. Login to AWS console +3. Move to AWS Lambda +4. Make your own lambda function and upload the zip file to it +5. Test uploaded function in AWS Lambda +6. Add your own Trigger with AWS EventBridge +7. Enjoy your Lambda function! + + From 0cac401c4e52e5316fc72bf4bcfec0a0564c1786 Mon Sep 17 00:00:00 2001 From: warmwhiten Date: Sat, 21 Aug 2021 01:25:56 +0900 Subject: [PATCH 3/3] fix: hide discord webhook url in code --- .gitignore | 3 ++- package-lock.json | 5 +++++ package.json | 3 ++- src/dailyScrum.js | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 30bc162..7af7f04 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/node_modules \ No newline at end of file +/node_modules +.env \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 350915f..da3af0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,11 @@ "follow-redirects": "^1.10.0" } }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, "follow-redirects": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", diff --git a/package.json b/package.json index 67254f9..8884e72 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ }, "homepage": "https://github.com/TeamScramble/scramble_bot#readme", "dependencies": { - "axios": "^0.21.1" + "axios": "^0.21.1", + "dotenv": "^10.0.0" } } diff --git a/src/dailyScrum.js b/src/dailyScrum.js index 61bafc0..580611f 100644 --- a/src/dailyScrum.js +++ b/src/dailyScrum.js @@ -1,10 +1,11 @@ const axios = require("axios"); +require('dotenv').config(); exports.handler = async (event) => { try { - const result = await axios.post("https://discord.com/api/webhooks/878293255857524826/pN3oIaw_rzUpPzJuaXui8nbwPH_YTfQyckHjjZOttU9S0JGZYrkX9u86giNEojIn0S9g", { + const result = await axios.post(process.env.DAILYSCRUM_URL, { "content": "안뇽 :wave: 데일리 스크럼을 해주세요! \n :white_check_mark: 체크인: \n :white_check_mark: 해야할 일: \n :white_check_mark: 협업할 일: \n :white_check_mark: 논의할 일: " }) console.info("디스코드 웹훅 전송 성공!")