Skip to content
Line::Bot::API - SDK of the LINE Messaging API for Ruby.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update issue template Dec 12, 2017
examples Add device link/unlink example Mar 19, 2019
lib Merge branch 'master' of github.com:line/line-bot-sdk-ruby Mar 20, 2019
spec Add things events Mar 5, 2019
.gitignore
.rspec first commit Apr 16, 2016
.rubocop.yml
.travis.yml
CHANGELOG.md Bump version to `1.2.2` Oct 30, 2017
CODE_OF_CONDUCT.md Add code of conduct Jan 23, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Oct 10, 2018
Gemfile use rubocop Jun 26, 2018
LICENSE
README.md
Rakefile Fix Style/HashSyntax Jul 5, 2018
line-bot-api.gemspec Fix issue of last version of bundler not support for Ruby 2.2. Jan 12, 2019

README.md

Line::Bot::API

Gem-version Build Status

Line::Bot::API - SDK of the LINE Messaging API for Ruby.

About the LINE Messaging API

See the official API reference documentation for more information.

https://developers.line.me/en/docs/messaging-api/reference/

Synopsis

Usage:

# 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: event.message['text']
        }
        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

Installation

Add this line to your application's Gemfile:

gem 'line-bot-api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install line-bot-api

License

Copyright (C) 2016 LINE Corporation.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You can’t perform that action at this time.