Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 对bot'的松弛模式提交响应;s DM不在不同的工作区上工作_Ruby_Bots_Slack_Slack Api - Fatal编程技术网

Ruby 对bot'的松弛模式提交响应;s DM不在不同的工作区上工作

Ruby 对bot'的松弛模式提交响应;s DM不在不同的工作区上工作,ruby,bots,slack,slack-api,Ruby,Bots,Slack,Slack Api,我在slack bot(范围聊天:写入、命令和用户:读取)中工作,启动bot后,将打开一个模式,提交时,响应应发送给该bot的DM。我正在使用chat.postMessage API来实现这一点(类似这样)。下面是示例代码,这在我创建bot的工作区中起作用,但当我在不同的工作区中尝试相同的操作时,得到{“ok”=>false,“error”=>“channel\u not\u found”} 实现这一目标的最佳方式是什么?我无法将其提交到应用程序目录,因为需要在至少两个工作区中添加bot。我了解

我在slack bot(范围聊天:写入、命令和用户:读取)中工作,启动bot后,将打开一个模式,提交时,响应应发送给该bot的DM。我正在使用chat.postMessage API来实现这一点(类似这样)。下面是示例代码,这在我创建bot的工作区中起作用,但当我在不同的工作区中尝试相同的操作时,得到
{“ok”=>false,“error”=>“channel\u not\u found”}


实现这一目标的最佳方式是什么?我无法将其提交到应用程序目录,因为需要在至少两个工作区中添加bot。

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

请检查您是否为不同的工作场所使用了正确的机器人令牌。
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'}
  })