Kakao i Open Builder SDK
Project description
ikakao
Kakao i Open Builder SDK (Currently WIP)
Roadmap
Supported Components
- SimpleText
- SimpleImage
- ListCard
- BasicCard (Partial support)
- CommerceCard
- Carousel (Partial support)
- QuickReply (Partial support)
Usage Examples
Here are some examples demonstrating various types of skill responses.
Simple Text
import json
from ikakao.skill import Response
r = Response("Hello, Kakao i!")
print(json.dumps(r.to_dict(), indent=2))
Output:
{
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": "Hello, Kakao i!"
}
}
]
}
}
Multiple Text w/ Quick Reply
import json
from ikakao.skill import Response
r = Response("Hello", "Kakao", "i", quick_replies="Home")
print(json.dumps(r.to_dict(), indent=2))
Output:
{
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": "Hello"
}
},
{
"simpleText": {
"text": "Kakao"
}
},
{
"simpleText": {
"text": "i"
}
}
],
"quickReplies": [
{
"label": "Home",
"action": "message",
"messageText": "Home"
}
]
}
}
Carousel
import json
from ikakao.skill import Response, BasicCard, Carousel
carousel = Carousel(
BasicCard("Title #1", "Description"),
BasicCard("Title #2", "Description"),
BasicCard("Title #3", "Description"),
)
r = Response("Carousel Example", carousel, quick_replies=["Home", "Cancel"])
print(json.dumps(r.to_dict(), indent=2))
Output:
{
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": "Carousel Example"
}
},
{
"carousel": {
"type": "basicCard",
"items": [
{
"title": "Title #1",
"description": "Description"
},
{
"title": "Title #2",
"description": "Description"
},
{
"title": "Title #3",
"description": "Description"
}
]
}
}
],
"quickReplies": [
{
"label": "Home",
"action": "message",
"messageText": "Home"
},
{
"label": "Cancel",
"action": "message",
"messageText": "Cancel"
}
]
}
}
ListCard
import json
from ikakao.skill import Response, ListCard, ListItem
list_card = ListCard(
"Header",
"Item #1",
ListItem("Item #2", link="http://example.com"),
buttons=["Button #1", "Button #2"],
)
r = Response("ListCard Example", list_card, quick_replies=["Home", "Cancel"])
print(json.dumps(r.to_dict(), indent=2))
Output:
{
"version": "2.0",
"template": {
"outputs": [
{
"simpleText": {
"text": "ListCard Example"
}
},
{
"listCard": {
"header": {
"title": "Header"
},
"items": [
{
"title": "Item #1"
},
{
"title": "Item #2",
"link": {
"web": "http://example.com"
}
}
],
"buttons": [
{
"label": "Button #1",
"action": "message",
"messageText": "Button #1"
},
{
"label": "Button #2",
"action": "message",
"messageText": "Button #2"
}
]
}
}
],
"quickReplies": [
{
"label": "Home",
"action": "message",
"messageText": "Home"
},
{
"label": "Cancel",
"action": "message",
"messageText": "Cancel"
}
]
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ikakao-0.0.9.tar.gz
(5.1 kB
view hashes)
Built Distribution
ikakao-0.0.9-py3-none-any.whl
(6.5 kB
view hashes)