whatsauto.js
Version:
Easy WhatsApp Automation with Session
46 lines (45 loc) • 1.4 kB
JavaScript
import path from "path";
import fs from "fs";
import { AutoWA } from "./AutoWA.js";
import { CREDENTIALS } from "../Defaults/index.js";
export * from "./AutoWA.js";
export const sessions = new Map();
export const session = (sessionId) => sessions.get(sessionId);
export const sessionsList = () => Array.from(sessions.keys());
export async function deleteSession(sessionId) {
const session = sessions.get(sessionId);
if (!session)
return false;
try {
await session.destroy(true);
return true;
}
catch (error) {
return false;
}
}
export async function deleteAllSessions() {
for (const sessionId of sessionsList()) {
await deleteSession(sessionId);
}
}
export async function loadSessionNames() {
const dir = path.resolve(CREDENTIALS.DIR_NAME);
if (!fs.existsSync(dir))
return [];
const files = fs.readdirSync(dir);
return files.map((file) => file.replace(CREDENTIALS.PREFIX, ""));
}
export async function loadSessions() {
const dir = path.resolve(CREDENTIALS.DIR_NAME);
if (!fs.existsSync(dir))
return;
const files = fs.readdirSync(dir);
for (const file of files) {
const sessionId = file.replace(CREDENTIALS.PREFIX, "");
const client = new AutoWA(sessionId);
await client.initialize();
sessions.set(sessionId, client);
}
}
export default AutoWA;