0
0

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 3 years have passed since last update.

Heroku + Sinatra でオウム返しのLINE Botを作るときに詰まったことメモ

Posted at

LINE Botの開発に初めて挑戦してみました。
まずは簡単なモノから、ということでおうむ返しのLINE Botです。
「認識が違う」などの指摘がございましたら、教えていただけますと幸いです。

Sinatraを使って LINE Botを作ってみる

Heroku+Ruby+SinatraでReplyにオウム返しするLineBotを作った

大枠はこちらの記事に沿ってやっていきました.
最後までいったものの、**「返事が返ってこない」**という状況になったのでその解決方法をメモとして残しておきます.

スクリーンショット 2020-05-16 14.14.10.png

「返事が返ってこない」ことに対しての原因/やったこと

原因1:コード内に直接、トークンやチャンネルシークレットを入力していた

LINE BotのSDKの中にこういった↓コードがあるのですが、僕は直接控えたTOKENなどを入力してしまっていました。
これは間違いで、Herokuの[Config Vars]で環境変数として設定するので、これはこのままで大丈夫でした。

app.rb
# app.rb
require 'sinatra'
require 'line/bot'

def client
  @client ||= Line::Bot::Client.new { |config|
# 以下3つに控えたID,SECRET,TOKENを入力していた.これはこのままでOK!
    config.channel_id = ENV["LINE_CHANNEL_ID"]
    config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
    config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
  }
end

↓↓Herokuの設定画面↓↓
ここでID, SECRET, TOKENを設定します

スクリーンショット_2020-05-16_14_41_21.jpg

原因2:ローカルの変更をHerokuにpush(反映)していなかった

原因1を修正するために、ローカルでコードを変更しました。
その変更はローカルで変更しただけなので、Herokuにはその変更が反映されていませんでした。
よくみたらHerokunにもこんな記述がありました。
以下のコマンドを実行してHerokuにpush

Deploy your changes
Make some changes to the code you just cloned and deploy them to Heroku using Git.

$ git add .
$ git commit -am "make it better"
$ git push heroku master

この2つを試すと、無事に返ってくるようになりました。

無事、完成

gazou.jpg

完成したけど、まだわからないこと

Herokuのadd onであるFixieは必要なのか??

試行錯誤する中で、以下の記事を見つけました。
記事を見てFixieを入れてみたものの、削除しても動いてるのでもうちょっと調べて行こうと思います。

LINE BOT をとりあえずタダで Heroku で動かす

LINE BOT APIではまったこと

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?