2

我创建了一个带有按钮和 onClick 操作的卡片,该操作成功地向我的客户发送了类型为“CARD_CLICKED”的消息。当我尝试使用类型“NEW_MESSAGE”或“UPDATE_MESSAGE”消息来响应此消息时,这将显示为一条新消息,而 API 尝试三次将该 CARD_CLICKED 事件发送到我的机器人,直到它放弃视觉错误:“无法联系 [bot]。稍后再试。”

我想这类似于

但我使用的是golang客户端,这些问题的答案对我没有帮助......

我响应“CARD_CLICKED”消息的代码:

func handleClick(message *chat.DeprecatedEvent) *chat.Message {
    log.Debugf("User %s instructed me to execute %s", message.User.DisplayName, message.Action.ActionMethodName)

    response := &chat.Message{
        ActionResponse: &chat.ActionResponse{Type: "UPDATE_MESSAGE"},
        Thread:         &chat.Thread{Name: message.Message.Thread.Name},
        Space:          &chat.Space{Name: message.Message.Space.Name, Type: message.Message.Space.Type},
        Text:           "CARD CLICKED!",
    }
    return response
}

我的代码基于这个项目:https ://github.com/jforman/hangbot

4

1 回答 1

1

发现主要问题是什么......我正在调用 .Create() 函数 - 它创建了一条新消息,因此 - 即使正确设置了动作响应 - 这也没有被解释为对点击事件的响应: https ://github.com/jforman/hangbot/blob/master/hangbot.go#L79

在我切换到调用 .Update() 后 - 聊天不再显示关于我的机器人的“无法联系”消息。

剩下的是点击事件仍然发送给我三次,但我现在根据 eventTime 过滤事件,现在可以正常工作。

于 2019-02-09T10:57:08.687 回答