From 0daab87d7f01e2f1f9cad03a4758861eb1af4b87 Mon Sep 17 00:00:00 2001 From: Naif Alharbi <90088476+Alhar6i@users.noreply.github.com> Date: Sun, 5 Jun 2022 14:50:16 +0300 Subject: [PATCH] Fix status@broadcast file name (#1696) user-multi-file-auth-state fails to write/read status@broadcast files because they have a colon. To fix it, we replaced the colon with a dash. This might solve the issues below https://github.com/adiwajshing/Baileys/issues/1589#issue-1229804957 https://github.com/adiwajshing/Baileys/issues/1693#issue-1260676356 --- src/Utils/use-multi-file-auth-state.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Utils/use-multi-file-auth-state.ts b/src/Utils/use-multi-file-auth-state.ts index 127d8dc..1776165 100644 --- a/src/Utils/use-multi-file-auth-state.ts +++ b/src/Utils/use-multi-file-auth-state.ts @@ -15,12 +15,12 @@ import { BufferJSON } from './generics' export const useMultiFileAuthState = async(folder: string): Promise<{ state: AuthenticationState, saveCreds: () => Promise }> => { const writeData = (data: any, file: string) => { - return writeFile(join(folder, file), JSON.stringify(data, BufferJSON.replacer)) + return writeFile(join(folder, fixFileName(file)), JSON.stringify(data, BufferJSON.replacer)) } const readData = async(file: string) => { try { - const data = await readFile(join(folder, file), { encoding: 'utf-8' }) + const data = await readFile(join(folder, fixFileName(file)), { encoding: 'utf-8' }) return JSON.parse(data, BufferJSON.reviver) } catch(error) { return null @@ -29,7 +29,7 @@ export const useMultiFileAuthState = async(folder: string): Promise<{ state: Aut const removeData = async(file: string) => { try { - await unlink(file) + await unlink(fixFileName(file)) } catch{ } @@ -44,6 +44,15 @@ export const useMultiFileAuthState = async(folder: string): Promise<{ state: Aut await mkdir(folder, { recursive: true }) } + const fixFileName = (file) =>{ + if(file){ + return file.replace(/:/g, '-'); + } + else { + return file + } + } + const creds: AuthenticationCreds = await readData('creds.json') || initAuthCreds() return {