2016-07-17 6 views
0

新しい対話型ボタンの1つを作成するボットを作成する必要があります。私はパスポートスラックをAPIに接続するために使用し、slackbotsモジュールを使用してメッセージを投稿しました。私が抱えている問題は、パスポートを使ってOAuthトークンを作成するときのスコープ権限です。 slackbotsモジュールはrtm.startメソッドhereを使用していますが、この方法ではスコープのアクセス許可を 'bot'ではなく 'client'にする必要があります。 'クライアント'のスコープではすべて動作しますが、ポストは認証されたボットではないユーザーとして表示されます。 'bot'権限はボットとして投稿できますが、両方の権限を同時に使用することはできません。私はこれらのモジュールが互換性がなく、slackbots以外の別のものを使う必要があるかもしれないと思っています。あるいは、私がここで欠けているものがあります。passport-slackとslackbotsモジュールを使用して対話型ボタンボットを作成する

passport.use(new SlackStrategy({ 
     clientID: clientID, 
     clientSecret: clientSecret, 
     callbackURL: callbackURL, 
     scope: 'client', 
     passReqToCallback : true 
    }, 
    function(req, token, refreshToken, profile, done) { 
... 

答えて

0

Passportで提供されているaccessTokenを使用しているとき、私は範囲の許可の問題を抱えていました。私はコールバックにのparamsパラメータを追加し、代わりにparams.bot.bot_access_tokenを使用しているために働い何

希望すると便利です。

passport.use('slack', new slackStrategy({ 
    clientID: process.env.SLACK_CLIENT_ID, 
    clientSecret: process.env.SLACK_CLIENT_SECRET, 
    skipUserProfile: true, 
    scope: ['bot'] 
}, function(accessToken, refreshToken, params, profile, done) { 
    # params.bot.bot_access_token is used to authenticate rtm.start 
    return done(null, {}); 
})); 
関連する問題