17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【LINE bot】初めてのおみくじbot

Last updated at Posted at 2018-03-23
1 / 27

はじめに

  • Line bot勉強会の資料です。
  • このスライドでは環境構築を目的としています。

LINE bot勉強会の流れ

流れ step1 step2 step3
機能 おみくじbot カウントbot 最寄駅検索bot
学ぶこと LINE botの作り方 DB・リッチニュー ボタンアクション・URIスキーマ・外部API

その他TIPS


今回学ぶこと

  • LINE Messaging APIの利用法
  • 乱数を用いた処理

利用環境

環境 利用するもの
言語 ruby
フレームワーク sinatra
Server heroku

必要なパッケージのインストール


Gemfileの作成

$ gem install bundler
$ bundle init 

Gemfileの記述

Gemfile
gem 'sinatra'
gem 'sinatra-contrib'
gem 'rake'
gem 'line-bot-api'

gemのインストール

$ bundle

sinatraが動くかの確認

$ touch app.rb
app.rb
require 'bundler/setup'
Bundler.require

get '/' do
    'true'
end

サーバーを起動

起動した先にtrueが表示されれば大丈夫。

$  bundle exec ruby app.rb

line botを動かす


プログラムの記述

src/line.rbを作成し、line-bot-sdk-rubyのサンプルコードをコピー

$ mkdir src
$ touch src/line.rb 
src:line.rb
require 'sinatra'
require 'line/bot'

def client
...
...

app.rbからsrc/line.rbを呼び出す

app.rb
require 'bundler/setup'
Bundler.require
require './src/line'
...
...

config.ru

config.ru
require 'bundler'
Bundler.require

require './app'
run Sinatra::Application

##gitの作成

git init
git add -A
git commit -m 'initial commit'

##herokuの作成
あらかじめherokuのアカウントを作成しておきます。
herokuにログインをし、アプリケーションを作成します。

$ heroku login
$ heroku create _original_application_name_

##環境変数の設定
アプリケーションを作成するとアプリケーションのプロジェクトファイルを作成します。
herokuのダッシュボードから
作成したアプリのSettings > Reveal Config Varsで環境変数を設定していきます。
スクリーンショット 2018-03-18 22.45.49.png


botのアカウントを作る

環境変数を設定するために元となるbotを作成します。
LINE developersからMessaging APIを選択しbotを作り始めます。
スクリーンショット 2018-03-16 21.45.24.png


環境変数をとる

次に環境変数をherokuに設定します。
スクリーンショット 2018-03-18 22.46.29.png


####LINE_CHANNEL_SECRET
Channel Secretをコピーし、LINE_CHANNEL_SECRETに保存します。
スクリーンショット 2018-03-16 21.47.27.png


####LINE_CHANNEL_TOKEN
アクセストークンを発行し、LINE_CHANNEL_TOKENを設定します。有効時間が出て来ますが、24hで大丈夫です。
スクリーンショット 2018-03-16 21.48.00.png


Webhock URL

「利用しない」から「利用する」に変更。
先ほど起動したweb serverのurl+'/callback'をWebhock URLに指定する。
_heroku_app_name_.herokuapp.com/callback


おみくじbotを作る


おみくじの機能

次のようにおみくじのプログラムを実装します。

./src/line.rb
37 if event.message['text'] =~ /おみくじ/
38  message[:text] = 
     ["大吉", "中吉", "小吉", "凶", "大凶"].shuffle.first
39  end

おみくじプログラム解説1

if文で正規表現でパターンマッチングをしています。

if event.message['text'] =~ /おみくじ/

おみくじプログラム解説2

配列の中の順番をランダムに並び替え一番最初の要素を返します。

["大吉", "中吉", "小吉", "凶", "大凶"].shuffle.first

以上でおみくじbotは終了です。

17
19
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
17
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?