附件在以下代码中不起作用,def send_message(channel_id, text):
params = {
"token" : token,
"username" : "NEW BOT",
"channel" : channel_id,
"text" : text,
"response_type": "ephemeral",
"attachments": [{ "text":"This is some text" }]
}
headers = {'content-type': 'application/json'}
slack_api = 'https://slack.com/api/chat.postMessage'
requests.get(slack_api, json=params, headers=headers)
return
@app.route('/', methods=['GET', 'POST'])
def main():
if sc.rtm_connect():
sc.rtm_read()
text = request.args.get("text")
channel_id = request.args.get("channel_id")
send_message(channel_id, text)
return Response(), 200
也未显示。我也尝试过使用Python的Slack客户端,但发生了同样的事情。
{{1}}
答案 0 :(得分:8)
kubectl logs -f podname
字段只能在生成消息时设置,以响应斜杠命令或消息按钮操作调用。它无法直接使用response_type
进行设置,因为目标用户上没有可显示该短暂消息的上下文。
关于chat.postMessage
的另一个怪癖是,它目前还不接受JSON,就像传入的webhooks一样。相反,您需要发送chat.postMessage
种类的POST参数。即使是奇怪的,application/x-www-form-urlencoded
字段实际上并没有作为JSON字符串发送,而是以URL编码为参数。
使用attachments
和其他写入方法的另一个提示,您应该使用HTTP POST而不是GET。
答案 1 :(得分:1)
attachments='[{"title": "Try these - ","text": " Text ", "mrkdwn_in":["text"]}]'
将标题添加到附件中。它适用于我的情况。