WhatsApp: include numbers in contact cards

This commit is contained in:
Mahmoud Ibrahim
2026-01-10 01:26:21 +02:00
committed by Peter Steinberger
parent e311dc82e0
commit fd7450e5b9
3 changed files with 101 additions and 18 deletions

View File

@@ -60,18 +60,72 @@ describe("web inbound helpers", () => {
expect(body).toBe("<contact: Ada Lovelace, +15555550123>");
});
it("normalizes tel: prefixes in WhatsApp vcards", () => {
const body = extractText({
contactMessage: {
vcard: [
"BEGIN:VCARD",
"VERSION:3.0",
"FN:Ada Lovelace",
"TEL;TYPE=CELL:tel:+15555550123",
"END:VCARD",
].join("\n"),
},
} as unknown as import("@whiskeysockets/baileys").proto.IMessage);
expect(body).toBe("<contact: Ada Lovelace, +15555550123>");
});
it("extracts multiple WhatsApp contact cards", () => {
const body = extractText({
contactsArrayMessage: {
contacts: [
{ displayName: "Alice" },
{ displayName: "Bob" },
{ displayName: "Charlie" },
{ displayName: "Dana" },
{
displayName: "Alice",
vcard: [
"BEGIN:VCARD",
"VERSION:3.0",
"FN:Alice",
"TEL;TYPE=CELL:+15555550101",
"END:VCARD",
].join("\n"),
},
{
displayName: "Bob",
vcard: [
"BEGIN:VCARD",
"VERSION:3.0",
"FN:Bob",
"TEL;TYPE=CELL:+15555550102",
"END:VCARD",
].join("\n"),
},
{
displayName: "Charlie",
vcard: [
"BEGIN:VCARD",
"VERSION:3.0",
"FN:Charlie",
"TEL;TYPE=CELL:+15555550103",
"TEL;TYPE=HOME:+15555550104",
"END:VCARD",
].join("\n"),
},
{
displayName: "Dana",
vcard: [
"BEGIN:VCARD",
"VERSION:3.0",
"FN:Dana",
"TEL;TYPE=CELL:+15555550105",
"END:VCARD",
].join("\n"),
},
],
},
} as unknown as import("@whiskeysockets/baileys").proto.IMessage);
expect(body).toBe("<contacts: Alice, Bob, Charlie +1 more>");
expect(body).toBe(
"<contacts: Alice, +15555550101, Bob, +15555550102, Charlie, +15555550103 (+1 more) +1 more>",
);
});
it("summarizes empty WhatsApp contact cards with a count", () => {