This repository was archived by the owner on Jul 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathsendSMS.js
More file actions
66 lines (58 loc) · 2.05 KB
/
sendSMS.js
File metadata and controls
66 lines (58 loc) · 2.05 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
/*Copyright 2018 IBM Corp. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// called after "msgTranslated trigger is fired
function main(params) {
// get twilioSid and twilioAuthToken from
// https://www.twilio.com/console
const twilioClient = require('twilio')(params.twilioSid, params.twilioAuthToken)
var redis = require('redis')
const bluebird = require('bluebird')
var cursor = '0'
bluebird.promisifyAll(redis.RedisClient.prototype);
var redisConfig = {
user: params.redisUsername,
password: params.redisPassword,
host: params.redisHost,
port: params.redisPort
}
const redisClient = redis.createClient(redisConfig)
function sendSMS(recipient) {
twilioClient.messages.create({
to: recipient,
from: params.twilioNumber,
body: params.payload,
}, function(err, message) {
if (err) {
console.log('error:', err);
}
else {
console.log(message);
}
})
}
// loop through all SMS clients subscribed to given language, text translation result
redisClient.scanAsync(cursor, 'MATCH', params.language + ":*").then(
function (res) {
var keys = res[1]
for (key in keys) {
redisClient.getAsync(keys[key]).then(
function(number) {
if ((params.senderNumber) && (params.senderNumber == number)) {
console.log("skipping")
} else{
console.log("sending text to " + number)
sendSMS(number)
}
})
}
})
}