ruby - 对机器人 DM 的 Slack Modal 提交响应不适用于不同的工作空间

标签 ruby bots slack slack-api

我在一个 slack bot(scope chat:write, commands, and users:read)中工作,在启动 bot 之后,一个模式打开,在提交时,响应应该是发送到该机器人的 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'}
  })

实现此目标的最佳方法是什么?我无法将其提交到应用程序目录,因为至少需要在两个工作空间中添加机器人。

最佳答案

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

关于ruby - 对机器人 DM 的 Slack Modal 提交响应不适用于不同的工作空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66034333/

相关文章:

ruby - 验证 Ruby 哈希的形状?

ruby - 如何上传包含远程文件目标作为 URL 一部分的文件?

sql - 两列上的 Ruby Rails Active Record 查询

javascript - 人工/机器人验证

python - 创建 twitch irc 机器人(登录身份验证失败)

node.js - 在 Microsoft Bot 构建器 node.js 中处理由 Slack 中的提示生成的先前按钮的输入时出现问题

slack-api - Slack Web hook - 附加 git diff

ruby-on-rails - 分配 session 变量而不保存到数据库

python - 使用discord.py显示来自json的数据

slack - Airflow 失败松弛消息