对机器人 DM 的 Slack 模态提交响应无法在不同的工作空间上工作

Posted

技术标签:

【中文标题】对机器人 DM 的 Slack 模态提交响应无法在不同的工作空间上工作【英文标题】:Slack Modal submission response to bot's DM not working on different workspace 【发布时间】:2021-05-08 02:05:06 【问题描述】:

我正在使用 slack 机器人(范围聊天:写入、命令和用户:读取),启动机器人后,会打开一个模式,提交时,响应应该是发送到该机器人的 DM。我正在使用 chat.postMessage API 来实现这一点(类似于 https://api.slack.com/tutorials/message-action)。下面是示例代码,它在我创建机器人的工作区中工作,但是当我在不同的工作区上尝试相同以获取 "ok"=>false, "error"=>"channel_not_found"

response = JSON.parse(params[:payload])
user_id = response["user"]["id"]
args = channel: user_id ,text: "A message" 
@options =  body: args
HTTParty.post("https://slack.com/api/chat.postMessage",
   
    :body => args.to_json,
    :headers =>  'Content-Type' => 'application/json', 'Authorization' => 'Bearer Bot User OAuth Access Token'
  )

实现这一目标的最佳方法是什么?我无法将其提交到 app 目录,因为该机器人需要添加到至少两个工作区中。

【问题讨论】:

请检查您是否在不同的工作场所使用正确的机器人令牌。 【参考方案1】:

我了解问题所在,我正在将特定工作区的机器人令牌传递给另一个工作区。解决方案是在用户将机器人添加到工作区时存储 access_token,并在发布消息时发送 access_token。感谢您的提示。@mothirajha

【讨论】:

以上是关于对机器人 DM 的 Slack 模态提交响应无法在不同的工作空间上工作的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py 机器人:如何让我的不和谐机器人向我发送对用户在 DM 中使用的命令的响应,例如进行调查?

为什么在dialogflow中创建的丰富消息不会出现在经过Slack测试的机器人中?

在模式中显示表单提交(Mailchimp)的响应

你如何让 Discord 机器人响应 DM 中的命令? (Python)

用数据响应 Express 中的 Slack url

公共频道更改为私人频道时无法获取 Slack 频道信息