(msg: Api.Message)
| 1170 | try { |
| 1171 | const repliedMsg = await safeGetReplyMessage(message); |
| 1172 | if (repliedMsg) { |
| 1173 | const repliedSender = await repliedMsg.getSender(); |
| 1174 | let replyName = "unknown"; |
| 1175 | let replyChatId: number | undefined; |
| 1176 | if (repliedSender) { |
| 1177 | replyChatId = Number(repliedSender.id); |
| 1178 | const rFirst = |
| 1179 | (repliedSender as any).firstName || |
| 1180 | (repliedSender as any).title || |
| 1181 | ""; |
| 1182 | const rLast = (repliedSender as any).lastName || ""; |
| 1183 | const rUser = (repliedSender as any).username || ""; |
| 1184 | const composed = `${rFirst} ${rLast}`.trim(); |
| 1185 | replyName = composed || rUser || "unknown"; |
| 1186 | } |
| 1187 | |
| 1188 | // 使用被回复消息的文本 + 实体 |
| 1189 | const replyText = repliedMsg.message || ""; |
| 1190 | const replyEntities = convertEntities( |
| 1191 | repliedMsg.entities || [], |
| 1192 | ); |
| 1193 | |
| 1194 | if (replyText) { |
| 1195 | replyBlock = { |
| 1196 | name: replyName, |
| 1197 | text: replyText, |
| 1198 | entities: replyEntities, |
| 1199 | ...(replyChatId ? { chatId: replyChatId } : {}), |
| 1200 | }; |
| 1201 | } |
| 1202 | } |
| 1203 | } catch {} |
| 1204 | } |
| 1205 | } catch (e) { |
| 1206 | console.warn("处理回复引用失败: ", e); |
| 1207 | } |
| 1208 | } |
| 1209 | |
| 1210 | let media: { url: string } | undefined = undefined; |
| 1211 | try { |
| 1212 | const mediaResult = await downloadAndProcessMedia(client, message); |
| 1213 | if (mediaResult) { |
| 1214 | const base64 = mediaResult.buffer.toString("base64"); |
| 1215 | media = { url: `data:${mediaResult.mime};base64,${base64}` }; |
| 1216 | } |
| 1217 | } catch (e) { |
| 1218 | console.error("下载媒体失败", e); |
| 1219 | } |
| 1220 | |
| 1221 | // 构建高级消息对象(quote-api 全字段) |
| 1222 | const msgItem: any = { |
| 1223 | from: { |
| 1224 | id: userId |
| 1225 | ? parseInt(userId) |
| 1226 | : hashCode(sender.name || `${firstName}|${lastName}`), |
| 1227 | name: shouldShowAvatar ? name : "", |
| 1228 | first_name: shouldShowAvatar |
| 1229 | ? firstName || undefined |
no test coverage detected