88// xBytez | me@xbytez.io //
99//////////////////////////////////////////////////////
1010
11- // Dependencies
12- var webSocket = require ( 'ws' ) ;
13- var request = require ( 'request' ) ;
14- var logger = require ( 'jethro' ) ;
15- var util = require ( 'util' ) ;
16- var EventEmitter = require ( 'eventemitter3' ) ;
17-
18- // Events and errors
19- var events = {
20- hello : 'hello' ,
21- message : 'message' ,
22- channel_marked : 'channel_marked' ,
23- channel_created : 'channel_created' ,
24- channel_joined : 'channel_joined' ,
25- channel_left : 'channel_left' ,
26- channel_deleted : 'channel_deleted' ,
27- channel_rename : 'channel_rename' ,
28- channel_archive : 'channel_archive' ,
29- channel_unarchive : 'channel_unarchive' ,
30- channel_history_changed : 'channel_history_changed' ,
31- im_created : 'im_created' ,
32- im_open : 'im_open' ,
33- im_close : 'im_close' ,
34- im_marked : 'im_marked' ,
35- im_history_changed : 'im_history_changed' ,
36- group_joined : 'group_joined' ,
37- group_left : 'group_left' ,
38- group_open : 'group_open' ,
39- group_close : 'group_close' ,
40- group_archive : 'group_archive' ,
41- group_unarchive : 'group_unarchive' ,
42- group_rename : 'group_rename' ,
43- group_marked : 'group_marked' ,
44- group_history_changed : 'group_history_changed' ,
45- file_created : 'file_created' ,
46- file_shared : 'file_shared' ,
47- file_unshared : 'file_unshared' ,
48- file_public : 'file_public' ,
49- file_private : 'file_private' ,
50- file_change : 'file_change' ,
51- file_deleted : 'file_deleted' ,
52- file_comment_added : 'file_comment_added' ,
53- file_comment_edited : 'file_comment_edited' ,
54- file_comment_deleted : 'file_comment_deleted' ,
55- pong : 'pong' ,
56- pin_added : 'pin_added' ,
57- pin_removed : 'pin_removed' ,
58- presence_change : 'presence_change' ,
59- manual_presence_change : 'manual_presence_change' ,
60- mpim_joined : 'mpim_joined' ,
61- pref_change : 'pref_change' ,
62- user_change : 'user_change' ,
63- user_typing : 'user_typing' ,
64- team_join : 'team_join' ,
65- team_migration_started : 'team_migration_started' ,
66- star_added : 'star_added' ,
67- star_removed : 'star_removed' ,
68- emoji_changed : 'emoji_changed' ,
69- commands_changed : 'commands_changed' ,
70- team_plan_change : 'team_plan_change' ,
71- team_pref_change : 'team_pref_change' ,
72- team_rename : 'team_rename' ,
73- team_domain_change : 'team_domain_change' ,
74- email_domain_changed : 'email_domain_changed' ,
75- bot_added : 'bot_added' ,
76- bot_changed : 'bot_changed' ,
77- accounts_changed : 'accounts_changed' ,
78- reaction_added : 'reaction_added' ,
79- reaction_removed : 'reaction_removed' ,
80- subteam_created : 'subteam_created' ,
81- subteam_updated : 'subteam_updated' ,
82- subteam_self_added : 'subteam_self_added' ,
83- subteam_self_removed : 'subteam_self_removed' ,
84- team_profile_change : 'team_profile_change' ,
85- team_profile_delete : 'team_profile_delete' ,
86- team_profile_reorder : 'team_profile_reorder' ,
87- dnd_updated : 'dnd_updated' ,
88- dnd_updated_user : 'dnd_updated_user'
89- } ;
11+ // Node dependencies
12+ var eventEmitter = require ( 'eventemitter3' ) ;
13+ var logger = require ( 'jethro' ) ;
14+ var request = require ( 'request' ) ;
15+ var util = require ( 'util' ) ;
16+ var webSocket = require ( 'ws' ) ;
9017
91- var errors = {
92- object_arg_required : 'Invalid arguments! Please provide an object with settings.' ,
93- boolean_arg_required : 'Invalid arguments! Please provide a valid boolean for logging.' ,
94- invalid_token : 'Invalid arguments! Please provide a valid auth token.' ,
95- send_args_required : 'Send: No arguments specified!' ,
96- data_type_undefined : 'data.type not defined'
97- } ;
18+ // File dependencies
19+ var errors = require ( './errors.json' ) ;
20+ var events = require ( './events.json' ) ;
9821
9922/**
10023 * Spawn the API
@@ -162,7 +85,7 @@ function slackAPI(args, err_cb) {
16285 } ) ;
16386}
16487
165- util . inherits ( slackAPI , EventEmitter ) ;
88+ util . inherits ( slackAPI , eventEmitter ) ;
16689
16790// Protoypes
16891
@@ -181,7 +104,7 @@ slackAPI.prototype.reqAPI = function (method, data, callback) {
181104 }
182105
183106 request . post ( 'https://slack.com/api/' + method , function ( error , response , body ) {
184- if ( ! error && response . statusCode == 200 ) {
107+ if ( ! error && response . statusCode === 200 ) {
185108 if ( ! callback ) {
186109 return JSON . parse ( body ) ;
187110 } else {
@@ -242,7 +165,6 @@ slackAPI.prototype.connectSlack = function (wsurl, cb) {
242165 self . ws . on ( 'open' , function ( ) {
243166 self . out ( 'transport' , 'Connected as ' + self . slackData . self . name + ' [' + self . slackData . self . id + '].' ) ;
244167 self . emit ( 'open' ) ;
245-
246168 } ) . on ( 'close' , function ( data ) {
247169 self . out ( 'warning' , 'Disconnected. Error: ' + data ) ;
248170 self . emit ( 'close' , data ) ;
@@ -265,7 +187,6 @@ slackAPI.prototype.connectSlack = function (wsurl, cb) {
265187 } ) ;
266188 } ) ;
267189 }
268-
269190 } ) . on ( 'error' , function ( data ) {
270191 self . out ( 'error' , 'Error. Error: ' + data ) ;
271192 self . emit ( 'error' , data ) ;
@@ -279,7 +200,7 @@ slackAPI.prototype.connectSlack = function (wsurl, cb) {
279200 var messageData = data ; // allow cb() to run when user.list refreshes
280201 self . reqAPI ( 'users.list' , messageData , function ( data ) {
281202 self . slackData . users = data . members ;
282- cb ( null , messageData ) ;
203+ return cb ( null , messageData ) ;
283204 } ) ;
284205 } else if ( data . type === 'presence_change' ) {
285206 // update slackData presence when user becomes active/inactive
@@ -289,12 +210,12 @@ slackAPI.prototype.connectSlack = function (wsurl, cb) {
289210 break ;
290211 }
291212 }
292- cb ( null , data ) ;
213+ return cb ( null , data ) ;
293214 } else if ( typeof events [ data . type ] !== 'undefined' ) {
294- cb ( null , data ) ;
215+ return cb ( null , data ) ;
295216 }
296217 } else {
297- cb ( new Error ( errors . data_type_undefined ) , data ) ;
218+ return cb ( new Error ( errors . data_type_undefined ) , data ) ;
298219 }
299220 } ) ;
300221} ;
0 commit comments