R水管工松弛机器人反应

问题描述

我正在尝试使用Plumber创建一个针对松弛的机器人响应,并且当从命令行查询或进行大范围测试时,我可以使模型工作并获得文本响应。当我从Slack使用斜杠命令时,尽管响应会返回,但是通道中只会显示一个空响应。我已经尝试了一些小调整,但对我来说这样做是行不通的,因此希望拥有Slack Plumber bot工作正常的人可以看到我在做错什么。

    #' return chatbot response
#' @param text the message used for analysis
#' @post /response
function(text=" ",res) {
  
  # turn parsed message into tidy dataframe
  msg_df <- tibble(line = 1:1,text = text)
  
  # unnest words in dataframe and create response
  msg_df <<- msg_df %>% unnest_tokens(word,text)
  body <- pred(msg_df)
  my_message <- list(response_type = unBox("in_channel"),text=unBox(body))

  return(my_message)
}

这是我在docker化并运行后从松弛中得到的回报。

Slack slash command response(empty

返回的响应如下所示,这是我在Slack教程中看到的

响应正文

{
  "response_type": "in_channel","text": "some text information"
}

真的很感谢任何想法!

解决方法

最初的解决方案是可以将Plumber序列化程序更改为:

@serializer contentType list(type =“ text / plain”)#提供简单的文本响应

如果您只需要纯文本而不格式化(对我而言适用),这将起作用

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...