@songsid/agend 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -30,28 +30,40 @@ export async function processAttachments(msg, adapter, logger, logPrefix) {
|
|
|
30
30
|
text = `${tags}\n${text}`;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
// Transcribe voice/audio
|
|
33
|
+
// Transcribe voice/audio (with download fallback)
|
|
34
34
|
const voiceAttachment = msg.attachments?.find(a => a.kind === "voice" || a.kind === "audio");
|
|
35
35
|
if (voiceAttachment) {
|
|
36
|
+
let localPath;
|
|
37
|
+
try {
|
|
38
|
+
localPath = await adapter.downloadAttachment(voiceAttachment.fileId);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
logger.warn({ err: err.message }, "Audio download failed");
|
|
42
|
+
}
|
|
36
43
|
const groqKey = process.env.GROQ_API_KEY;
|
|
37
|
-
|
|
44
|
+
let transcribed = false;
|
|
45
|
+
if (localPath && groqKey) {
|
|
38
46
|
try {
|
|
39
|
-
const localPath = await adapter.downloadAttachment(voiceAttachment.fileId);
|
|
40
47
|
const result = await transcribe(localPath, groqKey);
|
|
48
|
+
text = text ? `${text}\n\n[Voice message] ${result.text}` : `[Voice message] ${result.text}`;
|
|
49
|
+
logger.info({ ...(logPrefix ? { context: logPrefix } : {}), transcription: result.text.slice(0, 80) }, "Voice transcribed");
|
|
41
50
|
try {
|
|
42
51
|
unlinkSync(localPath);
|
|
43
52
|
}
|
|
44
53
|
catch { /* ignore */ }
|
|
45
|
-
|
|
46
|
-
logger.info({ ...(logPrefix ? { context: logPrefix } : {}), transcription: result.text.slice(0, 80) }, "Voice transcribed");
|
|
54
|
+
transcribed = true;
|
|
47
55
|
}
|
|
48
56
|
catch (err) {
|
|
49
57
|
logger.warn({ err: err.message }, "Voice transcription failed");
|
|
50
|
-
text = text || "[Voice message — transcription failed]";
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
if (!transcribed && localPath) {
|
|
61
|
+
const filename = voiceAttachment.filename ?? "audio";
|
|
62
|
+
text = `[🎵 Audio: ${filename} → ${localPath}]\n${text}`;
|
|
63
|
+
extraMeta.attachment_path = localPath;
|
|
64
|
+
}
|
|
65
|
+
else if (!transcribed && !localPath) {
|
|
66
|
+
text = text || "[Audio attachment — download failed]";
|
|
55
67
|
}
|
|
56
68
|
extraMeta.attachment_file_id = voiceAttachment.fileId;
|
|
57
69
|
}
|
|
@@ -78,8 +90,32 @@ export async function processAttachments(msg, adapter, logger, logPrefix) {
|
|
|
78
90
|
extraMeta.attachment_paths = paths.join(",");
|
|
79
91
|
}
|
|
80
92
|
}
|
|
93
|
+
// Auto-download video attachments
|
|
94
|
+
const videoAttachments = msg.attachments?.filter(a => a.kind === "video") ?? [];
|
|
95
|
+
if (videoAttachments.length > 0) {
|
|
96
|
+
const paths = [];
|
|
97
|
+
for (const vid of videoAttachments) {
|
|
98
|
+
try {
|
|
99
|
+
const localPath = await adapter.downloadAttachment(vid.fileId);
|
|
100
|
+
paths.push(localPath);
|
|
101
|
+
const filename = vid.filename ?? "video";
|
|
102
|
+
text = `[🎬 Video: ${filename} → ${localPath}]\n${text}`;
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
logger.warn({ err: err.message }, "Video download failed");
|
|
106
|
+
if (!extraMeta.attachment_file_id)
|
|
107
|
+
extraMeta.attachment_file_id = vid.fileId;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (paths.length > 0) {
|
|
111
|
+
if (!extraMeta.attachment_path)
|
|
112
|
+
extraMeta.attachment_path = paths[0];
|
|
113
|
+
if (paths.length > 1)
|
|
114
|
+
extraMeta.attachment_paths = (extraMeta.attachment_paths ? extraMeta.attachment_paths + "," : "") + paths.join(",");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
81
117
|
// Pass remaining attachment types as file_id for manual download
|
|
82
|
-
const otherAttachment = msg.attachments?.find(a => a.kind !== "photo" && a.kind !== "voice" && a.kind !== "audio" && a.kind !== "document");
|
|
118
|
+
const otherAttachment = msg.attachments?.find(a => a.kind !== "photo" && a.kind !== "voice" && a.kind !== "audio" && a.kind !== "document" && a.kind !== "video");
|
|
83
119
|
if (otherAttachment) {
|
|
84
120
|
extraMeta.attachment_file_id = otherAttachment.fileId;
|
|
85
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-handler.js","sourceRoot":"","sources":["../../src/channel/attachment-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQvC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAmB,EACnB,OAAuB,EACvB,MAA0F,EAC1F,SAAkB;IAElB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,wDAAwD;IACxD,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"attachment-handler.js","sourceRoot":"","sources":["../../src/channel/attachment-handler.ts"],"names":[],"mappings":"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"}
|