2017-01-16 1 views
0

Я пытаюсь создать новый канал с помощью слабину апи 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); 
    }) 
}); 

Если я погрешность пожалуйста, дайте мне знать. Я начал изучать слабый апи.

ответ

2

Причина, по которой вы получаете user_is_bot, что channels.join не может быть использована пользователем-ботом. Как говорится в документации по этому методу:

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

Чтобы создать канал, который вы хотите использовать channels.create. Однако этот метод также не может использоваться пользователем бота.

Общим решением является использование полного access_token, а не bot_access_token, что ваше приложение Slack, полученное от Slack, после установки его с помощью OAuth для всех методов, которые пользователи бота не могут использовать, например. создавая новый канал.

Вот пример из 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" 
    } 
} 
Смежные вопросы