R水管工松弛机器人反应

时间:2020-10-20 18:33:43

标签: r slack slack-api plumber slack-commands

我正在尝试使用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"
}

真的很感谢任何想法!

1 个答案:

答案 0 :(得分:0)

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

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

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