mirror of
https://github.com/opelly27/streetmerchant.git
synced 2026-05-20 05:17:35 +00:00
d1a5aa1f02
Co-authored-by: Jef LeCompte <jeffreylec@gmail.com>
70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
import {resolve} from 'path';
|
|
import {config} from 'dotenv';
|
|
|
|
config({path: resolve(__dirname, '../.env')});
|
|
|
|
const notifications = {
|
|
email: {
|
|
username: process.env.EMAIL_USERNAME ?? '',
|
|
password: process.env.EMAIL_PASSWORD ?? ''
|
|
},
|
|
phone: {
|
|
availableCarriers: new Map([
|
|
['att', 'txt.att.net'],
|
|
['google', 'msg.fi.google.com'],
|
|
['mint', 'mailmymobile.net'],
|
|
['sprint', 'messaging.sprintpcs.com'],
|
|
['telus', 'msg.telus.com'],
|
|
['tmobile', 'tmomail.net'],
|
|
['verizon', 'vtext.com']
|
|
]),
|
|
carrier: process.env.PHONE_CARRIER ?? '',
|
|
number: process.env.PHONE_NUMBER ?? ''
|
|
},
|
|
playSound: process.env.PLAY_SOUND ?? '',
|
|
pushover: {
|
|
token: process.env.PUSHOVER_TOKEN ?? '',
|
|
user: process.env.PUSHOVER_USER ?? ''
|
|
},
|
|
slack: {
|
|
channel: process.env.SLACK_CHANNEL ?? '',
|
|
token: process.env.SLACK_TOKEN ?? ''
|
|
},
|
|
telegram: {
|
|
accessToken: process.env.TELEGRAM_ACCESS_TOKEN ?? '',
|
|
chatId: process.env.TELEGRAM_CHAT_ID ?? ''
|
|
},
|
|
test: process.env.NOTIFICATION_TEST === 'true'
|
|
};
|
|
|
|
const page = {
|
|
capture: process.env.SCREENSHOT === 'true',
|
|
width: 1920,
|
|
height: 1080,
|
|
navigationTimeout: Number(process.env.PAGE_TIMEOUT) ?? 30000,
|
|
userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
|
|
};
|
|
|
|
const rateLimitTimeout = Number(process.env.RATE_LIMIT_TIMEOUT) ?? 5000;
|
|
|
|
const stores = process.env.STORES ? process.env.STORES.split(',') : ['nvidia'];
|
|
|
|
const openBrowser = process.env.OPEN_BROWSER === 'true';
|
|
|
|
const isHeadless = process.env.HEADLESS === 'true';
|
|
|
|
const showOnlyBrands = process.env.SHOW_ONLY_BRANDS ? process.env.SHOW_ONLY_BRANDS.split(',') : [];
|
|
|
|
const logLevel = process.env.LOG_LEVEL ?? 'info';
|
|
|
|
export const Config = {
|
|
isHeadless,
|
|
logLevel,
|
|
notifications,
|
|
openBrowser,
|
|
page,
|
|
rateLimitTimeout,
|
|
showOnlyBrands,
|
|
stores
|
|
};
|