单击Google Chat Bot交互式按钮时出错

时间:2018-09-20 15:22:02

标签: hangouts-chat

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

我期望控制台日志语句会捕获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);
        });
};

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

1 个答案:

答案 0 :(得分:0)

交互式按钮在传入的Webhook发布的卡片中不起作用,仅在机器人发布的卡片中起作用。因此,发送CARD_CLICKED事件需要知道您的服务端点,不需要向传入的Webhook注册。