LoginSignup
7
13

More than 3 years have passed since last update.

Python で LINE にメッセージを送信(LINE Notify)

Last updated at Posted at 2019-12-12

はじめに

LINE Notify を Python で利用し、LINE にメッセージを送信するボットの備忘録です。

手順は、以下になります。

  1. LINE アカウントの作成と LINE Notify のサービス登録
  2. メッセージを送信

環境

  • Windows 10 Pro
  • Python 3.6.9 (anaconda)

LINE Notify を利用するために

LINE Notify とは

LINE Notify 公式サイトには、以下の説明があります。

Webサービスと連携すると、LINEが提供する公式アカウント"LINE Notify"から通知が届きます。
複数のサービスと連携でき、グループでも通知を受信することが可能です。

LINE Notifyと連携を行うことで、LINEユーザーが簡単にサービスの通知を受信できるようになります。

LINE アカウントの作成と LINE Notify のサービス登録

LINE アカウントの作成

割愛します。

LINE Notify のサービス登録

  1. アカウントを作成したら、LINE Notify 公式サイトにアクセスして LINE アカウントでログインします。その際、LINE アカウントに登録されているメールアドレスでログインとなりますので、事前に登録が必要です。
  2. LINE Notify 登録サービス管理ページより、サービス名やサービス概要などの必要事項を入力し、サービスを登録します。
  3. LINE Notify マイページより、トークン名と通知を送信するトークルームを指定し、アクセストークン情報を取得します。アクセストークン取得後、トークルームの友だちに LINE Notify が登録されます。

メールアドレスの登録は、以下のサイトをご参照下さい。

LINE Notify を利用し、メッセージを送信

import requests

url = "https://notify-api.line.me/api/notify"
access_token = 'xxxxxxxxxxxxxxxx'


class LineNotify:

    def __init__(self, url, access_token):
        self.url = url
        self.headers = {'Authorization': 'Bearer ' + access_token}

    def send_message(self, message, image=None, sticker_package_id=None, sticker_id=None):

        payload = {
                'message': message, 
                'stickerPackageId': sticker_package_id, 
                'stickerId': sticker_id
                }

        files = {}

        if image != None:
            files = {'imageFile': open(image, 'rb')}

        r = requests.post(
                self.url, 
                headers=self.headers, 
                data=payload, 
                files=files
                )


## メイン
if __name__ == '__main__':

    bot = LineNotify(url, access_token)

    bot.send_message('このメッセージはテストです。')

送信結果

image.png

7
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
13