Search
🤖

알림봇 세팅 방법

교육 1-3팀 전용 자료입니다. 외부 유출에 주의를 부탁드립니다.
초간단 봇 세팅 방법 by 하은 (이전 가이드를 잘 정리해주셨던 이화 소현님께 감사의 말씀) 2022.09.15 v1.1.0

Webhook URL 생성하기

1.
디스코드 Server Setting > Intergrations > Webhooks > View Webhooks
2.
하단 이미지의 New Webhook 버튼을 눌러 웹훅을 생성합니다.
3.
사용할 웹훅의 이미지와 이름, 메세지를 날릴 채널을 선택한 후 URL 복사를 눌러주세요.

AWS Lambda & AWS EventBridge 생성

1.
AWS 로그인 후 콘솔에서 Lambda 검색 후 함수 생성 버튼을 누릅니다.
2.
cron을 검색하면 나오는 항목으로 생성하겠습니다.
3.
함수 이름 지정 → 기존 역할 사용 선택 → lambda_role 선택해주세요.
+) 2023에는 select blueprint에 Schedule a periodic check of any URL 선택해야합니다.
1.
새 규칙 생성 선택 → 규칙 이름 & 규칙 설명 작성 → 예약 표현식 선택합니다.
2.
예약 표현식 cron식을 작성합니다. lambda는 UTC 시간이므로 한국시간-9 값으로 입력
(참고) AWS에서 사용하는 크론식은 정식 크론식과 문법이 살짝 다릅니다..
(참고) 백엔드 스쿨에서 사용하고 있는 크론식
월~금 9시 50시부터 5시 50분까지 쉬는 시간 알림 → cron(50 00-08 ? * MON-FRI *)
3.
Lambda 함수 코드와 환경 변수는 추후 변경 가능하므로 일단 그대로 두고 → 함수 생성을 클릭합니다.
4.
아래처럼 나왔다면 함수 생성 성공!

Lambda Function 편집

1.
lambda_function.py에 아래 코드를 복붙해주세요.
본 튜토리얼은 파이썬을 기준으로 작성되었습니다!
import urllib3 import json http = urllib3.PoolManager() import os URL = os.environ.get('URL') encoded_body = json.dumps({ "content": "쉬는 시간입니다! ", "embeds": [{ "title": "10분 뒤에 다시 보아요 :)", "description": "🚩 쉬는 시간에도 줌 카메라는 항상 ON!", }], }) def lambda_handler(event, context): response_001 = http.request('POST', URL, headers={'Content-Type': 'application/json'}, body=encoded_body)
Python
복사
(참고) Discord Message Object
2.
코드 작성 후 Deploy 클릭하여 배포합니다.
3.
구성 > 환경변수에서 아까 발급받았던 Discord Webhook을 넣어줍니다.
키 : lambda_function.py 코드의 환경 변수 URL
값 : 클립보드에 복사해두었던 Webhook URL
4.
상단의 Test 버튼을 눌러 test 이벤트를 설정합니다. 템플릿은 디폴트 값으로 두어주세요. 하단의 이벤트 네임을 지정해주고 Create 버튼을 눌러 생성합니다.
5.
다시 소스코드 페이지에서 상단의 Test 버튼 클릭! 디스코드 채널에서 아래 사진처럼 보낸 메시지가 잘 보이면 성공!

AWS EventBridge 확인 및 수정

1.
구성 > 트리거에서 생성했던 EventBridge이름을 클릭합니다.
2.
해당 페이지에서 EventBridge 활성화/비활성화 및 상세 정보 수정이 가능합니다.
규칙 설명을 구체적으로 적어두면 효율적인 관리가 가능하니 참고해주세요 :)