1

我已经创建了一个斜杠命令,Slack如果我在任何频道上执行它,它都可以正常工作。我不知道是否有any user可以any channel使用斜杠命令发布的权限。

有没有办法让任何用户都可以在频道的任何地方发帖?

在此处输入图像描述

基本上我想传递*Post to选项,以便它们不仅限于私人 slackbot 组。

编辑:

在此处输入图像描述

4

1 回答 1

1

您的应用不需要任何额外的权限来回复任何频道中用户的斜线命令。

作为对用户执行的斜杠命令的响应,有两种方法可以发布到频道中:

  • 3秒内直接响应斜线请求。例如,如果您使用的是 Flask,您将通过在 @route 函数中调用 return 来响应请求

  • request_url在 30 秒内向您找到斜杠命令的请求发送请求

您显示的“发布到”属性与斜杠命令无关。它用于传入网络挂钩,非 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
于 2019-08-12T20:31:26.700 回答