Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12a9cf122f | ||
|
|
48e851fd05 | ||
|
|
ae256da596 | ||
|
|
92e2ea2337 | ||
|
|
438e674eff | ||
|
|
5b74cf2dc5 | ||
|
|
4f5d937265 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -7,4 +7,5 @@ node_modules/
|
||||
cookies.txt
|
||||
bin/
|
||||
mychats.txt
|
||||
manybot.conf
|
||||
manybot.conf
|
||||
update.log
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "whatsapp-bot",
|
||||
"version": "2.3.2",
|
||||
"version": "2.3.5",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "whatsapp-bot",
|
||||
"version": "2.3.2",
|
||||
"version": "2.3.5",
|
||||
"dependencies": {
|
||||
"node-addon-api": "^7",
|
||||
"node-gyp": "^12.2.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "manybot",
|
||||
"version": "2.3.2",
|
||||
"version": "2.3.5",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"node-addon-api": "^7",
|
||||
|
||||
@@ -16,7 +16,15 @@ logger.info(isTermux
|
||||
// ── Instância ─────────────────────────────────────────────────
|
||||
export const client = new Client({
|
||||
authStrategy: new LocalAuth({ clientId: CLIENT_ID }),
|
||||
puppeteer: { headless: true, ...resolvePuppeteerConfig() },
|
||||
puppeteer: {
|
||||
headless: true,
|
||||
args: [
|
||||
'--no-sandbox',
|
||||
'--disable-setuid-sandbox',
|
||||
...(resolvePuppeteerConfig().args || [])
|
||||
],
|
||||
...resolvePuppeteerConfig()
|
||||
},
|
||||
});
|
||||
|
||||
// ── Eventos ───────────────────────────────────────────────────
|
||||
|
||||
@@ -21,7 +21,7 @@ const DOWNLOADS_DIR = path.resolve("downloads");
|
||||
const FFMPEG = os.platform() === "win32" ? ".\\bin\\ffmpeg.exe" : "./bin/ffmpeg";
|
||||
const MAX_STICKER_SIZE = 900 * 1024;
|
||||
const SESSION_TIMEOUT = 2 * 60 * 1000;
|
||||
const MAX_MEDIA = 10;
|
||||
const MAX_MEDIA = 30;
|
||||
|
||||
// ── Helpers ───────────────────────────────────────────────────
|
||||
function ensureDownloadsDir() {
|
||||
|
||||
@@ -1,32 +1,62 @@
|
||||
import fs from "fs";
|
||||
|
||||
function parseValue(v) {
|
||||
v = v.trim();
|
||||
function parseConf(raw) {
|
||||
// Remove comentários inline e de linha inteira, preservando estrutura
|
||||
const lines = raw.split("\n");
|
||||
|
||||
// lista: [a, b, c]
|
||||
if (v.startsWith("[") && v.endsWith("]")) {
|
||||
return v
|
||||
.slice(1, -1)
|
||||
.split(",")
|
||||
.map(x => x.trim())
|
||||
.filter(Boolean);
|
||||
const cleaned = [];
|
||||
let insideList = false;
|
||||
let buffer = "";
|
||||
|
||||
for (let line of lines) {
|
||||
// Remove comentário inline (# ...) — mas só fora de strings
|
||||
line = line.replace(/#.*$/, "").trim();
|
||||
if (!line) continue;
|
||||
|
||||
if (!insideList) {
|
||||
if (line.includes("=[") && !line.includes("]")) {
|
||||
// Início de lista multilinha
|
||||
insideList = true;
|
||||
buffer = line;
|
||||
} else {
|
||||
cleaned.push(line);
|
||||
}
|
||||
} else {
|
||||
buffer += line;
|
||||
if (line.includes("]")) {
|
||||
// Fim da lista
|
||||
insideList = false;
|
||||
cleaned.push(buffer);
|
||||
buffer = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return v;
|
||||
// Parseia cada linha chave=valor
|
||||
const result = {};
|
||||
for (const line of cleaned) {
|
||||
const eqIdx = line.indexOf("=");
|
||||
if (eqIdx === -1) continue;
|
||||
|
||||
const key = line.slice(0, eqIdx).trim();
|
||||
const raw = line.slice(eqIdx + 1).trim();
|
||||
|
||||
if (raw.startsWith("[") && raw.endsWith("]")) {
|
||||
result[key] = raw
|
||||
.slice(1, -1)
|
||||
.split(",")
|
||||
.map(x => x.trim())
|
||||
.filter(Boolean);
|
||||
} else {
|
||||
result[key] = raw;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
const raw = fs.readFileSync("manybot.conf", "utf8");
|
||||
|
||||
const config = Object.fromEntries(
|
||||
raw
|
||||
.split("\n")
|
||||
.map(l => l.trim())
|
||||
.filter(l => l && !l.startsWith("#"))
|
||||
.map(l => {
|
||||
const [k, ...v] = l.split("=");
|
||||
return [k.trim(), parseValue(v.join("="))];
|
||||
})
|
||||
);
|
||||
const config = parseConf(raw);
|
||||
|
||||
export const CLIENT_ID = config.CLIENT_ID ?? "bot_permanente";
|
||||
export const BOT_PREFIX = config.BOT_PREFIX ?? "🤖 *ManyBot:* ";
|
||||
|
||||
Reference in New Issue
Block a user