21 lines
817 B
JavaScript
21 lines
817 B
JavaScript
// config.js - Environment and constants
|
|||
|
|
const { existsSync, readFileSync } = require("fs");
|
||
|
|
const { resolve } = require("path");
|
||
|
|
|
||
|
|
const envPath = resolve(__dirname, ".env");
|
||
|
|
if (existsSync(envPath)) {
|
||
|
|
for (const line of readFileSync(envPath, "utf-8").split("\n")) {
|
||
|
|
const m = line.match(/^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.+?)\s*$/);
|
||
|
|
if (m && !process.env[m[1]]) process.env[m[1]] = m[2];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = {
|
||
|
|
TG_TOKEN: process.env.TG_BOT_TOKEN || "",
|
||
|
|
ALLOWED_IDS: (process.env.TG_ALLOWED_CHAT_IDS || "")
|
||
|
|
.split(",").map((s) => s.trim()).filter(Boolean).map(Number),
|
||
|
|
WRITE_PORT: parseInt(process.env.WRITE_PORT || "8016", 10),
|
||
|
|
CONTROL_PORT: parseInt(process.env.BOT_PORT || "8017", 10),
|
||
|
|
PREFER_IFACE: process.env.PREFER_IFACE || "WLAN",
|
||
|
|
WRITE_DIR: resolve(__dirname, "..", "write"),
|
||
|
|
};
|