[디파이 관련 투자 일기] Timelock 트랜젝션 텔레그램으로 가져오기(1)
안녕하세요 본글 그리고 앞으로 설명할 글 들에서는 Timelock Contract에서 발생하는 트랜젝션을 텔레그램으로 받아오는 방법에 대해 설명하겠습니다. 먼저 Timelock에 있는 트랜젝션에 있는 내용을 가져와야되는 이유는 딱 한가지입니다.
"개발자가 악의적인 트랜젝션을 업로드 하는 경우 제한된 시간 내에 자금을 인출하기 위해"
문제는 Timelock을 계속 확인해야되다는 점입니다. 언제 발생할지 모르는 트랜젝션을 확인하기 위해 매시간 감시한다는게 여간 귀찮은 일이 아닙니다. 따라서 해당 글에서는 Timelock 내 트랜젝션 발생시 자동으로 텔레그램으로 메세지를 보내주는 파이썬 코드를 최대한 간단하게 만들어보도록 하겠습니다. 이번 글에서는 본격적인 파이썬 코드 실행에 앞서 필요한 부분에 대해서 설명하겠습니다.
1. 파이썬 및 필요 라이브러리 설치하기
(1) windows에 파이썬 설치하기
(2) windows에 환경변수 설정하기
해당 글을 따라 설치하시면 정상적으로 파이썬을 설치하실 수 있습니다. 파이썬이 설치된 경우에는 pip install을 통해서 라이브러리를 정상적으로 설치하실수 있습니다. 저희가 해당 코드 실행을 위해 필요한 라이브러리는 크게 2가지입니다.
- bs4 : 웹페이지에서 필요한 데이터를 가져오는데 필요합니다.
- python-telegram-bot : 파이썬과 텔레그램봇간의 상호작용을 가능하게 하는 라이브러리입니다.
설치방법은 간단합니다. 먼저 명령프롬포트를 실행합니다. 시작 > cmd 검색 후 명령프롬포트로 표기되어있는 앱을 실행하시면 됩니다.

해당 앱을 실행하시면 검은색 창이 나오게되는데 이 창에서 pip install bs4 를 치시고 엔터를 누르시면 bs4가 설치됩니다. python-telegram-bot 설치시에도 pip install python-telegram-bot 을 치고 엔터를 누르면 정상적으로 설치가 진행됩니다.

코드 실행에 필요한 파이썬과 라이브러리 설치는 이걸로 끝났습니다. 다음으로는 저희에게 알람을 보낼 텔레그램 봇 그리고 자신의 텔레그램 ID를 확인하도록 하겠습니다.
2. 텔레그램 봇 만들기 + ID 확인
텔레그램 봇은 제가 파이썬의 웹크롤러를 토대로 가져온 자료를 제 텔레그램 계정으로 보내주는 기능을 합니다. 해당 기능을 처음부터 만들어야된다면 매우 힘들겠지만.. 다행히도 텔레그램에서는 봇과 관련된 API를 제공하고 있어 해당 기능을 쉽게 만들수 있습니다. 먼저 저희가 사용할 bot을 만들어봅시다.

텔레그램 봇은 BotFather를 통해서 만들수 있습니다. 먼저 BotFather를 검색하시고 들어가봅시다. 들어가신 뒤 /start라는 메세지를 보내봅시다. /start를 치시면 해당 bot API를 통해서 실행할수 있는 다양한 명령어를 보실수 있습니다. 저희는 새로운 봇을 만드는 것을 목적으로 하기 때문에 /newbot외에 다른 기능을 볼 필요는 없습니다.

해당 채팅창에 /newbot을 치게되면 다음과 같은 메세지가 나옵니다.

바로 봇의 이름을 지정하라는 메세지인데요. 봇의 이름을 지으실때 따라야할 규칙이 있습니다. 바로 해당 봇의 이름이 bot로 끝나야된다는 겁니다.

bot으로 끝나는 형태로 봇 이름을 지으시게되면 이제 봇이 성공적으로 만들어졌다는 메세지가 나오면서 HTTP API 토큰을 줄겁니다. 여기서 HTTP API는 해당 봇에 접근하는 일종의 관리자 키라고 생각하시면 됩니다(타인과 공유하지 마세요). 텔레그램 봇을 만드는 것은 이걸로 끝났습니다.
다음으로 자신의 텔레그램 ID를 알아봅시다. 가입시의 ID가 아닌 숫자로된 고유번호로서 추후 봇이 메세지를 보내는 상대를 지정할때 필요합니다. 텔레그램 ID 조회도 비교적 간단합니다. hElLoOnG's Identify Me 라는 봇을 검색한 뒤 /start라는 메세지를 보내면 됩니다. 저기서 나오는 chat id가 텔레그램 계정에 배정된 고유번호라고 이해하시면 됩니다.

이제 코드 작성 전에 필요한 준비사항은 모두 끝났습니다. 다음글에서는 본격적인 코드 작성과 코드 실행을 해보도록 하겠습니다. 감사합니다!