0

我编写了一个简单的机器人,它只做一个交互式按钮。我使用控制台进行了测试,并且可以在聊天室中看到消息。但是,当我单击该按钮时,它会旋转一段时间,然后显示错误消息“无法联系。稍后再试。'

我期待 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);
        });
};

代码中还没有处理交互式事件,因为我什至无法捕获它。请帮忙。

4

1 回答 1

0

交互式按钮在传入 webhook 发布的卡片中不起作用,仅在机器人发布的卡片中起作用。所以发送CARD_CLICKED它需要知道你的服务端点的事件,它不需要注册一个传入的 webhook。

于 2018-10-09T17:45:25.073 回答