【问题标题】:Error out when click Google Chat Bot interactive button单击 Google Chat Bot 交互按钮时出错
【发布时间】:2019-02-24 23:05:08
【问题描述】:

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

我预计 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);
        });
};

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

【问题讨论】:

    标签: hangouts-chat


    【解决方案1】:

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

    【讨论】:

    • 是的,我相信你是对的。我从官方文档中找不到一个很好的例子,但我相信我没有理由不能创建一个既传入又传出的机器人,可以吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2015-12-28
    • 2017-02-16
    • 1970-01-01
    • 2014-07-22
    • 2016-07-15
    相关资源
    最近更新 更多