以下のコードでRubyのフレームワークSinatraを使って開発しているのですが、どのようにしたら会話ができるのでしょうか。
接続確認はできています。
例:
ユーザー:こんにちは
bot:こんにちは
ユーザー:こんにちは
bot:こんにちは2回目ですね。
をしたいのです。
botkitみたいに会話フローを作れるようなものは用意されていないので、どのようにしたら実装できるのかわかりません。
# app.rb require 'sinatra' require 'line/bot' def client @client ||= Line::Bot::Client.new { |config| config.channel_secret = ENV["LINE_CHANNEL_SECRET"] config.channel_token = ENV["LINE_CHANNEL_TOKEN"] } end post '/callback' do body = request.body.read signature = request.env['HTTP_X_LINE_SIGNATURE'] unless client.validate_signature(body, signature) error 400 do 'Bad Request' end end events = client.parse_events_from(body) events.each { |event| case event when Line::Bot::Event::Message case event.type when Line::Bot::Event::MessageType::Text message = { type: 'text', text: こんにちは } client.reply_message(event['replyToken'], message) message = { type: 'text', text: こんにちは2回目です } client.reply_message(event['replyToken'], message) //これはできない when Line::Bot::Event::MessageType::Image, Line::Bot::Event::MessageType::Video response = client.get_message_content(event.message['id']) tf = Tempfile.open("content") tf.write(response.body) end end } "OK" end
あなたの回答
tips
プレビュー