공식 메뉴얼을 보면 메시지를 하나만 보낼 수 있다고 나온다.
근데 채팅하다보면 이미지랑 텍스트를 동시에 보내는 경우도 있지 않은가?
원리는 간단하다.
카카오 챗봇의 경우 "outputs" 자체가 배열 형태이므로
json 배열로 전단해주면 된다.
#텍스트 혹은 그림 하나만 보낼 수 있는 경우
res = {
"version":"2.0",
"template": {
"outputs" : [
{
"simpleText" : {
"text" :answer
}
}
]
}
}
#텍스트와 그림 혹은 그림과 텍스트 두 개 이상 보내기
res = {
"version":"2.0",
"template": {
"outputs" : [
{
"simpleImage" : {
"imageUrl" : '이미지url',
"altText" : "Hello"
}
},
{
'simpleText' : {
'text' : '안녕하세요'
}
}
]
}
}
그렇다면 네이버는 어떨까?
네이버는 아쉽게도 post 메소드를 두 번 호출해줘야 한다.
#텍스트
data = {
'event' : 'send',
'user' : user_key,
"imageContent" : {
"imageUrl" : img
}
}
message = json.dumps(data)
#텍스트 전송(post 메소드 통하여)
response = requests.post('https://gw.talk.naver.com/chatbot/v1/event',
headers=headers, data=message)
#이미지
data = {
'event':"send",
'user':user_key,
'textContent':{
"text":userMsg
}
}
#이미지 전송
message = json.dumps(data)
response = requests.post('https://gw.talk.naver.com/chatbot/v1/event', headers=headers, data=message)
하나씩만 보내야 하는건가 좌절하기도 하고
방법을 몰라 부끄럽기도 했는 데 막상 해보니 어렵지 않다.
이거보다 더 좋은 방법을 알고 계시는 분들은 답글로 알려주세요 ㅠㅠ
'프로그래밍' 카테고리의 다른 글
C# 카카오 로그인 및 나에게 메시지 보내기 (0) | 2024.05.03 |
---|---|
파이썬 기초 문법 및 API와 챗봇 (0) | 2023.08.04 |
파이썬기초+API (0) | 2023.07.31 |
c# 수업한 거 그대로라도 올려보자 (0) | 2023.07.04 |
API란 무엇인가?(유튜브 강의) (0) | 2023.05.13 |