fix: sms carrier config, add google carrier (#44)

This commit is contained in:
admon84
2020-09-18 19:39:30 -06:00
committed by GitHub
parent d73449dd7f
commit 971fec20e4
5 changed files with 13 additions and 12 deletions
+1 -1
View File
@@ -7,4 +7,4 @@ SLACK_CHANNEL="SlackChannelName"
SLACK_TOKEN="slack-token"
STORES="bestbuy,bandh,nvidia"
PHONE_NUMBER="1234567890"
CARRIER="tmobile"
PHONE_CARRIER="tmobile"
+1 -1
View File
@@ -69,7 +69,7 @@ First, you're going to need to copy the `.env.example` to `.env`. The current op
| `NOTIFICATION_TEST` | Test all the notifications configured; optional, default: `false` |
| `PAGE_TIMEOUT` | Navigation Timeout in milliseconds (`0` for infinite); optional, default: `30000` |
| `PHONE_NUMBER` | 10 digit phone number, only USA, SMS may apply (e.g., `1234567890`); optional, email configuration required |
| `PHONE_CARRIER` | Service provider for SMS, supports `["sprint", "tmobile", "att", "verizon"]`; optional, email configuration required |
| `PHONE_CARRIER` | Service provider for SMS, supports `["sprint", "tmobile", "att", "verizon", "google"]`; optional, email configuration required |
| `RATE_LIMIT_TIMEOUT` | Rate limit timeout for each full store cycle; optional, default: `5000` |
| `SLACK_CHANNEL` | Slack channel for posting (e.g., `update`); optional |
| `SLACK_TOKEN` | Slack API token; optional
+1 -1
View File
@@ -9,7 +9,7 @@ const notifications = {
password: process.env.EMAIL_PASSWORD ?? ''
},
phone: {
availableCarriers: ['sprint', 'verizon', 'tmobile', 'att'],
availableCarriers: ['sprint', 'verizon', 'tmobile', 'att', 'google'],
carrier: process.env.PHONE_CARRIER,
number: process.env.PHONE_NUMBER
},
+3 -2
View File
@@ -12,8 +12,9 @@ export default function sendNotification(cartUrl: string) {
sendSlaskMessage(cartUrl);
}
if (Config.notifications.phone.number && Config.notifications.phone.carrier) {
if (Config.notifications.phone.availableCarriers.includes(Config.notifications.phone.carrier.toLowerCase())) {
if (Config.notifications.phone.number) {
const carrier = Config.notifications.phone.carrier?.toLowerCase();
if (carrier && Config.notifications.phone.availableCarriers.includes(carrier)) {
sendSMS(cartUrl);
}
}
+7 -7
View File
@@ -9,7 +9,8 @@ enum carrierAddress {
sprint = 'messaging.sprintpcs.com',
verizon = 'vtext.com',
tmobile = 'tmomail.net',
att = 'txt.att.net'
att = 'txt.att.net',
google = 'msg.fi.google.com'
}
const transporter = nodemailer.createTransport({
@@ -34,16 +35,15 @@ export default function sendSMS(text: string) {
Logger.error(error);
} else {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
Logger.info(`email sent: ${info.response}`);
Logger.info(`sms sent: ${info.response}`);
}
});
}
function generateAddress() {
for (const carrier of Object.keys(carrierAddress)) {
if (Config.notifications.phone.carrier && carrier === Config.notifications.phone.carrier.toLowerCase()) {
// @ts-expect-error
return [Config.phone.number, carrierAddress[carrier]].join('@');
}
const carrier = Config.notifications.phone.carrier?.toLowerCase();
if (carrier && Object.keys(carrierAddress).includes(carrier)) {
// @ts-expect-error
return [Config.notifications.phone.number, carrierAddress[carrier]].join('@');
}
}