我写了一个简单的机器人,除了交互按钮外什么也不做。我使用控制台进行了测试,并且可以在聊天室中看到该消息。但是,当我单击按钮时,它旋转了一段时间,然后显示错误消息“无法联系。稍后再试。'
我期望控制台日志语句会捕获CARD_CLICKED事件。但是,日志中没有这样的条目。我在配置中遗漏了什么吗?
const axios = require('axios');
const url = [CHAT_ROOM_WEBHOOK];
function createCard() {
return {
'cards': [{
'sections': [{
'widgets': [{
'buttons': [{
'textButton': {
'text': 'Grab it',
'onClick': {
'action': {
'actionMethodName': 'snooze'
}
}
}
}]
}]
}]
}]
};
}
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.main = (req, res) => {
console.log(JSON.stringify(req.body));
const card = createCard(req.body);
axios
.post(url, card)
.then(response => {
res.status(200).send(card);
})
.catch(error => {
res.status(500).send(error);
});
};
代码中还没有处理交互式事件,因为我什至无法捕获它。 请帮忙。
答案 0 :(得分:0)
交互式按钮在传入的Webhook发布的卡片中不起作用,仅在机器人发布的卡片中起作用。因此,发送CARD_CLICKED
事件需要知道您的服务端点,不需要向传入的Webhook注册。