diff --git a/src/common/audio.ts b/src/common/audio.ts index 4dd82afd..388c0cfd 100644 --- a/src/common/audio.ts +++ b/src/common/audio.ts @@ -40,12 +40,14 @@ async function convert(filePath: string, pcmPath: string, logger: LogWrapper): P }); } -async function handleWavFile(file: Buffer, filePath: string, pcmPath: string, logger: LogWrapper): Promise { +async function handleWavFile( + file: Buffer, filePath: string, pcmPath: string, logger: LogWrapper +): Promise<{input: Buffer, sampleRate: number}> { const { fmt } = getWavFileInfo(file); if (!ALLOW_SAMPLE_RATE.includes(fmt.sampleRate)) { - return await convert(filePath, pcmPath, logger); + return {input: await convert(filePath, pcmPath, logger), sampleRate: 24000}; } - return file; + return {input: file, sampleRate: fmt.sampleRate}; } export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: LogWrapper) { @@ -55,8 +57,10 @@ export async function encodeSilk(filePath: string, TEMP_DIR: string, logger: Log if (!isSilk(file)) { logger.log(`语音文件${filePath}需要转换成silk`); const pcmPath = `${pttPath}.pcm`; - const input = isWav(file) ? await handleWavFile(file, filePath, pcmPath, logger) : await convert(filePath, pcmPath, logger); - const silk = await encode(input, 24000); + const { input, sampleRate } = isWav(file) + ? (await handleWavFile(file, filePath, pcmPath, logger)) + : {input: await convert(filePath, pcmPath, logger), sampleRate: 24000}; + const silk = await encode(input, sampleRate); await fsPromise.writeFile(pttPath, silk.data); logger.log(`语音文件${filePath}转换成功!`, pttPath, '时长:', silk.duration); return { diff --git a/src/onebot/api/msg.ts b/src/onebot/api/msg.ts index 826e1d00..7cfff9d5 100644 --- a/src/onebot/api/msg.ts +++ b/src/onebot/api/msg.ts @@ -466,7 +466,6 @@ export class OneBotMsgApi { sendMsg.data.summary, sendMsg.data.sub_type, ); - context.deleteAfterSentFiles.push(sendPicElement.picElement.sourcePath); return sendPicElement; }, diff --git a/src/onebot/api/quick-action.ts b/src/onebot/api/quick-action.ts index 6ba910fb..6434b26f 100644 --- a/src/onebot/api/quick-action.ts +++ b/src/onebot/api/quick-action.ts @@ -47,7 +47,7 @@ export class OneBotQuickActionApi { const peerContextMode = msg.message_type == 'private' ? ContextMode.Private : ContextMode.Group; const peer: Peer = await createContext(this.core, { - message: "", + message_type: undefined, group_id: msg.group_id?.toString(), user_id: msg.user_id?.toString(), }, peerContextMode);