Skip to content

Commit 49a6f66

Browse files
committed
Move events and errors to their own JSON files instead of in the lib itself.
Update events.json Make CodeClimate a bit happier. Update email. Remove index.js and change main to lib/index.js
1 parent 7af9893 commit 49a6f66

File tree

5 files changed

+101
-99
lines changed

5 files changed

+101
-99
lines changed

examples/example_bot.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var slack = new slackAPI({
2121
// Slack on EVENT message, send data.
2222
slack.on('message', function (data) {
2323
// If no text, return.
24-
if (typeof data.text == 'undefined') return;
24+
if (typeof data.text === 'undefined') return;
2525
// If someone says `cake!!` respond to their message with 'user OOH, CAKE!! :cake:'
2626
if (data.text === 'cake!!') slack.sendMsg(data.channel, '@' + slack.getUser(data.user).name + ' OOH, CAKE!! :cake:');
2727

@@ -31,7 +31,7 @@ slack.on('message', function (data) {
3131
var command = data.text.substring(1).split(' ');
3232

3333
// If command[2] is not undefined, use command[1] to have all arguments in command[1]
34-
if (typeof command[2] != 'undefined') {
34+
if (typeof command[2] !== 'undefined') {
3535
for (var i = 2; i < command.length; i++) {
3636
command[1] = command[1] + ' ' + command[i];
3737
}

lib/errors.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"object_arg_required": "Invalid arguments! Please provide an object with settings.",
3+
"boolean_arg_required": "Invalid arguments! Please provide a valid boolean for logging.",
4+
"invalid_token": "Invalid arguments! Please provide a valid auth token.",
5+
"send_args_required": "Send: No arguments specified!",
6+
"data_type_undefined": "data.type not defined"
7+
}

lib/events.json

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
{
2+
"accounts_changed": "accounts_changed",
3+
"bot_added": "bot_added",
4+
"bot_changed": "bot_changed",
5+
"channel_archive": "channel_archive",
6+
"channel_created": "channel_created",
7+
"channel_deleted": "channel_deleted",
8+
"channel_history_changed": "channel_history_changed",
9+
"channel_joined": "channel_joined",
10+
"channel_left": "channel_left",
11+
"channel_marked": "channel_marked",
12+
"channel_rename": "channel_rename",
13+
"channel_unarchive": "channel_unarchive",
14+
"commands_changed": "commands_changed",
15+
"dnd_updated": "dnd_updated",
16+
"dnd_updated_user": "dnd_updated_user",
17+
"email_domain_changed": "email_domain_changed",
18+
"emoji_changed": "emoji_changed",
19+
"file_change": "file_change",
20+
"file_comment_added": "file_comment_added",
21+
"file_comment_deleted": "file_comment_deleted",
22+
"file_comment_edited": "file_comment_edited",
23+
"file_created": "file_created",
24+
"file_deleted": "file_deleted",
25+
"file_private": "file_private",
26+
"file_public": "file_public",
27+
"file_shared": "file_shared",
28+
"file_unshared": "file_unshared",
29+
"group_archive": "group_archive",
30+
"group_close": "group_close",
31+
"group_history_changed": "group_history_changed",
32+
"group_joined": "group_joined",
33+
"group_left": "group_left",
34+
"group_marked": "group_marked",
35+
"group_open": "group_open",
36+
"group_rename": "group_rename",
37+
"group_unarchive": "group_unarchive",
38+
"hello": "hello",
39+
"im_close": "im_close",
40+
"im_created": "im_created",
41+
"im_history_changed": "im_history_changed",
42+
"im_marked": "im_marked",
43+
"im_open": "im_open",
44+
"manual_presence_change": "manual_presence_change",
45+
"message": "message",
46+
"mpim_close": "mpim_close",
47+
"mpim_history_changed": "mpim_history_changed",
48+
"mpim_joined": "mpim_joined",
49+
"mpim_open": "mpim_open",
50+
"pin_added": "pin_added",
51+
"pin_removed": "pin_removed",
52+
"pref_change": "pref_change",
53+
"presence_change": "presence_change",
54+
"reaction_added": "reaction_added",
55+
"reaction_removed": "reaction_removed",
56+
"reconnect_url": "reconnect_url",
57+
"star_added": "star_added",
58+
"star_removed": "star_removed",
59+
"subteam_created": "subteam_created",
60+
"subteam_self_added": "subteam_self_added",
61+
"subteam_self_removed": "subteam_self_removed",
62+
"subteam_updated": "subteam_updated",
63+
"team_domain_change": "team_domain_change",
64+
"team_join": "team_join",
65+
"team_migration_started": "team_migration_started",
66+
"team_plan_change": "team_plan_change",
67+
"team_pref_change": "team_pref_change",
68+
"team_profile_change": "team_profile_change",
69+
"team_profile_delete": "team_profile_delete",
70+
"team_profile_reorder": "team_profile_reorder",
71+
"team_rename": "team_rename",
72+
"user_change": "user_change",
73+
"user_typing": "user_typing"
74+
}

lib/rtm.js renamed to lib/index.js

Lines changed: 15 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -8,93 +8,16 @@
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
};

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "slackbotapi",
3-
"version": "1.3.7",
3+
"version": "1.3.8",
44
"description": "a node.js API using Slack their RTM API",
5-
"main": "index.js",
5+
"main": "lib/index.js",
66
"scripts": {
77
"test": "echo \"Error: no test specified\" && exit 1"
88
},
@@ -24,7 +24,7 @@
2424
"request": "^2.72.0",
2525
"ws": "^1.1.0"
2626
},
27-
"author": "xBytez <me@xbytez.eu>",
27+
"author": "xBytez <me@xbytez.io>",
2828
"contributors": [
2929
"Samuel Mills <spam.mills@hotmail.com>",
3030
"Igor Antun <igorantunc@hotmail.com>"

0 commit comments

Comments
 (0)