[aws lambda] 랜덤 청소 당번 슬랙 자동 알림 - 차근차근 따라하기 1/3

jay·2021년 10월 23일
8
post-thumbnail

0. 시작하기 전에

0.1 왜 만들었니

회사에 가습기가 있다. 얘를 매일 세척해줘야 한다.
매일 랜덤으로 청소 당번을 한 명 뽑아서 슬랙으로 알려주는 봇을 만들어 달라해서 만들어 봤다.

만드는 방법 기록도 하고, 공유도 할 겸 이 글을 작성하였다.
이 가이드를 따라하고 나면, 정해진 시간마다 슬랙에 알림을 주는 시스템을 aws lambda로 구현 할 수 있다!

글을 보다가 사진 글자가 잘 안보인다면, 사진을 우클릭하고 '새 탭에서 이미지 열기'를 누르면 크게 볼 수 있다.

0.2 이 글의 구성

part 1. 슬랙 앱 만들기
part 2. aws lambda 함수 제작
part 3. 동작 테스트 및 자동화

0.3 결과물 미리보기

매일 오전 8시에 청소 당번 자동 알림

0.4 준비물

  1. 슬랙
  2. aws 아이디

1. 슬랙 앱 만들기

1.1 슬랙 앱 등록

1.1.1 슬랙 api 사이트

https://api.slack.com/

1.1.2 Manage your apps

1.1.3 Create New App

1.1.4 From scratch

1.1.5 Name app & choose workspace

① 앱 이름 정하기
② 설치할 워크 스페이스 정하기

1.2 슬랙 앱 설정

1.2.0 신 버전 -> 구 버전

이 글은 구 버전을 기준으로 작성되었다.
신 버전이라면 왼쪽 메뉴판에서 "Revert to the old design"을 클릭하면 구 버전으로 제작할 수 있다.

1.2.1 봇 프사 바꾸기

초기 화면은 아래와 같다

스크롤을 쭉 내려보면 "Display Information"이 있고, 여기에서 프사를 바꿀 수 있다.
프사는 512px 이상 2000px이하의 정사각형만 가능하며, Background color는 일정 이상의 어두운 색만 가능하다.
밝으면 글자가 안보인다고 해서 그렇다.

1.2.2 봇에 권한 부여

봇이 슬랙에 메세지를 주고 받기 위해서는 해당 권한을 줘야한다.
마치 폰에 앱을 깔았을 때, 어떤 어떤 권한을 허락할 것인지 정하는 것과 같다. "OAuth & Permissions"로 가보자.

아래로 쭉 내려보면 "Scopes"가 있고, 여기서 "Add an OAuth Scope"로 권한을 부여 할 수 있다.

'chat:write'은 슬랙에 메세지를 날릴 수 있게 해준다.
비슷하게 생긴 'chat:write.public'이 뭔가 싶을 수 있는데, 채널에 봇이 없어도 메세지를 보낼 수 있게 해주는 권한이다.
하지만 업무용 채널이 아닌 잡담용 채널에만 메세지를 보내려고 하기 때문에, 아래 권한만 부여하였다.

1.2.3 봇 이름 붙이기

내가 그의 이름을 불러주기 전에는
그는 다만
하나의 몸짓에 지나지 않았다.
내가 그의 이름을 불러주었을 때,
그는 나에게로 와서
꽃이 되었다.

김춘수 - 꽃 中

우리 봇에게 이름을 붙여주자.
"Edit"를 눌러 이름을 붙이고, "Always Show My Bot as Online"을 눌러 상시 접속중으로 바꿔준다.

아래는 예시고, 봇 이름과 기본 이름은 원하는 대로 설정해주면 된다.

1.2.4 봇 설치

왼쪽 메뉴판의 "Install App"에서 앱을 워크스페이스에 설치해준다.

허용을 눌러 설치해준다.

슬랙 메뉴창에 보면 설치한 앱이 표시되어 있다.

1.2.5 webhook 설정

왼쪽 메뉴판에 "Incoming Webhooks"로 가서 webhook을 활성화 해주자.

그러면 밑에 무언가 생기는데, "Add New Webhook to Workspace"로 webhook을 추가할 수 있다.

메세지를 보낼 채널을 선택한다.

그러면 아래처럼 webhook이 등록된다.
이걸 실수로 삭제하더라도 다시 추가해주면 된다.

슬랙에도 등록되었다고 메세지가 뜬다.


이제 aws lambda 함수를 만들러 가보자.

0개의 댓글