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
This commit is contained in:
Naif Alharbi
2022-06-05 14:50:16 +03:00
committed by GitHub
parent b78ffe029a
commit 0daab87d7f

View File

@@ -15,12 +15,12 @@ import { BufferJSON } from './generics'
export const useMultiFileAuthState = async(folder: string): Promise<{ state: AuthenticationState, saveCreds: () => Promise<void> }> => {
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 {