LineBotをスマホとReplitで作ってみる


今回使用するもの

準備

Replit側

  1. まずはReplitのアカウントを作成
  1. Pythonのreplを作成する
    replit-create-python

  2. main.pyにコードを貼り付ける

import os
import sys
from argparse import ArgumentParser

from flask import Flask, request, abort
from linebot import (
    LineBotApi, WebhookHandler
)
from linebot.exceptions import (
    InvalidSignatureError
)
from linebot.models import (
    MessageEvent, TextMessage, TextSendMessage,
)

app = Flask(__name__)

# アクセストークの読み込み
channel_secret = os.getenv('LINE_CHANNEL_SECRET', None)
channel_access_token = os.getenv('LINE_CHANNEL_ACCESS_TOKEN', None)

line_bot_api = LineBotApi(channel_access_token)
handler = WebhookHandler(channel_secret)


@app.route("/callback", methods=['POST'])
def callback():
    signature = request.headers['X-Line-Signature']

    body = request.get_data(as_text=True)
    app.logger.info("Request body: " + body)

    try:
        handler.handle(body, signature)
    except InvalidSignatureError:
        abort(400)

    return 'OK'

@handler.add(MessageEvent, message=TextMessage)
def handle_text_message(event):
    text = event.message.text

    if text == 'こんにちは':
        profile = line_bot_api.get_profile(event.source.user_id)
        line_bot_api.reply_message(
            event.reply_token, [
                TextSendMessage(text='こんにちは' + profile.display_name + 'さん')
            ]
        )

if __name__ == "__main__":
    app.run(port=8000)

ボットの作成

  1. LINE Developersコンソールにログインする
  1. 新規プロバイダーを作成する
    ホーム画面の[新規プロバイダー作成]をクリックします。

  2. チャネルを作成する
    作成したプロバイダーページで、[チャネル設定]タブの[Messaging API]をクリックします。

  3. チャネルアクセストークンを発行する

Replitにボットの情報を登録する

作成したreplを開き、右下のCommandsをタップ
そしたらSecretを開き
replit-set-env
このようにする

実行する

codeに戻り、右下の緑の▶を押すとパッケージのインストールが始まり完了しだい実行されます。(かなり時間がかかる)
実行されるとサイトが開きます。そのサイトのURLをコピーしておいてください。

Webhookの設定

作成したチャンネルのMessaging API設定>Webhook設定>Webhook URLにコピーしたURLを貼り付けて最後にcallbackを追加
例: https://line-bot.〇〇.repl.co/callbackになってるはず
そしたら下のWebhookの利用をオンにします

友だち追加をして送ってみる

LINE Official Account Managerに移動し

ボットを選択して友だちを増やす>友だち追加ガイドを開きURLを作成で友だち追加をするURLを確認することができます。

終わりに

初めて記事を書いてみました。説明などが不足しているかもしれませんが何かあったら気軽にコメントください。