Telegram 메시지를 SLACK에 보내기(feat.Lambda)

링크 : www.awskr.org – 김승연

GS SHOP에서 일하고 계시는 김 승연 님의 포스팅에 대해서 다시 한 번 정리해 보려고 합니다. (웹 콘솔의 변경 및 테스트 등의 이유로..)

우선.. 첫째로, 텔레그램에서 봇을 만들어 보겠습니다.
1. 텔레그램에서 BotFather이라고 검색하면 나오는 유저를 추가하여, /newbot 을 넣고, 진행합니다.

텔레그램 봇 생성.PNG

생성이되면, API 토큰을 줍니다. 잘 적어 놓습니다.   –Telegram bot API Token
/setprivacy를 disable로 바꾼뒤, 기본적인 람다를 만들어 보겠습니다.
2. 람다는 기본 BLANK Function을 만들고, 나중에 세팅하겠습니다.
코드는 아래와 같습니다. (python 2.7)  [람다 이름은 Telegram-Slack 입니다]

람다 버전

람다 코드

import httplib
import json
import urllib

def lambda_handler(event, context):
    conn = httplib.HTTPSConnection('hooks.slack.com')
    conn.request(
        'POST',
        '/services/슬랙의 토큰을 만든 후 넣습니다',
        urllib.urlencode({'payload': json.dumps({'text': 'asdf'})}),
        {'Content-Type': 'application/x-www-form-urlencoded'}
    )
    conn.getresponse()
    conn.close()

3. API 게이트웨이도 만들어 줍니다.  (API게이트웨이 이름은 Telegram으로 하였습니다)

API 게이트웨이.PNG

이 때 주의 사항으로,  람다의 인테그레이션 부분을 체크 해제 해주셔야 합니다.
이 후, 람다에서 Trigger 부분에 Telegram API Gateway를 보안 OPEN 설정으로 부착해 줍니다.

람다 Trigger 및 URL 기억--웹브라우저입력

4. 슬랙에서도 새로운 채널을 만들어, Add an app 을 클릭해 줍니다.
incoming webhooks를 검색하면 나오는데, 추가 후 API  URL를 저장합니다.
URL 중 일부를 람다 코드에 넣고 테스트를 해 봅니다. NULL 값이 나오면 성공입니다.

5. 웹 브라우저에, 아래와 같은 링크를 입력하여, 웹 훅을 연결합니다

https://api.telegram.org/bot(텔레그램 봇 토큰)/setWebhook?url=(람다트리거페이지URL)

6. 이제 ,,  텔레그램에서 아무 값이나 넣어 보면, 슬랙에서 나타납니다 !! 성공

 

텔레그램 전송슬랙 성공

Advertisements