kogno
1.0.0
Kogno 是一个运行在 Ruby 编程语言上的开源框架,用于开发会话应用程序。
它基于 MVC 架构并受到 Rails 的强烈启发,因此如果您曾经使用过这个框架,那么 Kogno 会对您非常熟悉。
目前支持以下消息传递平台:WhatsApp、Messenger 和 Telegram,并在单个应用程序中为所有这些平台维护统一的代码。
完整文档
您可以在 https://docs.kogno.io 阅读完整文档或直接在此处继续。
$ gem install kogno
$ kogno new my_chatbot
my_chatbot
并安装依赖项:在运行以下命令之前,必须预先安装 MySQL 开发库。
$ bundle install
config/database.yml
配置数据库: adapter : mysql2
pool : 5
username : your_user_name
password : your_password
host : localhost
database : your_database_name
encoding : utf8mb4
collation : utf8mb4_unicode_ci
$ kogno install
$ kogno http start
为了接收 webhook,您必须配置消息传递平台:
- 配置 WhatsApp
- 配置电报
- 配置 Messenger
下面的代码代表一个Context
类,它相当于 Ruby on Rails 中的Controller
类:
class MainContext < Conversation
def blocks
intent "greeting" do
@reply . text "Hello!"
@reply . button (
"How can I help you today?" ,
[
{
title : "View Products" ,
payload : "featured_products"
} ,
{
title : "My Cart" ,
payload : "purchases/view_cart"
}
]
)
end
postback "featured_products" do
@reply . text "Alright."
@reply . template "products/featured" , title : "Here is a list of today's featured products."
end
keyword [ "stop" , "quit" ] do
@reply . text "Alright"
@reply . typing 2 . seconds
@reply . text "I'll stop writing you now.."
end
everything_else do
@reply . text "Sorry, but I don't understand what you said."
end
end
end
在上面的例子中, MainContext
有能力处理以下场景:
intent "greeting"
:问候消息,例如“Hello”或“Hi”。这是之前在 NLP 引擎上创建和训练的。postback"featured_products"
:在上一个意图“问候”中作为回复发送的“查看产品”按钮上的单击事件。keyword ["stop", "quit"]
:具体是两个关键字“stop”或“quit”。everything_else
:其特征与上面列出的块的执行标准不匹配的任何消息。为了更好地了解块的工作原理并查看它们的完整列表,请检查以下链接 https://docs.kogno.io/contexts/blocks。
您可以通过使用 Kogno 开发会话应用程序来为这个项目做出很多贡献,如果您发现错误,请报告它。
如果您和我们一样对此充满热情,请与我们一起编写代码,修复错误、添加更多集成并创建更多功能。
Kogno 是根据 MIT 许可证发布的。
了解更多
请阅读 http://docs.kogno.io 上的完整文档。
您还可以下载用 Kogno 编写的航班预订演示应用程序的源代码。