본문 바로가기
Slack

[Slack으로 점심 추천 봇 만들기 with lightsail(혹은 ec2), lambda -2 대학교를 위한 점심추천 봇 완성기]

by Pacloud 2023. 5. 12.
반응형

저번 포스팅에서 slack으로 점심 추천 봇을 만들기 위한 기본 세팅에 대한 것들을 올렸었는데, 생각보다 UI개편 후에 친절한 안내가(?) 없었는지 많은 분들이 블로그를 봐주셔서 내심 기분이 좋았다.

 

그래서 빠르게 점심 추천 봇을 만들고 싶었다보니, 블로깅을 한동한 할수가없었다는...핑계를 대본다.

 

아무래도 최종 블로깅 이다 보니 전체적인 정리를 한번 해보려고 한다.

 

1. Slack 세팅

2023.04.04 - [Slack] - [Slack으로 점심 추천 Bot 만들기 with aws lightsail] - 1 기본세팅

 

[Slack으로 점심 추천 Bot 만들기 with aws lightsail] - 1 기본세팅

AWS클라우드 업무를 올해 새롭게 접하게 되면서 기존에 카카오톡, 회사메신저, 오피스 등 여러 채널을 통해서 소통을 하던것에 답답함을 느껴, 모든 채널을 Slack으로 통일하게 되었다. 사실 비슷

pacloud.tistory.com


2. Python을 통한 데이터 크롤링 혹은 나만의 더미 데이터 생성

3. 점심 추천 봇 코딩

4. 서버운영(코드배포 및 운영관리)

 

크게는 위의 4가지만 하면 되는데 간단하게 나마 AWS의서비스와 어떤 언어들을 사용했는지 순차적으로 설명해보겠다.

(단,,,,먼저 어디에서도 당연하지만 바로 서버에 올리지는 않는다..보통 로컬에서 테스트를 하니까...)

 

1번은 전 블로그를 보면되고

2번 네이버 지도의 맛집(여러 식당)을 크롤링 하기 위한 파이썬 코드 작성 인데 간단하게 만 소개하자면 아래와 같은 형식이다.

크롤링이다 보니 뷰티풀 숲과 셀레니움을 사용했고 생성한 MySql에 Data를 저장했다.

물론 대부분의 Data는 전처리의 과정이 필요한 경우가 있을 수도 있다( 본인의 봇 형태에 따라)

나의 경우는 최대한 간단하게 하기 위해 음식점 카테고리 정도만 (간식, 한식, 중식, 일식 등) 전처리했다. 

 

.

2-1) 후에 후기 데이터를 모으고 데이터 분석을 위해 ElasticSearch에도 Data를 저장해 고도화를 위한 준비도 했다.

-> 이는 나중에 추후 블로그에 포스팅으로 올리려고한다.

 

3) 이제는 Slack 봇 코딩인데 간단한 부분만 소개를 하려고 한다.. 전체 코드를 봐도 어차피 본인의 상황에 맞게 짜야하니

1차 블로깅에서 안내했던 토큰 부분은 config를 통해 관리했고 슬랙봇은 파이썬으로 코딩했는데, 쿼리와 앱 반응 코드등을 사용해 위와 같이 간단하게 개발하였다.

 

위의 모든과정을 맞췄다면 로컬에서 서버에 배포를 해야한다. 이번에 나는

크롤링 코드는 aws 람다의 트리거로 주기적 크롤링을 설정했다.

 

 

기존 Ec2나 lightsail에 배포한후 크론탭 배치 설정을 하는 것보다 훨씬 간단해서 정말 15분 이내의 실행되는 코드에 한해서는 AWS Lambda를 강추한다.

 

그리고 런치 봇 코드는 EC2에 올려서 배포했다.

위의 모든 과정들이 이루어진 점심뭐먹지(런치봇)의 시연영상을 아래에 첨부한다.

어떤가? 점심을 고민할 필요가 조금은 없어지지 않았나? 앞으로는 다양하게 회식봇 의류추천 강의추천등을 만들어보려고 한다. 마지막으로 내가 만든 봇의 구조도를 첨부하며 이번 포스팅을 마친다.