Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/line/line-bot-sdk-ruby
LINE Messaging API SDK for Ruby
https://github.com/line/line-bot-sdk-ruby
bot line ruby sdk
Last synced: 3 months ago
JSON representation
LINE Messaging API SDK for Ruby
- Host: GitHub
- URL: https://github.com/line/line-bot-sdk-ruby
- Owner: line
- License: apache-2.0
- Created: 2016-04-12T12:32:57.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T19:51:20.000Z (3 months ago)
- Last Synced: 2024-10-26T00:08:57.773Z (3 months ago)
- Topics: bot, line, ruby, sdk
- Language: Ruby
- Homepage: https://developers.line.biz/en/docs/messaging-api/overview/
- Size: 2.51 MB
- Stars: 480
- Watchers: 47
- Forks: 128
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# LINE Messaging API SDK for Ruby
[![Gem-version](https://img.shields.io/gem/v/line-bot-api.svg)](https://rubygems.org/gems/line-bot-api)
## Introduction
The LINE Messaging API SDK for Ruby makes it easy to develop bots using LINE Messaging API, and you can create a sample bot within minutes.## Documentation
See the official API documentation for more information
- English: https://developers.line.biz/en/docs/messaging-api/overview/
- Japanese: https://developers.line.biz/ja/docs/messaging-api/overview/Also, generated documentation by YARD is available.
- https://rubydoc.info/gems/line-bot-api
## Requirements
This library requires Ruby 3.1 or later.## Installation
Add this line to your application's Gemfile:
```ruby
gem 'line-bot-api'
```And then execute:
```sh
bundle
```Or install it yourself as:
```sh
gem install line-bot-api
```## Synopsis
Usage:
```ruby
# app.rb
require 'sinatra'
require 'line/bot'def client
@client ||= Line::Bot::Client.new { |config|
config.channel_id = ENV["LINE_CHANNEL_ID"]
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
}
endpost '/callback' do
body = request.body.readsignature = request.env['HTTP_X_LINE_SIGNATURE']
unless client.validate_signature(body, signature)
error 400 do 'Bad Request' end
endevents = client.parse_events_from(body)
events.each do |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
end# Don't forget to return a successful response
"OK"
end
```## Help and media
FAQ: https://developers.line.biz/en/faq/News: https://developers.line.biz/en/news/
## Versioning
This project respects semantic versioning.See https://semver.org/
## Contributing
Please check [CONTRIBUTING](CONTRIBUTING.md) before making a contribution.## License
```
Copyright (C) 2016 LINE Corp.
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.
```