Adding multidevice whatsapp support

This commit is contained in:
Ricardo Araújo Paes
2022-08-19 08:36:36 -03:00
parent e13f93db3d
commit fbbecdc0b2
5 changed files with 28 additions and 11 deletions

12
.gitattributes vendored Executable file
View File

@@ -0,0 +1,12 @@
* text=auto
*.sh text eol=lf
Dockerfile eol=lf
docker-compose.yml eol=lf
docker-compose.*.yml eol=lf
*.jpg binary
*.png binary
*.gif binary
*.woff binary
*.tff binary
*.eot binary
*.otf binary

View File

@@ -2,4 +2,5 @@
*Dockerfile*
*docker-compose*
node_modules
dist
dist
.wwebjs_auth

2
backend/.gitignore vendored
View File

@@ -14,3 +14,5 @@ yarn-error.log
# Ignore test-related files
/coverage.data
/coverage/
.wwebjs_auth/

View File

@@ -42,14 +42,18 @@ export const initWbot = async (whatsapp: Whatsapp): Promise<Session> => {
if (whatsapp && whatsapp.session) {
sessionCfg = JSON.parse(whatsapp.session);
}
const wbot: Session = new Client({
const args:String = process.env.CHROME_ARGS || "";
const wbot: Session = new Client({
session: sessionCfg,
authStrategy: new LocalAuth({clientId: 'bd_'+whatsapp.id}),
puppeteer: {
args: ['--no-sandbox', '--disable-setuid-sandbox'],
executablePath: process.env.CHROME_BIN || undefined
},
puppeteer: {
executablePath: process.env.CHROME_BIN || undefined,
// @ts-ignore
browserWSEndpoint: process.env.CHROME_WS || undefined,
args: args.split(' ')
}
});
wbot.initialize();
@@ -73,9 +77,6 @@ export const initWbot = async (whatsapp: Whatsapp): Promise<Session> => {
wbot.on("authenticated", async session => {
logger.info(`Session: ${sessionName} AUTHENTICATED`);
// await whatsapp.update({
// session: JSON.stringify(session)
// });
});
wbot.on("auth_failure", async msg => {
@@ -151,4 +152,4 @@ export const removeWbot = (whatsappId: number): void => {
} catch (err) {
logger.error(err);
}
};
};

View File

@@ -24,6 +24,7 @@ services:
- ${BACKEND_PORT:-8080}:3000
volumes:
- ./backend/public/:/usr/src/app/public/
- ./backend/.wwebjs_auth/:/usr/src/app/.wwebjs_auth/
networks:
- whaticket