나는 헐렁한 봇에서 일하고 있으며, 궁금한 문제가 있습니다. 웹 페이지를 phantomJS (SpookyJS & CasperJS를 통해)를 사용하여 긁어내는 모듈이 있습니다. 필자는이 모듈을 작성하고 수동으로 명령 줄에서 실행하여 테스트했습니다. 잘 작동한다. 그런 다음 슬랙 실시간 API를 추상화하고 보트 클래스로 모듈을 생성 한 slackbots
npm 모듈을 추가했습니다. 이 봇 모듈은 코드 (phantomJS)를 긁어 내 모듈이 필요합니다 및 메시지 이벤트가 트리거 할 때 그 함수를 호출WebSocket 연결이 열려있는 동안 PhantomJS가 시작되지 않습니다.
var getAnswer = require('./getAnswer');
myBot.prototype._onMessage = function (message) {
if (this._isChatMessage(message) &&
this._isChannelConversation(message) &&
this._isMentioningMe(message)) {
this._reply(message);
}
};
this._reply
을 기본적으로 그냥 getAnswer(originalMessage.text)
하고 다음 self.postMessageToChannel(channel.name, reply, {as_user: true});
getAnswer는 약속을 반환 호출하지만 그것은 결코 성취되지 얻을 . 나는 CasperJS이 verbose
될 만들어 내가이 문제를 해결하는 방법, 아무 생각
...
[info] [phantom] Starting...
모든 것이 중단 후 아무 변화가 없다고 보았다. 나는 Bot.prototype.run
이라고 부를 때 slackbots
모듈이 websocket 연결을 설정했기 때문이라고 생각한다. 어떤 제안?
아마 포트와 관련이 있습니까? 어쩌면 nodejs가 사용할 수있는 포트가 하나 뿐이므로 한 번에 두 개의 연결을 열 수 없습니까? – dKab