line botをrailsで作成しています。
テキストを返す機能は実装できたのですが、スタンプを返せません。
公式を読んで実装しまして、heroku上では動いております。
###line_bots_controller
ruby
1class LineBotsController < ApplicationController 2 require 'line/bot' # gem 'line-bot-api' 3 4 # callbackアクションのCSRFトークン認証を無効 5 protect_from_forgery :except => [:callback] 6 7 def client 8 @client ||= Line::Bot::Client.new { |config| 9 config.channel_secret = ENV["LINE_CHANNEL_SECRET"] 10 config.channel_token = ENV["LINE_CHANNEL_TOKEN"] 11 } 12 end 13 14 def callback 15 16 # Postモデルの中身をランダムで@postに格納する 17 @post=Post.offset( rand(Post.count) ).first 18 body = request.body.read 19 20 signature = request.env['HTTP_X_LINE_SIGNATURE'] 21 unless client.validate_signature(body, signature) 22 head :bad_request 23 end 24 25 events = client.parse_events_from(body) 26 27 events.each { |event| 28 29 # event.message['text']でLINEで送られてきた文書を取得 30 if event.message['text'].include?("お疲れ様です") 31 response = "はい、お疲れ様です" 32 elsif event.message["text"].include?("焼き方") 33 response = "カブちゃんに聞いてね♪" 34 elsif event.message['text'].include?("田") 35 response = "せいちゃん" 36 elsif event.message['text'].include?("店") 37 response = "BOSS" * 50 38 elsif event.message['text'].include?("今日の運勢は") 39 response = ["大吉", "中吉", "小吉", "凶", "大凶"].shuffle.first 40 elsif event.message['sticker'] 41 response1 = "1", 42 response2 = "4" 43 else 44 response = @post.name 45 end 46 #if文でresponseに送るメッセージを格納 47 48 case event 49 when Line::Bot::Event::Message 50 case event.type 51 when Line::Bot::Event::MessageType::Text 52 message = { 53 type: 'text', 54 text: response 55 } 56 when Line::Bot::Event::MessageType::Sticker 57 message = { 58 type: 'sticker', 59 packageId: response1, 60 stickerId: response2 61 } 62 end 63 client.reply_message(event['replyToken'], message) 64 end 65 } 66 67 head :ok 68 end 69end
条件分岐のところで、スタンプで送られてきたらスタンプで返すところができてないことが原因かと思われるのですがコードの記述がわかりません。
ruby
1elsif event.message['sticker'] 2 response1 = "1", 3 response2 = "4" 4else
お手数なのですが、わかる方いらっしゃいましたらご回答お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/17 14:09 編集
2020/12/17 14:41
2020/12/17 15:00 編集
2020/12/17 16:02
2020/12/18 02:53