Tech & Development/Automation & RPA
AWS Lambda를 이용한 Slack Bot 개발 (2) : API Gateway를 통한 이벤트 처리
AWS Lambda를 이용한 Slack Bot 개발 (2) : API Gateway를 통한 이벤트 처리
2023.09.05이번 글에서는 AWS Lambda를 활용하여 Slack Bot을 개발하는 과정 중, API Gateway를 통한 이벤트 처리에 대해 자세히 알아보겠습니다. 이 글은 "AWS Lambda를 이용한 Slack Bot 개발 가이드"의 두 번째 글입니다. 첫 번째 글에서는 AWS Lambda와 Slack Bot의 기본 설정, 권한 관리, 토큰 설정 등에 대해 알아보았습니다. 이러한 기본 설정이 완료되었다면, 이번 글에서는 실제로 Slack에서 발생하는 이벤트를 AWS Lambda 함수에서 어떻게 처리할 수 있는지에 대해 살펴보겠습니다. API Gateway는 AWS에서 제공하는 완전 관리형 API 생성 및 관리 서비스입니다. 이를 통해 HTTP 요청을 Lambda 함수에 연결할 수 있으며, 이 과정에서 다양한 ..
AWS Lambda를 이용한 Slack Bot 개발 (1) : 기본 설정
AWS Lambda를 이용한 Slack Bot 개발 (1) : 기본 설정
2023.09.04Slack은 협업 도구로서의 역할을 넘어 다양한 통합과 자동화를 가능하게 하는 강력한 플랫폼입니다. 특히 Slack Events API를 활용하면, 사용자의 메시지, 멘션, 리액션 등 다양한 이벤트에 반응하는 봇을 만들 수 있습니다. 이 글에서는 Python과 AWS Lambda를 사용하여 Slack Bot을 만드는 방법을 소개하겠습니다. 왜 AWS Lambda인가? AWS Lambda는 서버리스 컴퓨팅 서비스로, 서버 관리의 부담 없이 코드를 실행할 수 있습니다. 특히 Python에서는 AWS Lambda 함수를 사용하는 데 필요한 리소스가 많지 않아, 빠르고 저렴하게 봇을 구현할 수 있습니다. AWS 람다(Lambda) 비용 정책 살펴보기 #1. AWS Lambda와 서버리스 컴퓨팅 AWS Lambd..
Python으로 Discord Bot 만들기 (2)
Python으로 Discord Bot 만들기 (2)
2023.02.17이전 글에서는 Discord와 Bot을 연결하고 Python을 이용하여 간단히 메시지를 전송하는 방법에 대해 알아봤습니다. 이번 글에서는 Python 서버와 연결이 되면 Bot의 상태가 "온라인"으로 변경하고 사용자와 Bot이 대화하는 방법에 대해 알아보도록 하겠습니다. # Discord Bot 상태 변경 client.change_presence() Method를 이용하여 Discord Bot의 상태, 활동 및 기타 속성을 설정할 수 있습니다. Discord Bot의 상태를 변경하려면 Discord.py 라이브러리에서 메서드를 사용할 수 있습니다(Python을 사용한다고 가정). 이 방법을 사용하면 Bot의 상태, 활동 및 기타 속성을 설정할 수 있습니다. 다음은 Bot의 상태를 "온라인"으로 설정하고 ..
Python으로 Discord Bot 만들기 (1)
Python으로 Discord Bot 만들기 (1)
2023.02.16Discord는 2015년 Jason Citron과 Stanislav Vishnevskiy가 게이머들이 서로 소통할 수 있는 플랫폼으로 시작했습니다. Discord의 기본 아이디어는 Skype 나 TeamSpeak 같은 플랫폼보다 더 안정적이고 음성, 채팅, 화상 통화가 가능한 사용자 친화적인 플랫폼을 만드는 것이었습니다. 처음에 소규모 게임 그룹을 위한 도구로 사용되었지만 빠르게 인기를 얻었고 대규모 게임 커뮤니티와 비게임 커뮤니티까지 포함할 수 있도록 확장되었습니다. 음성 채팅과 커뮤니티 구축에 중점을 둔 Discord는 매우 심플하고 다양한 설정이 가능한 인터페이스로 사용자들에게 어필했고 이후 수년에 걸쳐 비디오 채팅, 화면 공유, 추가 장치 및 플랫폼 지원을 포함한 새로운 기능과 발생되는 문제점을..
Discord 채널 ID 확인
Discord 채널 ID 확인
2023.02.16Discord 채널 ID는 Discord 서버 각 채널에 할당되는 고유 식별값입니다. Discord를 이용하는데에는 채널 ID를 몰라도 전혀 문제가 없지만 다양한 API 사용이나 명령, Bot 활용 등을 위해서 필요할 수 있습니다. Discord에서 채널 ID를 찾는 방법에 대해 간단하게 알려드리도록 하겠습니다. # 개발자 모드 활성화 먼저 개발자 모드가 활성화되어 있는지 확인이 필요합니다. 사용자 설정을 클릭합니다. 고급 > 개발자 모드를 클릭하여 활성화 합니다. 다시 채널로 돌아와서 마우스 우클릭 후 메뉴에서 "ID 복사하기"를 클릭합니다. 이제 필요한 곳에 붙여넣기를 하시면 됩니다. 추가로 사용자의 이름을 마우스 우클릭하여 "사용자 ID"를 복사하거나 메시지에 마우스 우클릭하여 "메시지 ID"를 복..
[ Python ] googletrans을 이용한 간단한 번역 프로그램
[ Python ] googletrans을 이용한 간단한 번역 프로그램
2023.01.30Python의 googletrans 라이브러리를 사용하여 텍스트와 문장을 다른 언어로 빠르게 번역할 수 있습니다. 매우 간단하며 몇 줄의 코드만 있으면 됩니다. Install Python 환경에서 간단하게 googletrans만 설치하면 사용이 가능합니다. pip 를 이용하여 googletrans 설치를 진행하면 3.0.0 버전으로 설치가 되지만 3.0.0 버전은 오류가 있으니 아래와 같이 버전을 지정하여 4.0.0rc1 버전으로 설치하시기 바랍니다. pip install googletrans==4.0.0rc1 Import packages from googletrans import Translator options = ['text', 'file'] Class declaration Googletrans는 ..
웹 스크래핑이란?
웹 스크래핑이란?
2022.04.26빅데이터, 머신러닝, 딥러닝 등 소위 대세라고 불리는 개념의 중심에는 데이터가 있습니다. 특히 웹에는 다양한 정보가 경쟁하듯이 넘쳐나죠. 증가하는 데이터의 양은 놀랍기만 합니다. 최근 IDC의 보고서에 따르면, 오는 2025년에는 163ZB(제타바이트)의 데이터가 생성될 것이라고 합니다. (163ZB..사실 어느정도의 양일지 감이 오지 않네요.) 이제 데이터는 매우 소중한 자산이고 돈이 되었고 기업과 개인들은 새로운 과제에 직면합니다. 생성된 모든 데이터는 똑같이 중요하지 않으며, 맥락이 없는 데이터는 아무 소용이 없기때문이죠. 우리가 시간이 있다면 모든 내용을 보고 꼼곰하게 검토하고 열심히 찾아서 또는 매일매일 빠짐없이 정보를 찾아보겠지만 우리는 이미 너무나 바쁘고 할 일이 많습니다. 가뜩이나 바쁜 세..
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands
Python으로 Slack App(Bot) 만들기 (4) - Slash Commands
2022.03.14이번에는 Slash Commands ( / ) 를 이용하여 요청과 응답을 하는 방법에 대해 알아보겠습니다. 상세한 내용은 Slack api 설명 페이지를 참고하시기 바랍니다. 1. slack api -> Slash Commands > [Create New Command] 2. Command, Request URL, Short Description, Usage Hint 등을 입력합니다. Request URL은 단순히 테스트를 위해서 http://localhost으로 입력해도 되지만 저는 ngrok으로 생성한 URL을 사용합니다. 그리고 기존에 Direct Message 처리부분과 구분하기 위해 URL+/slash/ 라고 입력했습니다. 3. [Save] 를 누르면 Slash Commands가 생성되었습니다...
Python으로 Slack App(Bot) 만들기 (3) - 챗봇
Python으로 Slack App(Bot) 만들기 (3) - 챗봇
2022.03.08이제 Slack App(Bot)에 질의하고 답을 받을 수 있도록 하겠습니다. 간단히 @태그로 Bot에 날짜와 요일을 요청하면 이벤트를 감지하여 답변을 하는 간단한 챗봇을 만들어 보도록 하겠습니다. 1. Event Subscriptions > subscribe to bot events 로 이동하여 [Add Bot User Event] 를 클릭합니다. 2. app_mention 권한을 추가합니다. 3. 이전 글에서 생성했던 flask_server.py 파일을 아래와 같이 수정합니다. 더보기 hello_there 함수는 Slack 과 통신이 잘 되는지 체크하여 event_handler를 호출합니다. event_handler에서는 even_type을 확인하여 질의에 대한 답을 Return 합니다. import ..
Python으로 Slack App(Bot) 만들기 (2) - 서버 구축(ngrok, Flask)
Python으로 Slack App(Bot) 만들기 (2) - 서버 구축(ngrok, Flask)
2022.03.08자동으로 응답이 가능한 Slack App(Bot)을 만들기 위해서는 Slack App(Bot)과 통신할 수 있는 서버가 필요합니다. 하지만 우리가 개발한 PC의 경우는 외부에서 접속가능한 상용 서버가 아니기때문에 도메인을 구입하고 서버를 호스팅 받아 연결해야 합니다. ngrok 과 Flask를 이용하여 외부에서도 접속 가능한 네트워크 환경을 구축하고 Slack App에서 호출 할 수 있도록 하겠습니다. 1. 먼저 ngrok 계정을 만들고 설치가 필요합니다. ngrok 설치 안내를 참고하시어 설치하시기 바랍니다. 2. Flask 설치가 필요합니다. Flask 설치 안내를 참고하시어 설치하시기 바랍니다. 3. 먼저 간단한 Flask Server를 python을 이용하여 만들도록 하겠습니다. 아래 코드를 작성..
Python으로 Slack App(Bot) 만들기 (1) - Slack App 생성
Python으로 Slack App(Bot) 만들기 (1) - Slack App 생성
2022.03.08Python과 Slack API를 이용하면 슬랙의 특정 채널에 글을 올리거나 응답을 할 수 있는 Bot을 만들 수 있습니다.그러기 위해서는 먼저, Slack API 페이지에서 App을 생성하고, App 관련 권한 설정 작업을 진행합니다. 궁극적인 목표는 내가 원하는 응답을 할 수 있는 Bot을 만드는 것이지만 이번 포스트에서는 Slack App을 생성하고 Python으로 특정 채널에 메세지를 보내는 예제까지 설명하도록 하겠습니다. Slack App 생성 1. Slack api 사이트로 이동하여 [Create an App] 버튼을 클릭합니다. 2. 활성화 된 팝업창에서 [From scratch]를 클릭합니다. 3. 앱 이름을 작성하고, 슬랙 작업 환경을 선택한 후에 [Create App]을 클릭합니다. 4..