概要
RailsからLineBotのPush送信します
以下のように、任意のタイミングで送信するやつです
LINEBotの作成
記事がたくさんあるので、そちらを参照してください
例えば、以下のような記事があります
LINE BOTの作り方を世界一わかりやすく解説(1)【アカウント準備編】
RailsからLINEBotでPush送信
- Gemfileでライブラリ
line-bot-api
をインストールしておいてください -
ENV["LINE_CHANNEL_SECRET"]
、ENV["LINE_CHANNEL_TOKEN"]
は、herokuなど、サーバ側で、設定する必要があります。この後、説明します - 自分のuser_idは、チャンネル基本設定->あなたのユーザーID、から確認できます
- push_messageがlinebotでpush送信する部分です
linebot_controller.rb
class LinebotController < ApplicationController
require 'line/bot' # gem 'line-bot-api'
def client
@client ||= Line::Bot::Client.new { |config|
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
}
end
def push
message={
type: 'text',
text: "hello"
}
user_id = '[送信先のLINEアカウントのユーザID]'
response = client.push_message(user_id, message)
end
end
Railsアプリをherokuにデプロイ
Railsアプリのデプロイの記事がたくさんあるので、そちらを参照してください
例えば、以下のような記事があります
この時、以下のように、チャネル基本設定->チャネルシークレット、Messaging API設定->チャネルアクセストークン、をherokuに必ず設定してください
$ heroku config:set LINE_CHANNEL_SECRET="[チャネルシークレット]"
$ heroku config:set LINE_CHANNEL_TOKEN="[チャネルアクセストークン]"
結果
herokuにデプロイした、Railsアプリのlinebot_controller.rbのアクションpushを実行します
以下のように「hello」がpush送信できました