diff --git a/baileys-server/main.js b/baileys-server/main.js index f998a88..be78754 100644 --- a/baileys-server/main.js +++ b/baileys-server/main.js @@ -6,8 +6,11 @@ import { makeCacheableSignalKeyStore, makeInMemoryStore, useMultiFileAuthState, + downloadMediaMessage } from '@whiskeysockets/baileys' +import { writeFile } from 'fs/promises' + import NodeCache from 'node-cache' import P from 'pino' @@ -74,11 +77,34 @@ const startSock = async () => { } }) - sock.ev.on('messages.upsert', (upsert) => { + sock.ev.on('messages.upsert', async (upsert) => { console.log('收到消息:', JSON.stringify(upsert, undefined, 2)) if (upsert.type === 'notify') { for (const msg of upsert.messages) { + + const messageType = Object.keys(msg.message)[0] + + console.log('messageType', messageType) + if (messageType === 'imageMessage') { + // download the message + const buffer = await downloadMediaMessage( + msg, + 'buffer', + { }, + { + logger, + // pass this so that baileys can request a reupload of media + // that has been deleted + reuploadRequest: sock.updateMediaMessage + } + ) + // save to file + await writeFile('d:/my-download.jpeg', buffer) + + console.log('writeFile', messageType) + } + if (msg.message?.conversation || msg.message?.extendedTextMessage?.text) { const text = msg.message?.conversation || msg.message?.extendedTextMessage?.text