-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFunctions.js
More file actions
91 lines (88 loc) · 2.31 KB
/
Functions.js
File metadata and controls
91 lines (88 loc) · 2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//---functions---//
//post message
function sendMessage(channel,msg){
return new Promise(function(resolve,reject){
slack.api('chat.postMessage', {
text:msg,
channel:channel,
}, function(err, response){
if(err !=null)
reject(err);
else
resolve(response);
});
});
}
//get all messages
function getAllMessages(id){
return new Promise(function(resolve, reject){
slack.api('conversations.history', {
token: apiToken,
channel:id
},function (err, response) {
if(err !=null)
reject(err);
else
resolve(response);
});
});
}
//get all channels
function getAllChannels(){
return new Promise((function(resolve, reject){
slack.api('conversations.list', {
token: apiToken
},function (err, response) {
if(err !=null)
reject(err);
else
resolve(response);
});
}))
}
//serch massege
function searchMessage(msg){
return new Promise(function(resolve,reject){
slack.api('search.messages', {
token:apiToken,
query:msg
}, function(err, response){
if(err !=null)
reject(err);
else
resolve(response);
});
});
}
//---help functions to store response data---//
//all messages
function mapMessages(messages){
return messages.map(item => {
let message = {}
message['text'] = item.text
message['user id'] = item.user
message['time stamp']=item.ts
return message
});
}
//all channels
function mapChannels(channels) {
return channels.map(item => {
let channel = {}
channel['channel name'] = item.name
channel['channel id'] = item.id
return channel
});
}
//all matches messages to search
function mapMatches(messages){
return messages.matches.map(item => {
let message = {}
message['user name']=item.username,
message['text'] =item.text,
message['perma link']=item.permalink,
message['time stamp']=item.ts
return message
});
}
module.exports = {sendMessage,getAllMessages,getAllChannels,searchMessage,mapMessages,mapMatches,mapChannels}