机器人对用户的反应松弛

Slack response to user from bot

正在为我的应用程序编写一个 botuser,但在向用户返回响应时遗漏了最后一步。

所以一旦用户授权,我就存储了信息响应。这是

{"ok":true,"access_token":"xoxp-SENSITIVEDATA_MAIN_ACCESSTOKEN-","scope":"identify,bot","user_id":"U2YT_SENSITIVE","team_name":"gsuresh","team_id":"T2Y_SENSITIVE","bot":{"bot_user_id":"U2Z_SENSITIVE","bot_access_token":"xoxb-SENSITIVE_BOT_ACCESSTOKEN"}}

使用来自我的其余客户端的信息,我试图从我的机器人中攻击用户,但没有成功。这是我到目前为止尝试过的

尝试 1:


url: https://slack.com/api/chat.postMessage

有效载荷:

{
    "token": "xoxb-SENSITIVE_BOT_ACCESSTOKEN",   // used bot accees token 
    "channel": "U2YT_SENSITIVE", // user id 
    "text": "Whats up dude? I am bot",
    "as_user" :true    
}

回复:

{
"ok": false
"error": "not_authed"
"warning": "missing_charset"
} 

尝试 2:


url: https://slack.com/api/chat.postMessage

有效载荷:

{
    "token": "xoxp-SENSITIVEDATA_MAIN_ACCESSTOKEN",   // used main accees token 
    "channel": "U2YT_SENSITIVE",
    "text": "Whats up dude? I am bot",
    "as_user" :true    
}

回复:

{
"ok": false
"error": "not_authed"
"warning": "missing_charset"
}

可能是什么原因?我没有任何线索就离开了。

您不能向 API 提出 post 请求。不幸的是,这是一个获取请求,对于那种敏感数据来说非常奇怪。这是完整的获取请求 curl

var url ="https://slack.com/api/chat.postMessage?token="+botaccesstoken+"&channel="+user+"&text="+message+"&as_user=true&pretty=1";

那行得通。

这行不通,因为您缺少正确的范围。

要 post 一条消息,您的令牌需要具有范围 chat:write:botchat:write:user,具体取决于您希望如何发送消息。如果您希望它来自机器人,显然使用 "chat:write:bot" 并且 "as_user" = false 用于 API 调用。

与使用GET或POST调用API无关。两者都可以。

请参阅 chat.postMessage 方法中的作者部分 docu