任何用户在任何频道上对 post 的 Slack bot 权限
Slack bot permission to post on any channel by any user
我在 Slack
上创建了一个斜杠命令,如果我在任何频道上执行它,它都可以正常工作。我无法弄清楚是否存在 any user
可以使用斜线命令在 any channel
上 post 的权限。
有没有办法让任何用户都可以 post 在频道的任何地方?
基本上我想将 *
传递给 Post to
选项,这样它们就不会仅限于私人 slackbot 组。
已编辑:
您的应用无需任何额外权限即可回复任何频道中用户的斜杠命令。
有两种方法可以post进入频道作为对用户执行的斜杠命令的响应:
3秒内直接回复斜线请求。例如如果您使用的是 Flask,则通过在 @route 函数
中调用 return 来响应请求
发送请求到request_url
你在30秒内找到斜杠命令请求
您显示的 "Post To" 属性 与斜杠命令无关。它用于传入网络钩子,非 Slack 应用程序使用它向 Slack 发送消息。
代码
下面是使用 Flask 的两种响应类型的示例:
from flask import Flask, json, request
import requests
app = Flask(__name__) #create the Flask app
@app.route('/slash', methods=['POST'])
def slash_response_direct():
"""Direct response"""
message = {
"text": "Hi there"
}
return json.jsonify(message)
#@app.route('/slash', methods=['POST'])
def slash_response_indirect():
"""responding to slash command via response URL"""
response_url = request.form["response_url"]
message = {
"text": "Hi"
}
res = requests.post(response_url, json=message)
return ""
if __name__ == '__main__':
app.run(debug=True, port=8000) #run app in debug mode on port 8000
我在 Slack
上创建了一个斜杠命令,如果我在任何频道上执行它,它都可以正常工作。我无法弄清楚是否存在 any user
可以使用斜线命令在 any channel
上 post 的权限。
有没有办法让任何用户都可以 post 在频道的任何地方?
基本上我想将 *
传递给 Post to
选项,这样它们就不会仅限于私人 slackbot 组。
已编辑:
您的应用无需任何额外权限即可回复任何频道中用户的斜杠命令。
有两种方法可以post进入频道作为对用户执行的斜杠命令的响应:
3秒内直接回复斜线请求。例如如果您使用的是 Flask,则通过在 @route 函数
中调用 return 来响应请求
发送请求到
request_url
你在30秒内找到斜杠命令请求
您显示的 "Post To" 属性 与斜杠命令无关。它用于传入网络钩子,非 Slack 应用程序使用它向 Slack 发送消息。
代码
下面是使用 Flask 的两种响应类型的示例:
from flask import Flask, json, request
import requests
app = Flask(__name__) #create the Flask app
@app.route('/slash', methods=['POST'])
def slash_response_direct():
"""Direct response"""
message = {
"text": "Hi there"
}
return json.jsonify(message)
#@app.route('/slash', methods=['POST'])
def slash_response_indirect():
"""responding to slash command via response URL"""
response_url = request.form["response_url"]
message = {
"text": "Hi"
}
res = requests.post(response_url, json=message)
return ""
if __name__ == '__main__':
app.run(debug=True, port=8000) #run app in debug mode on port 8000