kamigo 0.24.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2d0e706b01b63559ccbae86d9028eaabc046f21723f08efbfe4e576cd5b79b1
4
- data.tar.gz: 3ef12c974773d236cdbded25773193f46037bb2f97c38db262c360e00567d7cf
3
+ metadata.gz: a113303a0a5d45d56f938861944573df97e98ad6fd2ef1dc53a8a48d188aeade
4
+ data.tar.gz: 4bbe10ff5c3f8b91d82999cc83f52f415d6fca35c061c300b01b73d4f5c0b87a
5
5
  SHA512:
6
- metadata.gz: a3b4daa5ef98203bd375844b8d7fc702b4ba8d8116aed180d8c6b992e11958204f6ed8c056b59ee7483c1722113b4b783f0a0e97170c0ee0334fa8bd1702acda
7
- data.tar.gz: e934e46ce558668684cbf09cb638ac59fd57ba07e297177d0e4dcf9332f42459ddecd27eecf6a2d96fe1d4558b7eb3244c1d9f3ce8eb1c982efdcbf3c346ece6
6
+ metadata.gz: fae826a9496cc069bd60e2ce4120b1378e951655870b7b7042251028fe0571c0b238cf0502a5c4e24a575397e20ec311efbc2cac87bde299f2f00cfa68046bd9
7
+ data.tar.gz: 9e00a82ffe3d2365d26edb6810cf26b45f8381ba99aa31c5c4e30af630ee7b94f255fc5fb3700e4eb4c7347f4b83049b8f328c6763cb08934ea256db04813cb8
data/README.md CHANGED
@@ -83,6 +83,25 @@ window.addEventListener("liff_submit", function(event){
83
83
  });
84
84
  ```
85
85
 
86
+ 若使用 Importmap(Rails 7),請使用 kamigo 0.27.0 以上的版本,並且在 `app/javascript/application.js` 當中
87
+
88
+ 加入以下程式碼:
89
+
90
+ ```
91
+ /* kamiliff default behavior */
92
+ window.addEventListener("liff_ready", function(event){
93
+ register_kamiliff_submit();
94
+ });
95
+
96
+ window.addEventListener("liff_submit", function(event){
97
+ var json = JSON.stringify(event.detail.data);
98
+ var url = event.detail.url;
99
+ var method = event.detail.method;
100
+ var request_text = method + " " + url + "\n" + json;
101
+ liff_send_text_message(request_text);
102
+ });
103
+ ```
104
+
86
105
  這會影響 LINE Bot 在 LIFF 送出表單時的行為。
87
106
 
88
107
  # 設定聊天機器人 Webhook URL
@@ -98,6 +117,9 @@ https://你的網域/line
98
117
  請在專案根目錄下新增一個 `.env` 檔並且填入以下內容:
99
118
 
100
119
  ```
120
+ LINE_LOGIN_CHANNEL_ID=這裡填入你的 LINE_LOGIN_CHANNEL_ID
121
+ LINE_LOGIN_CHANNEL_SECRET=這裡填入你的 LINE_LOGIN_CHANNEL_SECRET
122
+
101
123
  LINE_CHANNEL_SECRET=這裡填入你的 LINE_CHANNEL_SECRET
102
124
  LINE_CHANNEL_TOKEN=這裡填入你的 LINE_CHANNEL_ACCESS_TOKEN
103
125
  LIFF_COMPACT=這裡填入你的 COMPACT_LIFF_URL
@@ -105,6 +127,8 @@ LIFF_TALL=這裡填入你的 TALL_LIFF_URL
105
127
  LIFF_FULL=這裡填入你的 FULL_LIFF_URL
106
128
  ```
107
129
 
130
+ - `LINE_LOGIN_CHANNEL_ID` 可以在 LINE LOGIN 後台的 Basic settings 分頁中找到。
131
+ - `LINE_LOGIN_CHANNEL_SECRET` 可以在 LINE LOGIN 後台的 Basic settings 分頁中找到。
108
132
  - `LINE_CHANNEL_SECRET` 可以在 Messaging API 後台的 Basic settings 分頁中找到。
109
133
  - `LINE_CHANNEL_ACCESS_TOKEN` 可以在 Messaging API 後台的 Messaging API 分頁中找到。
110
134
  - `COMPACT_LIFF_URL`、`TALL_LIFF_URL` 和 `FULL_LIFF_URL` 需要到 LINE 後台的 LIFF 分頁新增後,即可獲得一組 LIFF URL。
@@ -137,11 +161,11 @@ Kamigo 預設使用基本的語意理解模型,會將使用者輸入視為在
137
161
 
138
162
  # 使用 kamigo 製作的聊天機器人
139
163
  - [kamigo demo](https://github.com/etrex/kamigo_demo)
140
- <p><img width="100" height="100" src="/doc/images/kamigo_demo_qrcode.png"></p>
164
+ <p><img width="100" height="100" src="/docs/images/kamigo_demo_qrcode.png"></p>
141
165
  - [健身紀錄機器人: Muscle-Man](https://github.com/louis70109/muscle_man)
142
166
  <p><img width="100" height="100" src="https://camo.githubusercontent.com/b8c51b15b20b159d356245277d079c04482acc01/68747470733a2f2f692e696d6775722e636f6d2f7534547675676e2e706e67"></p>
143
167
  - 守護寵物機器人
144
- <p><img width="100" height="100" src="/doc/images/pet_loved_qrcode.png"></p>
168
+ <p><img width="100" height="100" src="/docs/images/pet_loved_qrcode.png"></p>
145
169
 
146
170
  # 計畫
147
171
  - 提供多種語意理解模型串接
@@ -1,6 +1,6 @@
1
1
  require 'uri'
2
2
 
3
- class LineController < ApplicationController
3
+ class LineController < ActionController::Base
4
4
  protect_from_forgery with: :null_session
5
5
 
6
6
  def entry
@@ -1,2 +1,2 @@
1
1
  <%% content_for :title, "Edit <%= singular_table_name.titleize %>" %>
2
- <%%= render "<%= route_url %>/form.html", <%= singular_table_name %>: @<%= singular_table_name %> %>
2
+ <%%= render partial: "<%= route_url %>/form", formats: [:html], locals: {<%= singular_table_name %>: @<%= singular_table_name %>} %>
@@ -1,2 +1,2 @@
1
1
  <%% content_for :title, "New <%= singular_table_name.titleize %>" %>
2
- <%%= render "<%= route_url %>/form.html", <%= singular_table_name %>: @<%= singular_table_name %> %>
2
+ <%%= render partial: "<%= route_url %>/form", formats: [:html], locals: {<%= singular_table_name %>: @<%= singular_table_name %>} %>
@@ -11,4 +11,7 @@ Kamigo.setup do |config|
11
11
 
12
12
  # When line_default_message is nil, then Kamigo don't reply message.
13
13
  # config.line_default_message = nil
14
+
15
+ # When Kamigo receive a request, then Kamigo will process the request with the following processors.
16
+ # config.line_event_processors = [Kamigo::EventProcessors::RailsRouterProcessor.new]
14
17
  end
@@ -10,13 +10,13 @@ module Kamigo
10
10
  def process(event)
11
11
  http_method, path, request_params = kamiform_context(event)
12
12
  http_method, path, request_params = language_understanding(event.message) if http_method.nil?
13
- encoded_path = URI.encode(path)
13
+ encoded_path = URI::Parser.new.escape(path)
14
14
  request_params = event.platform_params.merge(request_params)
15
15
  output = reserve_route(encoded_path, http_method: http_method, request_params: request_params, format: :line)
16
16
  return output if output.present?
17
17
 
18
18
  return nil if Kamigo.default_path.nil?
19
- reserve_route(URI.encode(Kamigo.default_path), http_method: Kamigo.default_http_method, request_params: request_params, format: :line)
19
+ reserve_route(URI::Parser.new.escape(Kamigo.default_path), http_method: Kamigo.default_http_method, request_params: request_params, format: :line)
20
20
  end
21
21
 
22
22
  private
@@ -1,3 +1,3 @@
1
1
  module Kamigo
2
- VERSION = '0.24.0'.freeze
2
+ VERSION = '0.27.0'.freeze
3
3
  end
data/lib/kamigo.rb CHANGED
@@ -26,6 +26,32 @@ module Kamigo
26
26
  mattr_accessor :line_event_processors
27
27
  @@line_event_processors = [EventProcessors::RailsRouterProcessor.new]
28
28
 
29
+ # env
30
+ mattr_writer :line_messaging_api_channel_id
31
+ mattr_writer :line_messaging_api_channel_secret
32
+ mattr_writer :line_messaging_api_channel_token
33
+
34
+ def self.line_messaging_api_channel_id
35
+ @@line_message_api_channel_id = ENV["LINE_CHANNEL_ID"]
36
+ end
37
+
38
+ def self.line_messaging_api_channel_secret
39
+ @@line_message_api_channel_secret = ENV["LINE_CHANNEL_SECRET"]
40
+ end
41
+
42
+ def self.line_messaging_api_channel_token
43
+ @@line_message_api_channel_token = ENV["LINE_CHANNEL_TOKEN"]
44
+ end
45
+
46
+ class << self
47
+ delegate :line_login_channel_id, :line_login_channel_id=, to: :Kamiliff
48
+ delegate :line_login_channel_secret, :line_login_channel_secret=, to: :Kamiliff
49
+ delegate :line_login_redirect_uri, :line_login_redirect_uri=, to: :Kamiliff
50
+ delegate :liff_url_compact, :liff_url_compact=, to: :Kamiliff
51
+ delegate :liff_url_tall, :liff_url_tall=, to: :Kamiliff
52
+ delegate :liff_url_full, :liff_url_full=, to: :Kamiliff
53
+ end
54
+
29
55
  def self.setup
30
56
  yield self
31
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kamigo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - etrex
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-27 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,40 +30,40 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.28'
33
+ version: '0.36'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 0.28.0
36
+ version: 0.36.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: '0.28'
43
+ version: '0.36'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.28.0
46
+ version: 0.36.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: kamiflex
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.14'
53
+ version: '0.17'
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 0.14.0
56
+ version: 0.17.0
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '0.14'
63
+ version: '0.17'
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 0.14.0
66
+ version: 0.17.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: line-bot-api
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  requirements: []
150
- rubygems_version: 3.1.2
150
+ rubygems_version: 3.1.6
151
151
  signing_key:
152
152
  specification_version: 4
153
153
  summary: a chatbot framework based on rails