파이썬으로 라인메신저 알람 메세지 보내기(Line Notify 사용)

파이썬으로 알람 메세지를 보내겠다고?

안녕하세요. 네코망고의 파이썬 실전편, 파이썬으로 라인 메신저 알람 메세지 보내기를 시작해보도록 하겠습니다. 파이썬으로 라인 메신저 (Line Messenger) Notify를 이용하여 알람을 보내볼 건데 왜 파이썬으로 알람을 보내야하나? 라는 의문을 가지시는 분들이 있으실 겁니다. 파이썬을 이용해서 웹페이지를 크롤링하는 프로그램을 만드는 경우 크롤링 결과에 따라 크롤링 제작자에게 이런 결과가 나왔다라는 메세지를 보낸다면 편리하지 않나요? 이때 메일로 메세지를 보내기보다는 저희가 평소 사용하는 메신저로 알람이 온다면 더 편리하겠죠?

그래서 웹크롤링 프로그램을 만들기 전에 라인 메신저에 알람을 보내는 방법에 대해 먼저 알아보고 가려고 합니다. 이번 강의 이후에는 식단표 크롤링, 비행기값이 특정 가격이하로 내려갔을때 알람보내기, 매일 아침 미세먼지와 날씨 알려주기 등 여러 웹 크롤링 방법에 대해서 배워볼 것이고 이때 이번 장에 배운 알람 메세지 보내는 기능으로 알람을 보내볼 거예요. 




네코망고의 파이썬 실전편(1), 

파이썬으로 라인 메신저 알람 메세지 보내기




왜 라인 메신저인가요?

수많은 메신저 중에 왜 라인 메신저로 메세지를 보내야 하나요? 라고 물으신다면 제 대답은 편리해서 입니다. 카카오톡, 텔레그램, 슬랙 등 여러 알람 메세지를 보내기 위한 기능을 제공하는 메신저들이 있지만 라인 메신저가 제일 편리하거든요. 카카오톡이 한국인에게 가장 보편화되어 있지만 카카오톡은 개발자에게 그리 친절한(?)편이 아닙니다. 카카오톡의 경우 메세지를 보낼 수 있는 갯수 제한이 있고 사용자가 텍스트를 입력하고 응답을 주는 형식으로 메세지를 받는 형식만 가능하기 때문입니다. 

그래서 라인 메신저를 선택하게 되었고 라인 메신저로도 충분히 원하는 기능을 사용할 수 있었습니다.무엇보다도 라인 메신저로 알람이 오면 알람소리가 요상하게도 마음에 듭니다.


Notify는 라인메신저에서 제공하는 알람봇과 같은 기능입니다. 알람에만 치중되어 있기 때문에 봇과 같은 기능은 없고 오로지 알람을 보내기 위한 용도로 쓰입니다. 파이썬에서 코드를 작성하고 Notify를 이용해 알람을 보내면 메신저에 LINE notify라는 이름으로 메세지가 오게됩니다. 

이 글을 읽는 분들 중에 '나는 감성적으로 나만의 봇을 만들어서 보내고 싶다' 혹은 '내가 보낸 메세지에 응답을 해주는 봇을 만들고 싶다' 라고 하는 분들은 Notify를 이용할 것이 아니라 라인 봇을 만드시는 것이 좋습니다. 라인봇 만드는 과정은 추후 포스팅할 예정이기 때문에 그 포스팅을 보시면 될 것 같습니다.  자 그럼 본격적으로 파이썬을 이용한 notify 알람 메세지 보내기를 진행해보겠습니다.



Notify의 홈페이지는 아래 링크로 남겨놓겠습니다. 영어로 되어 있기 때문에 시간이 충분히 되실때 한번 보시는 것이 좋을 것 같네요.



라인 메신저 계정 등록하기

처음 해야할 것은 라인 메신저 계정을 등록하는 일입니다. 이미 등록되어 있다면 다음 섹션으로 넘어가셔도 됩니다. 계정 생성 방법은 아래 순서에 따라서 진행하시면 되겠습니다.

1. 라인 메신저 어플리케이션에서 '···'라인메신저 오른쪽 상단의 톱니바퀴를 눌러 설정 화면으로 들어갑니다.


2. 계정을 눌러 들어갑니다.



3. 라인 메신저의 이메일 등록 진행 절차에 따라 이메일과 비밀번호를 등록합니다. 이 계정정보는 Line Notify 서비스 이용 시 사용됩니다.


Notify 서비스 등록하기

Notify 서비스를 이용하기 위해서는 Notify 공식 홈페이지에 접속해서 아까 발급받은 라인 메신저 계정으로 접속해야합니다. 그 후에 Notify 서비스 신청를 신청하여 메세지를 보낼 때 쓰이는 Access Token을 발급받아야 합니다.


1. Notify 공식 홈페이지 접속하기  

아래 URL 클릭 후 Notify 공식 홈페이지로 접속합니다.



2. Login을 눌러 아까 등록한 계정 및 비밀번호를 입력하여 접속합니다.



3. 오른쪽 상단 이름을 클릭하면 My Page가 있는데 클릭해서 들어가줍니다.



4. 하단의 Generate token을 클릭합니다. Token은 고유 번호로 아이디 정도로 생각하시면 됩니다.



5. 라인 메신저 Notify 알람을 발송할 때 사용되는 이름을 지어주고 1-on-1 chat with LINE Notify를 클릭합니다. 그후에 Generate token 버튼을 클릭하여 Token을 생성합니다.



6. Access Token 번호가 발급되면 아래 Copy 버튼을 눌러 Token 번호를 복사하고 다른곳에 저장시켜 줍니다. 이 Token는 파이썬으로 Post 호출할 때 쓰입니다. 



7. 정상적으로 Service가 등록되었다면 아래와 같은 화면이 나오게 됩니다.


파이썬 코드 작성하기

이제 본격적으로 파이썬 코드를 작성합니다. 파이썬 코드를 작성하기 전에 우리는 Requests라고 하는 파이썬 라이브러리를 설치해야 합니다. 이 라이브러리를 통해 아까 발급받은 Access Token 번호로 API에 Post 호출을 하게 되면 라인 메신저로 알람 메세지를 받을 수 있습니다. API에 대해서는 다음에 기회가 되면 알아보고 지금은 당장 중요하지 않으니 제가 첨부한 파일을 복사하여 파이참에서 파이썬 코드를 실행시키면 됩니다. 파이참 관련 포스팅은 아래 글을 참조하시기 바랍니다.

2018/08/29 - [프로그래밍/파이썬 기초] - 윈도우에 파이참(Pycharm) 설치하기 가이드 (파이참 설치방법)

2018/09/04 - [프로그래밍/파이썬 기초] - 코딩용 폰트 파이참에 적용하기 (D2 Coding 폰트 적용하기)

1. pip install requests 실행하기 우선 requests 라이브러리로 post 호출을 할 것이기 때문에 pip install command를 이용하여 requests 라이브러리를 설치합니다. 파이참에서 File > New > Python Files를 클릭해서 Notify_bot이라는 파일을 생성합니다.



파이참 하단에 보면 Terminal이 있는데 Terminal을 클릭하고 'pip install requests'라고 입력하여 requests 라이브러리를 설치합니다.



2. Notify_bot.py에 파이썬 코드 붙여넣기

완성된 파이썬 코드입니다.  각 설명은 주석을 통해 충분히 이해하실 수 있을 것이라고 생각합니다. 다만 Notfiy에서 생성한 Token을 입력해주세요. 이 부분에 Notfiy 가입 후 받았던 Access Token 번호를 입력하고 실행해야 합니다.



파이썬 코드 다운로드 받기: 

python_lecture1.txt


  • message : 라인 메신저로 보낼 알람 텍스트
  • imageThumbnail : 텍스트와 함께 발송되는 썸네일 형식의 이미지
  • imageFullsize : imageThumbnail 이미지 클릭 시 보이는 큰 이미지


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
네코망고의 파이썬 실전편(1)
파이썬으로 라인 메신저 알람 메세지 보내기 
# http://tibsender.tistory.com에서 더 많은 강좌를 볼수 있습니다.
 
# Requests Import
import requests
 
# Api 및 Token 정보
API_HOST = 'https://notify-api.line.me'
headers = {'Authorization''Bearer LINE Notfiy에서 생성한 Token을 입력해주세요.'}
data = {}
 
# get & post 호출 정의
def req(path, query, method, data={}):
    url = API_HOST + path
 
    print('HTTP Method: %s' % method)
    print('Request URL: %s' % url)
    print('Headers: %s' % headers)
    print('QueryString: %s' % query)
 
    if method == 'GET':
        return requests.get(url, headers=headers)
    else:
        return requests.post(url, headers=headers, data=data)
 
# 메신저로 보낼 메세지 내용
message = "파이썬 강의 첫번째, Notify로 알람보내기 테스트입니다."
imageThumbnail='https://tistory4.daumcdn.net/tistory/2535982/attach/f4524efd9ad4468b8fe19c0603b4c855'
imageFullsize='https://tistory4.daumcdn.net/tistory/2535982/attach/f4524efd9ad4468b8fe19c0603b4c855'
 
# parameter 값 및 호출 실행
params = {"message": message, "imageThumbnail" :imageThumbnail, "imageFullsize" : imageFullsize}
resp = req('/api/notify''''POST', params)
 
# Response
print("response status:\n%d" % resp.status_code)
print("response headers:\n%s" % resp.headers)
print("response body:\n%s" % resp.text)
cs

▲ 위의 코드를 복사하여 Notify_bot.py 붙여놓고 코드를 실행한다. (실행 단축키 : ctrl+shift+F10)



파이썬으로 라인 메신저 메세지 보내기 결과

파이썬을 이용하여 라인 메신저로 메세지를 보낸 화면입니다. 좀더 응용하면 메세지가 아닌 초대장 형식으로 화려하게 꾸밀 수도 있습니다. 이 부분은 다음 강의인 라인봇을 만드는 강의해서 배워보도록 하겠습니다.




모두 메세지가 잘 가시나요? 오늘은 네코망고의 파이썬 실전편, 파이썬으로 라인 메신저 알람 메세지 보내기 방법에 대해 알아보았습니다. 어려운 내용이 아니기 때문에 충분히 따라오셨을 것이라고 생각합니다. 다양한 파이썬 크롤링에 Notify를 이용하여 쉽게 알람 메세지를 받아보시기 바랍니다. 다음에도 좋은 강의로 찾아뵙겠습니다. 안녕히 계세요.



네이버와 구글에서 '네코망고의 소소한 일상'을 검색해보세요.


tibsender.tistory.com

이 글을 공유하기

댓글

Designed by JB FACTORY