class.exe

blog.netaka.net

LINEのリッチメニューの表示期間を変更する

10/6/2018

この記事を書いてから5年が経っています。内容が古いかもしれません。

LINEのリッチメニューが便利なので設定していますが、表示期間を過ぎると再設定が必要です。いつもどこで設定するのか忘れてしまうのでメモを残します。

LINE@マネージャーにログインします

LINE@マネージャー

リッチメニューを編集します

  1. アカウント一覧から編集したいBotを選択します。
    000f9bfee871b5d9e757024ca39092a9
    000f9bfee871b5d9e757024ca39092a9
  2. 左ペインからリッチコンテンツ作成を選択します。
    679d1f6ebf4c853a94e53283aba2437c
    679d1f6ebf4c853a94e53283aba2437c
  3. 編集したいリッチメニューを選択します。
    select_the_rich_menu
    select_the_rich_menu

表示期間を変えます

適切な表示期間に変えましょう。

33e31752d8060e061a9a32f06f897bbc
33e31752d8060e061a9a32f06f897bbc

ドキュメントに書いてありました

リッチメニューを設定したくて、LINE@マネージャーではなくLINE Developersにログインしてしまうことが多かったです。探してみたらデフォルトのリッチメニューについてはドキュメントに書いてありました。

LINE@マネージャーで設定する

LINEでベクターキャノンを準備してもらう

9/17/2017

この記事を書いてから6年が経っています。内容が古いかもしれません。

LINEのMessaging APIで、ボットにセリフを喋ってもらいます。

ボット用アカウントをつくる

LINE Business Centerでボット用アカウントを作ります。詳しくは割愛しますが、個人用だったのでDeveloper Trialで作っています。

LINE Business Center

bot_account
bot_account

HTTPSが使えるサーバを準備する

Webhook使ってメッセージを受け取るので、HTTPSで受け取れるようなサーバを準備してください。

ボット用のSDKを手に入れて、実装する

便利なSDKがあるのでinstallしましょう。

line/line-bot-sdk-python: SDK of the LINE Messaging API for Python.

Usage:にサンプルがあるので利用します。セリフを喋るためにちょっと手を加えたのがこちらです。

from flask import Flask, request, abort
from dotenv import load_dotenv, find_dotenv
import time
import os

from linebot import (
    LineBotApi, WebhookHandler
)
from linebot.exceptions import (
    InvalidSignatureError
)
from linebot.models import (
    MessageEvent, TextMessage, TextSendMessage,
)

app = Flask(__name__)
load_dotenv(find_dotenv())

line_bot_api = LineBotApi(os.environ.get('CHANNEL_ACCESS_TOKEN'))
handler = WebhookHandler(os.environ.get('CHANNEL_SECRET'))


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

    # get request body as text
    body = request.get_data(as_text=True)
    app.logger.info("Request body: " + body)
    print(body)

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

    return 'OK'


@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
    to = ''
    if event.source.type == 'group':
        to = event.source.group_id
    if event.source.type == 'user':
        to = event.source.user_id
    if event.message.text == "ベクターキャノン":
        line_bot_api.push_message(to, TextSendMessage(text='ベクターキャノンモードへ移行'))
        time.sleep(3)
        line_bot_api.push_message(to, TextSendMessage(text='エネルギーライン全段直結'))
        time.sleep(2)
        line_bot_api.push_message(to, TextSendMessage(text='ランディングギア、アイゼン、ロック'))
        time.sleep(3)
        line_bot_api.push_message(to, TextSendMessage(text='チャンバー内、正常加圧中'))
        time.sleep(2)
        line_bot_api.push_message(to, TextSendMessage(text='ライフリング回転開始'))
        time.sleep(7)
        line_bot_api.push_message(to, TextSendMessage(text='撃てます'))


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

できました

こちらが「ベクターキャノン」と言うと、ボットは某ゲームのセリフを喋ります。

line_ada_bot
line_ada_bot

退社したらお疲れさまと言ってもらう

9/3/2017

この記事を書いてから6年が経っています。内容が古いかもしれません。

退社したらお疲れさまと言ってもらいます。IFTTTでやってみます。

トリガー

Locationサービスで会社の建物を設定します。

trigger
trigger

アクション

LINEサービスで通知メッセージを設定します。

action
action

レシピ

できあがったレシピはこんなのです。

recipe
recipe

LINE Notifyから、お疲れさま、って言ってもらえました。

line-notify
line-notify