kamigo 0.8.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -19
- data/lib/kamigo/version.rb +1 -1
- metadata +8 -9
- data/lib/generators/rails/kamigo/state_generator.rb +0 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62175521b3ccbf98b4ef83754b157ddc60add6741029d82ea9197ffd70598534
|
4
|
+
data.tar.gz: e00a8292632ba7f218a8999da43e93df5b9557e1e300f8f17dfca704b6a4a8a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d85d68572c2bf47632fb45749101fb0132abd0557234d4457d9c0da126b8320d41975443b3ecb61bb39ca96138ed48d82ff66c1b13455fb23eb8c2bf0f16c1d4
|
7
|
+
data.tar.gz: 4814201aaabbf4607f8141686ee95764e53e72c4da25119bcabee53d321e5c9c6ab504068dfe218eba55781f7ad3fa70a624015c415f185d50376344f53244b5
|
data/README.md
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# Kamigo 簡介
|
2
|
-
|
3
2
|
Kamigo 是一個基於 Rails 的 Chatbot MVC Framework。
|
4
3
|
|
5
4
|
Kamigo 讓你開發 Chatbot 就跟開發網站一樣容易,甚至可以同時開發網站以及 Chatbot 介面,共用 Controller 和 Model,只需要針對 Chatbot 實作 View。
|
@@ -9,7 +8,7 @@ Kamigo 提供了重要的 generator,讓你開發聊天機器人時可以快的
|
|
9
8
|
以下將說明如何使用 Kamigo 來製作 Todo 的教學文件。
|
10
9
|
|
11
10
|
# 建立新的 rails 專案
|
12
|
-
|
11
|
+
將以下指令全部複製,直接貼到 bash 執行即可。
|
13
12
|
|
14
13
|
```bash
|
15
14
|
# 建立新專案
|
@@ -26,49 +25,53 @@ rails db:migrate
|
|
26
25
|
```
|
27
26
|
|
28
27
|
# 設定首頁
|
29
|
-
在 config/routes.rb 當中加入首頁設定:
|
28
|
+
在 `config/routes.rb` 當中加入首頁設定:
|
30
29
|
|
31
30
|
```
|
32
31
|
root to: "todos#index"
|
33
32
|
```
|
34
33
|
|
35
34
|
# 安裝 js 套件
|
35
|
+
<!-- TODO: 待卡米修改完 Kamiliff 後,需新增不同使用方式的說明 -->
|
36
36
|
在 `app/assets/javascripts/application.js` 當中加入一行程式碼:
|
37
37
|
|
38
38
|
```
|
39
39
|
//= require kamiliff
|
40
40
|
```
|
41
41
|
|
42
|
-
#
|
43
|
-
|
42
|
+
# 設定聊天機器人 Webhook URL
|
43
|
+
本文假設你已經有一個自己的聊天機器人,請將以下網址填入 LINE Bot 的 Webhook URL 欄位中:
|
44
44
|
|
45
45
|
```
|
46
|
-
|
47
|
-
LINE_CHANNEL_TOKEN=這裡填入你的 LINE_CHANNEL_TOKEN
|
48
|
-
LIFF_COMPACT=這裡填入你的 LIFF_COMPACT
|
49
|
-
LIFF_TALL=這裡填入你的 LIFF_TALL
|
50
|
-
LIFF_FULL=這裡填入你的 LIFF_FULL
|
46
|
+
https://你的網域/line
|
51
47
|
```
|
52
48
|
|
53
|
-
|
49
|
+
第一次開發 LINE Bot 的人可以服用此帖 [Webhook URL 設定 QA](/doc/06_setting.md#Webhook-URL-設定-QA)。
|
54
50
|
|
55
|
-
|
56
|
-
|
57
|
-
# 設定聊天機器人 webhook url
|
58
|
-
|
59
|
-
請將以下網址填入 LINE Bot 的 webhook url 欄位中:
|
51
|
+
# 設定聊天機器人環境變數
|
52
|
+
請在專案根目錄下新增一個 `.env` 檔並且填入以下內容:
|
60
53
|
|
61
54
|
```
|
62
|
-
|
55
|
+
LINE_CHANNEL_SECRET=這裡填入你的 LINE_CHANNEL_SECRET
|
56
|
+
LINE_CHANNEL_TOKEN=這裡填入你的 LINE_CHANNEL_ACCESS_TOKEN
|
57
|
+
LIFF_COMPACT=這裡填入你的 COMPACT_LIFF_URL
|
58
|
+
LIFF_TALL=這裡填入你的 TALL_LIFF_URL
|
59
|
+
LIFF_FULL=這裡填入你的 FULL_LIFF_URL
|
63
60
|
```
|
64
61
|
|
62
|
+
- `LINE_CHANNEL_SECRET` 可以在 Messaging API 後台的 Basic settings 分頁中找到。
|
63
|
+
- `LINE_CHANNEL_ACCESS_TOKEN` 可以在 Messaging API 後台的 Messaging API 分頁中找到。
|
64
|
+
- `COMPACT_LIFF_URL`、`TALL_LIFF_URL` 和 `FULL_LIFF_URL` 需要到 LINE 後台的 LIFF 分頁新增後,即可獲得一組 LIFF URL。
|
65
|
+
|
66
|
+
Kamigo 預設的 LIFF Size 為 Compact,你也可以只新增 Compact LIFF URL。
|
67
|
+
詳細的 LIFF 設定說明可以服用此帖 [LIFF 設定 QA](/doc/06_setting.md#LIFF-設定-QA)。
|
68
|
+
|
65
69
|
至此串接完成。
|
66
70
|
|
67
71
|
# 實際使用
|
68
|
-
|
69
72
|
Kamigo 預設使用基本的語意理解模型,會將使用者輸入視為在瀏覽器網址上輸入文字,並且以 LINE Flex Message 來顯示對應的結果。
|
70
73
|
|
71
|
-
|
74
|
+
開啟 LINE 和聊天機器人說 `/`,就能看到首頁的樣子。
|
72
75
|
|
73
76
|
# 使用 kamigo 製作的聊天機器人
|
74
77
|
- [kamigo demo](https://github.com/etrex/kamigo_demo)
|
@@ -77,12 +80,14 @@ Kamigo 預設使用基本的語意理解模型,會將使用者輸入視為在
|
|
77
80
|
<p><img width="100" height="100" src="https://camo.githubusercontent.com/b8c51b15b20b159d356245277d079c04482acc01/68747470733a2f2f692e696d6775722e636f6d2f7534547675676e2e706e67"></p>
|
78
81
|
- 守護寵物機器人
|
79
82
|
<p><img width="100" height="100" src="/doc/images/pet_loved_qrcode.png"></p>
|
83
|
+
|
80
84
|
# 詳細的說明文件
|
81
85
|
- [Kamigo 架構概觀](/doc/01_intro.md)
|
82
86
|
- [Route 的使用說明](/doc/02_route.md)
|
83
87
|
- [Controller 的使用說明](/doc/03_controller.md)
|
84
88
|
- [View 的使用說明](/doc/04_view.md)
|
85
89
|
- [Form 的使用說明](/doc/05_form.md)
|
90
|
+
- [Kamigo 相關設定與 QA](/doc/06_setting.md)
|
86
91
|
|
87
92
|
# 計畫
|
88
93
|
- 提供多種語意理解模型串接
|
data/lib/kamigo/version.rb
CHANGED
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.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- etrex
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.20.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.20.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: kamiflex
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,7 +97,6 @@ files:
|
|
97
97
|
- config/routes.rb
|
98
98
|
- lib/generators/rails/kamigo/USAGE
|
99
99
|
- lib/generators/rails/kamigo/kamigo_generator.rb
|
100
|
-
- lib/generators/rails/kamigo/state_generator.rb
|
101
100
|
- lib/generators/rails/kamigo/templates/edit.liff.erb
|
102
101
|
- lib/generators/rails/kamigo/templates/index.line.erb
|
103
102
|
- lib/generators/rails/kamigo/templates/new.liff.erb
|
@@ -117,7 +116,7 @@ homepage: https://github.com/etrex/kamigo
|
|
117
116
|
licenses:
|
118
117
|
- MIT
|
119
118
|
metadata: {}
|
120
|
-
post_install_message:
|
119
|
+
post_install_message:
|
121
120
|
rdoc_options: []
|
122
121
|
require_paths:
|
123
122
|
- lib
|
@@ -132,8 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
131
|
- !ruby/object:Gem::Version
|
133
132
|
version: '0'
|
134
133
|
requirements: []
|
135
|
-
rubygems_version: 3.
|
136
|
-
signing_key:
|
134
|
+
rubygems_version: 3.1.2
|
135
|
+
signing_key:
|
137
136
|
specification_version: 4
|
138
137
|
summary: a chatbot framework based on rails
|
139
138
|
test_files: []
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'rails/generators/named_base'
|
2
|
-
require 'rails/generators/resource_helpers'
|
3
|
-
|
4
|
-
module Rails
|
5
|
-
module Generators
|
6
|
-
class CreateStateGenerator < NamedBase
|
7
|
-
include Rails::Generators::ResourceHelpers
|
8
|
-
namespace "devise"
|
9
|
-
argument :attributes, type: :string, default: 'kamigo_state'
|
10
|
-
|
11
|
-
class_option :timestamps, type: :boolean, default: true
|
12
|
-
|
13
|
-
def create_root_folder
|
14
|
-
path = File.join('app/views', controller_file_path)
|
15
|
-
empty_directory path unless File.directory?(path)
|
16
|
-
end
|
17
|
-
|
18
|
-
def copy_view_files
|
19
|
-
filenames.each do |filename|
|
20
|
-
template filename, File.join('app/views', controller_file_path, filename)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
protected
|
25
|
-
|
26
|
-
def attributes_names
|
27
|
-
[:id] + super
|
28
|
-
end
|
29
|
-
|
30
|
-
def filenames
|
31
|
-
[
|
32
|
-
"index.line.erb",
|
33
|
-
"show.line.erb",
|
34
|
-
"edit.liff.erb",
|
35
|
-
"new.liff.erb",
|
36
|
-
]
|
37
|
-
end
|
38
|
-
|
39
|
-
def full_attributes_list
|
40
|
-
if options[:timestamps]
|
41
|
-
attributes_list(attributes_names + %w(created_at updated_at))
|
42
|
-
else
|
43
|
-
attributes_list(attributes_names)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def attributes_list(attributes = attributes_names)
|
48
|
-
if self.attributes.any? {|attr| attr.name == 'password' && attr.type == :digest}
|
49
|
-
attributes = attributes.reject {|name| %w(password password_confirmation).include? name}
|
50
|
-
end
|
51
|
-
|
52
|
-
attributes.map { |a| ":#{a}"} * ', '
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|