2017-01-16 83 views
0

我試圖用鬆弛API https://api.slack.com/methods/channels.join但得到這種反應鬆弛機器人錯誤:「user_is_bot」的channels.join

info: ** API CALL: https://slack.com/api/channels.join 
Response : { ok: false, error: 'user_is_bot' } 

創建一個新的渠道我想這

controller.hears('hello', ['direct_message', 'direct_mention', 'mention'], function (bot, message) { 
    bot.api.channels.join({'name':'nag'}, function (err, response) { 
    console.log("Response : ",response); 
    }) 
}); 

如果我錯誤請讓我知道。我已經開始學習鬆散的API了。

回答

2

您得到user_is_bot的原因是channels.join不能被bot用戶使用。正如這個方法的文檔中說:

user_is_bot : This method cannot be called by a bot user.

要建立頻道,你將要使用channels.create。但是,該方法也不能被bot用戶使用。

常見的解決辦法是使用全access_token,而不是從鬆弛收到您的時差應用使用OAuth安裝它爲機器人的用戶不能使用所有方法之後bot_access_token,例如創造一個新的渠道。

下面是從OAuth documentation從鬆弛與兩個標記響應什麼樣子的例子:

{ 
    "access_token": "xoxp-XXXXXXXX-XXXXXXXX-XXXXX", 
    "scope": "incoming-webhook,commands,bot", 
    "team_name": "Team Installing Your Hook", 
    "team_id": "XXXXXXXXXX", 
    "incoming_webhook": { 
     "url": "https://hooks.slack.com/TXXXXX/BXXXXX/XXXXXXXXXX", 
     "channel": "#channel-it-will-post-to", 
     "configuration_url": "https://teamname.slack.com/services/BXXXXX" 
    }, 
    "bot":{ 
     "bot_user_id":"UTTTTTTTTTTR", 
     "bot_access_token":"xoxb-XXXXXXXXXXXX-TTTTTTTTTTTTTT" 
    } 
}