refactor: split telegram.ts into seperate files
This commit is contained in:
@@ -107,3 +107,24 @@ export function parseRating(rating: string | number) {
|
||||
}
|
||||
return rating;
|
||||
}
|
||||
|
||||
export async function convertOggToMp3(
|
||||
oggData: ArrayBuffer,
|
||||
): Promise<Uint8Array> {
|
||||
const ffmpeg = new Deno.Command("ffmpeg", {
|
||||
args: ["-f", "ogg", "-i", "pipe:0", "-f", "mp3", "pipe:1"],
|
||||
stdin: "piped",
|
||||
stdout: "piped",
|
||||
stderr: "null",
|
||||
});
|
||||
|
||||
const process = ffmpeg.spawn();
|
||||
const writer = process.stdin.getWriter();
|
||||
await writer.write(new Uint8Array(oggData));
|
||||
await writer.close();
|
||||
|
||||
const output = await process.output();
|
||||
const { code } = await process.status;
|
||||
if (code !== 0) throw new Error(`FFmpeg exited with code ${code}`);
|
||||
return output.stdout;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user