2017-03-10 12 views
3

私はチュートリアルのここにあるhttps://slackapi.github.io/node-slack-sdk/bots#posting-a-messageに従っています。なぜこのチュートリアルコードの部分がうまく機能しないのか不安です。私はこの問題は、確かに、コードの最後の3行から来て、チュートリアルのコードの最初の部分が働いているのでSlack RTM apiでメッセージを投稿する

var RtmClient = require('@slack/client').RtmClient; 
var RTM_CLIENT_EVENTS = require('@slack/client').CLIENT_EVENTS.RTM; 

var bot_token = process.env.SLACK_BOT_TOKEN || ''; //I know the problem is not here. 

var rtm = new RtmClient(bot_token); 
rtm.start(); 

var channel = "#general"; //could also be a channel, group, DM, or user ID (C1234), or a username (@don) 

// you need to wait for the client to fully connect before you can send messages 
rtm.on(RTM_CLIENT_EVENTS.RTM_CONNECTION_OPENED, function() { 
    rtm.sendMessage("Hello!", channel); 
}); 

未満であるこのセクションからコードをコピーして貼り付けます。おそらくそのイベントの問題。私のエラーメッセージは

Unhandled rejection Error 
    at RTMClient.handleMessageAck [as _handleMessageAck] (/Users/mg/projects/slack_projects/games/s 
lack_connect_four/node_modules/@slack/client/lib/clients/rtm/client.js:496:40) 
    at RTMClient._handleWsMessageViaEventHandler (/Users/mg/projects/slack_projects/games/slack_con 
nect_four/node_modules/@slack/client/lib/clients/rtm/client.js:459:12) 
    at RTMClient.handleWsMessage (/Users/mg/projects/slack_projects/games/slack_connect_four/node_m 
odules/@slack/client/lib/clients/rtm/client.js:419:10) 
    at WebSocket.wrapper (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/l 
odash/lodash.js:4968:19) 
    at emitTwo (events.js:106:13) 
    at WebSocket.emit (events.js:191:7) 
    at Receiver.ontext (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/ws/ 
lib/WebSocket.js:841:10) 
    at /Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/ws/lib/Receiver.js:5 
36:18 
    at Receiver.applyExtensions (/Users/mg/projects/slack_projects/games/slack_connect_four/node_mo 
dules/ws/lib/Receiver.js:371:5) 
    at /Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/ws/lib/Receiver.js:5 
08:14 
    at Receiver.flush (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/ws/l 
ib/Receiver.js:347:3) at Receiver.finish (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/ws/ 
lib/Receiver.js:541:12) 
    at Receiver.expectHandler (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modu 
les/ws/lib/Receiver.js:499:31) 
    at Receiver.add (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modules/ws/lib 
/Receiver.js:103:24) 
    at TLSSocket.realHandler (/Users/mg/projects/slack_projects/games/slack_connect_four/node_modul 
es/ws/lib/WebSocket.js:825:20) 
    at emitOne (events.js:96:13) 

本当にありがとうございます。

+1

実現この問題に直面しています。https://github.com/slackapi/node-slack-sdk/issues/251 https://github.com/slackapi/node-slack-sdk/ issues/300#issuecomment-266804306 – MattGoldwater

答えて

0

あなたのボットはまだ#generalチャンネルに参加していない可能性があります。彼を最初にチャンネルに招待してください。

0

この投稿は古いかもしれませんが、このエラーで私の経験を共有したいと思います。私もこのコードをテストしていましたが、プライベートチャンネルを使用していました。ボットがすでにチャンネルのメンバーであったとしても、このエラーがスローされます。それから私は公共のチャンネルを使ってみました。私はこれが役立つことを願っています

関連する問題