






















@@ -868,6 +868,23 @@ function hasDeliveryResultIdentity(result: OutboundDeliveryResult): boolean {
868868);
869869}
870870871+function pushIdentifiedDeliveryResult(
872+results: OutboundDeliveryResult[],
873+delivery: OutboundDeliveryResult,
874+): boolean {
875+if (!hasDeliveryResultIdentity(delivery)) {
876+return false;
877+}
878+results.push(delivery);
879+return true;
880+}
881+882+function filterIdentifiedDeliveryResults(
883+results: readonly OutboundDeliveryResult[],
884+): OutboundDeliveryResult[] {
885+return results.filter((result) => hasDeliveryResultIdentity(result));
886+}
887+871888function normalizeDeliveryPin(payload: ReplyPayload): ReplyPayloadDeliveryPin | undefined {
872889const pin = payload.delivery?.pin;
873890if (pin === true) {
@@ -1529,7 +1546,7 @@ async function deliverOutboundPayloadsCore(
15291546continue;
15301547}
15311548throwIfAborted(abortSignal);
1532-results.push(await sendHandler.sendText(unit.text, unit.overrides));
1549+pushIdentifiedDeliveryResult(results, await sendHandler.sendText(unit.text, unit.overrides));
15331550}
15341551};
15351552const normalizedPayloads = normalizePayloadsForChannelDelivery(outboundPayloadPlan, handler);
@@ -1783,10 +1800,12 @@ async function deliverOutboundPayloadsCore(
17831800const beforeCount = results.length;
17841801if (deliveryHandler.sendFormattedText) {
17851802results.push(
1786- ...(await deliveryHandler.sendFormattedText(
1787-payloadSummary.text,
1788-applySendReplyToConsumption(sendOverrides),
1789-)),
1803+ ...filterIdentifiedDeliveryResults(
1804+await deliveryHandler.sendFormattedText(
1805+payloadSummary.text,
1806+applySendReplyToConsumption(sendOverrides),
1807+),
1808+),
17901809);
17911810} else {
17921811await sendTextChunks(deliveryHandler, payloadSummary.text, sendOverrides);
@@ -1807,7 +1826,7 @@ async function deliverOutboundPayloadsCore(
18071826}),
18081827);
18091828}
1810-const messageId = results.at(-1)?.messageId;
1829+const messageId = deliveredResults.at(-1)?.messageId;
18111830const pinMessageId = deliveredResults.find((entry) => entry.messageId)?.messageId;
18121831await maybePinDeliveredMessage({
18131832handler: deliveryHandler,
@@ -1824,7 +1843,7 @@ async function deliverOutboundPayloadsCore(
18241843});
18251844completeDeliveryDiagnostics(deliveredResults.length);
18261845emitMessageSent({
1827-success: results.length > beforeCount,
1846+success: deliveredResults.length > 0,
18281847content: payloadSummary.hookContent ?? payloadSummary.text,
18291848 messageId,
18301849});
@@ -1864,7 +1883,7 @@ async function deliverOutboundPayloadsCore(
18641883}),
18651884);
18661885}
1867-const messageId = results.at(-1)?.messageId;
1886+const messageId = deliveredResults.at(-1)?.messageId;
18681887const pinMessageId = deliveredResults.find((entry) => entry.messageId)?.messageId;
18691888await maybePinDeliveredMessage({
18701889handler: deliveryHandler,
@@ -1881,7 +1900,7 @@ async function deliverOutboundPayloadsCore(
18811900});
18821901completeDeliveryDiagnostics(deliveredResults.length);
18831902emitMessageSent({
1884-success: results.length > beforeCount,
1903+success: deliveredResults.length > 0,
18851904content: payloadSummary.hookContent ?? payloadSummary.text,
18861905 messageId,
18871906});
@@ -1909,9 +1928,10 @@ async function deliverOutboundPayloadsCore(
19091928unit.overrides,
19101929)
19111930 : await deliveryHandler.sendMedia(unit.caption ?? "", unit.mediaUrl, unit.overrides);
1912-results.push(delivery);
1913-firstMessageId ??= delivery.messageId;
1914-lastMessageId = delivery.messageId;
1931+if (pushIdentifiedDeliveryResult(results, delivery)) {
1932+firstMessageId ??= delivery.messageId;
1933+lastMessageId = delivery.messageId;
1934+}
19151935}
19161936await maybePinDeliveredMessage({
19171937handler: deliveryHandler,
@@ -1944,7 +1964,7 @@ async function deliverOutboundPayloadsCore(
19441964}
19451965completeDeliveryDiagnostics(results.length - beforeCount);
19461966emitMessageSent({
1947-success: true,
1967+success: results.length > beforeCount,
19481968content: payloadSummary.hookContent ?? payloadSummary.text,
19491969messageId: lastMessageId,
19501970});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。