kik 上的机器人配置未按预期工作
bot configuration on kik is not working as expected
我正在尝试在 kik 上创建一个 echo 机器人。我已经关注 dev.kik.com,创建了一个机器人,但是当我尝试配置机器人时,它什么也没做(kik 或我的中间件上没有消息)。
设置:
1. 我使用 nodejs 实现了 echo bot,并托管在 azure 上。我已经使用 AdvanceREST 进行了测试,并且我知道如果消息被正确接收,它会回复。
2. 我尝试通过 nodejs 请求模块发送我的机器人配置,如下所示。
request.post({
url : 'https://api.kik.com/v1/config',
auth: {
'user' : 'botname',
'pass' : 'botkey'
},
headers:{
'Content-Type': 'application/json'
},
form :JSON.stringify({
"webhook": "https://myurl",
"features": {
"manuallySendReadReceipts": false,
"receiveReadReceipts": false,
"receiveDeliveryReceipts": false,
"receiveIsTyping": false
}
})
}, function(err,httpResponse,body){
if(err){
res.send(err);
}
if(httpResponse.statusCode === 200){
res.send(JSON.parse(body));
}
});
非常感谢这方面的任何帮助...谢谢
配置api非常挑剔。我设法通过使用以下 POST 请求让它工作,我使用了 Postman。关键是发送一个空对象作为特征值:
POST /v1/config HTTP/1.1
Host: api.kik.com
Content-Type: application/json
Authorization: Basic --------- my auth token -----------------
Cache-Control: no-cache
Postman-Token: 217953a0-64da-556e-6817-5309bf4b92e8
{
"webhook": "https://kwcraftbeer.azurewebsites.net/incoming",
"features": {}
}
request.post({
url : 'https://api.kik.com/v1/config',
auth: {
'user' : 'botname',
'pass' : 'botkey'
},
headers:{
'Content-Type': 'application/json'
},
json: true,
body :{
"webhook": "https://myurl.com/incoming",
"features": {
"manuallySendReadReceipts": false,
"receiveReadReceipts": false,
"receiveDeliveryReceipts": false,
"receiveIsTyping": false
}
}
}, function(err,httpResponse,body){
if(err){
res.send(err);
}
if(httpResponse.statusCode === 200){
res.send(JSON.parse(body));
}
});
这应该有效
a) 确保你的 url 是有效的,我知道你只是在那里有一个占位符但是
b) 使用 json:true
和密钥 body
它会起作用
你也可以查看 kik 的节点库 https://www.npmjs.com/package/@kikinteractive/kik 可以轻松设置配置
我正在尝试在 kik 上创建一个 echo 机器人。我已经关注 dev.kik.com,创建了一个机器人,但是当我尝试配置机器人时,它什么也没做(kik 或我的中间件上没有消息)。
设置: 1. 我使用 nodejs 实现了 echo bot,并托管在 azure 上。我已经使用 AdvanceREST 进行了测试,并且我知道如果消息被正确接收,它会回复。 2. 我尝试通过 nodejs 请求模块发送我的机器人配置,如下所示。
request.post({
url : 'https://api.kik.com/v1/config',
auth: {
'user' : 'botname',
'pass' : 'botkey'
},
headers:{
'Content-Type': 'application/json'
},
form :JSON.stringify({
"webhook": "https://myurl",
"features": {
"manuallySendReadReceipts": false,
"receiveReadReceipts": false,
"receiveDeliveryReceipts": false,
"receiveIsTyping": false
}
})
}, function(err,httpResponse,body){
if(err){
res.send(err);
}
if(httpResponse.statusCode === 200){
res.send(JSON.parse(body));
}
});
非常感谢这方面的任何帮助...谢谢
配置api非常挑剔。我设法通过使用以下 POST 请求让它工作,我使用了 Postman。关键是发送一个空对象作为特征值:
POST /v1/config HTTP/1.1
Host: api.kik.com
Content-Type: application/json
Authorization: Basic --------- my auth token -----------------
Cache-Control: no-cache
Postman-Token: 217953a0-64da-556e-6817-5309bf4b92e8
{
"webhook": "https://kwcraftbeer.azurewebsites.net/incoming",
"features": {}
}
request.post({
url : 'https://api.kik.com/v1/config',
auth: {
'user' : 'botname',
'pass' : 'botkey'
},
headers:{
'Content-Type': 'application/json'
},
json: true,
body :{
"webhook": "https://myurl.com/incoming",
"features": {
"manuallySendReadReceipts": false,
"receiveReadReceipts": false,
"receiveDeliveryReceipts": false,
"receiveIsTyping": false
}
}
}, function(err,httpResponse,body){
if(err){
res.send(err);
}
if(httpResponse.statusCode === 200){
res.send(JSON.parse(body));
}
});
这应该有效
a) 确保你的 url 是有效的,我知道你只是在那里有一个占位符但是
b) 使用 json:true
和密钥 body
它会起作用
你也可以查看 kik 的节点库 https://www.npmjs.com/package/@kikinteractive/kik 可以轻松设置配置