본문 바로가기
Develop/기타

[AWS] AWS Lambda를 이용해 디스코드 알람 봇 만들기 1

by Tarra 2022. 10. 13.

 

 

 

 

 

 

디스코드를 통해 여러 사람이 모여 프로젝트를 진행하다보면 정해진 시간에 

 

스크럼을 하러 모이는 등,  특정한 루틴이 생기게 됩니다.

 

처음에는 이러한 공지를 매일 하다가, 디스코드의 봇을 이용하면 어떨까? 라는 생각을 하게 되었습니다.

 

 

 

이것 저것, 여러 봇들을 찾아보다가 마땅한 게 없어 한번 만들어보기로 했습니다.

 

AWS를 이용하면 생각보다 간단한 봇은 만들기 쉽더라구요.

 

알람봇은 AWS와 node.js를 이용해 만들게 되며 제작 방법은 다음과 같습니다.

 

 


 

기본적으로 봇들은 서버를 통해 실시간으로 통신을 주고 받습니다.

 

하지만 우리는 간단하게 이러한 서비스를 만들어 볼 것이기에 AWS에서 제공하는 Lambda를 사용해볼 겁니다.

 

Lambda는 아마존에서 제공하는 서버리스 컴퓨팅 서비스로, 간단히 말해 우리가 서버를 따로 구축하지 않더라도

 

간단한 이벤트를 통해 응답을 할 수 있도록 해주는 서비스입니다.

 

https://aws.amazon.com/ko/lambda/?nc2=type_a 

 

클라우드 컴퓨팅 PaaS | Amazon Web Services

AWS Lambda 및 Amazon Kinesis를 사용하여 애플리케이션 활동 추적, 트랜잭션 주문 처리, 클릭 스트림 분석, 데이터 정리, 로그 필터링, 인덱싱, 소셜 미디어 분석, IoT 디바이스 데이터 텔레메트리 및 측

aws.amazon.com

 

물론 완전 무료는 아니지만, 프리티어 요금제의 경우 월 100만건까지는 무료로 제공하기에

 

우리가 만들고자하는 간단한 알람 봇 정도는 아무런 부담없이 만들 수 있습니다!

 

해당 서비스를 사용하기 위해 AWS에 가입하도록 합시다.

 

(AWS 가입은 생략하도록 하겠습니다.)

 

 


 

1. Lambda 함수 생성하기

AWS에 가입을 했다면, lambda 함수를 만들러 가봅시다.

 

제일 먼저 검색창에 Lambda를 검색해 들어갑니다.

 

 

 

lambda에 들어왔다면 우측의 함수를 클릭합니다.

 

 

함수를 만들기 위해 함수 생성 버튼을 클릭합니다.

(저의 경우 이미 함수를 만들어놨기 때문에 현재 4개의 함수가 존재합니다.)

 

 

 

 

다음과 같이 설정한 후 함수 생성 버튼을 클릭합니다.

(함수 이름은 자유롭게 설정하세요!)

 

 

 

여기까지 잘 따라오셨다면, 다음과 같은 창을 만날 수 있습니다.

 

하단의 빨간 동그라미가 그려친 텍스트를 복사해주도록 합니다.

 

해당 텍스트 (함수)는 요청이 들어왔을 때 우리가 응답을 하도록 할 코드입니다.

 

 

 

텍스트를 복사했다면, 이제 vscode와 node.js를 설치해줍시다.

 

vscode는 버전이 상관없고, node.js는 다음의 링크에서 LTS라고 적힌 버전을 받아주시면 됩니다.

 

(해당 포스팅에서는 16.18.0 버전이 LTS 버전입니다.)

 

https://nodejs.org/en/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

 

vscode와 node.js의 설치가 끝났다면, vscode를 켜고 다른 파일이 없는 새 폴더를 열어주세요.

 

다음과 같은 화면을 만날 수 있습니다.

 

 

 

다음과 같이 새 터미널을 열어줍니다.

 

 

 

그러면 터미널이 열리게 되는데, 다음과 같이 npm init이라고 친 후 엔터를 눌러줍니다.

 

 

 

뭐라뭐라 계속 코드가 나오는데, 패키지 이름만 아무거나 치신 후, 입력이 끝날 때까지 엔터를 눌러줍니다.

 

 

 

 

다음과 같이 왼쪽 상단에 package.json 파일이 생긴 것을 확인할 수 있습니다.

 

 

 

 

이번에는 다시 한번 터미널 창에  `npm i axios`라고 입력해줍니다.

 

 

파일들이 다음과 같이 늘어납니다.

 

 

 

해당 창에서 우클릭을 누르고 새 파일을 생성해줍니다.

 

 

새 파일 이름은 index.js로 지어줍니다.

 

 

 

index.js 파일에 아까 복사해주었던 텍스트를 붙여넣기 해주도록 합시다.

 

 

 

 

붙여넣기 이후, 다음과 같이 텍스트를 입력해주도록 합시다.

 

 

 

 

이제 알람을 주고자 하는 디스코드 채팅방으로 가봅시다.

 

 

 

채널 편집을 누르고

 

 

연동의 웹 후크를 생성해줍니다.

 

우리가 사용하고자 하는건 빨간 원이 쳐진 웹 후크 URL입니다.

 

 

다시 디스코드로 돌아와  " " (쌍 따옴표 ) 안에 해당 URL을 입력해줍니다.

 

 

알람으로 사용하고자 할 문구를 다음과 같은 형식으로 입력해줍니다.

( 쌍따옴표와 {}, ()에 신경을 많이 써줘야 합니다! )

 

 

새 폴더로 돌아와서 우리가 만들어놓은 이 파일을 하나의 zip으로 압축해줍니다.

 

 

 

여기까지 왔다면 lambda를 돌리기 위한 코드는 준비가 완료됩니다.

 

만약 알람을 여러개 보내고 싶다면, 위의 문구를 바꾸어 알집 파일을 여러개 준비하면 됩니다!

 

 

 


 

글이 길어지는 관계로 해당 포스팅은 아래의 포스팅으로 이어집니다.

 

 

https://tarra.tistory.com/entry/AWS-AWS-Lambda%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4-%EB%94%94%EC%8A%A4%EC%BD%94%EB%93%9C-%EC%95%8C%EB%9E%8C-%EB%B4%87-%EB%A7%8C%EB%93%A4%EA%B8%B0-2

 

[AWS] AWS Lambda를 이용해 디스코드 알람 봇 만들기 2

2022.10.13 - [Develop/기타] - [AWS] AWS Lambda를 이용해 디스코드 알람 봇 만들기 1 [AWS] AWS Lambda를 이용해 디스코드 알람 봇 만들기 1 디스코드를 통해 여러 사람이 모여 프로젝트를 진행하다보면 정해진.

tarra.tistory.com

 

'Develop > 기타' 카테고리의 다른 글

[Ethereum] Ethereum이란?  (0) 2023.02.14
[AWS] AWS Lambda를 이용해 디스코드 알람 봇 만들기 2  (6) 2022.10.13