我创建了一个带有按钮和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
答案 0 :(得分:1)
找出了主要问题是什么...我正在调用.Create()函数-它创建了一条新消息,因此-即使正确设置了动作响应-也不会将其解释为对点击的响应事件: https://github.com/jforman/hangbot/blob/master/hangbot.go#L79
切换到.Update()后,聊天不再显示关于我的机器人的“无法联系”消息。
剩下的是,单击事件是 still 发送给我的三次,但是我现在根据eventTime过滤事件,目前可以正常使用。