Mensagens
Envio de mensagens de texto, respostas com citacoes, @mencoes, reacoes, edicoes e revogacao de mensagens.
Enviar uma Mensagem de Texto
O exemplo mais simples — enviar uma mensagem para um numero de telefone.
// Wait for connection before sending
await client.connect();
await connected; // Promise that resolves on "connected" event
// Send a simple text message
const resp = await client.sendMessage(jid, {
conversation: "Hello from whatsmeow-node!",
});
console.log("Sent!", resp);
Codigo fonte completo: send-test.ts
Resposta com Citacao e @Mencoes
Ouca mensagens recebidas e responda com mensagens citadas e @mencoes.
Citando uma mensagem
Para citar uma mensagem, defina contextInfo.stanzaId com o ID da mensagem original e contextInfo.participant com o JID do remetente:
await client.sendRawMessage(info.chat, {
extendedTextMessage: {
text: "This is a reply to your message!",
contextInfo: {
stanzaId: info.id, // ID of the message we're replying to
participant: info.sender, // Who sent the original
quotedMessage: {
conversation: text, // Original message content (shown in quote bubble)
},
},
},
});
Mencionando usuarios com @
Inclua JIDs em mentionedJid e use @<numero> no corpo do texto:
await client.sendRawMessage(info.chat, {
extendedTextMessage: {
text: `Hey @${info.sender.split("@")[0]}, you were mentioned!`,
contextInfo: {
mentionedJid: [info.sender],
},
},
});
Mencionar todos os membros do grupo
const group = await client.getGroupInfo(info.chat);
const participantJids = group.participants.map((p) => p.jid);
const mentions = participantJids.map((jid) => `@${jid.split("@")[0]}`).join(" ");
await client.sendRawMessage(info.chat, {
extendedTextMessage: {
text: `Mentioning everyone: ${mentions}`,
contextInfo: {
mentionedJid: participantJids,
},
},
});
Citacao e mencao podem ser combinadas em uma unica mensagem incluindo tanto stanzaId/participant/quotedMessage quanto mentionedJid em contextInfo.
Codigo fonte completo: reply-and-mentions.ts
Reacoes, Edicoes e Revogacoes
Envie reacoes, edite mensagens e exclua mensagens para todos.
Reacoes
// Add a reaction
await client.sendReaction(jid, myJid, sent.id, "👍");
// Change a reaction (replaces previous)
await client.sendReaction(jid, myJid, sent.id, "🚀");
// Remove a reaction (empty string)
await client.sendReaction(jid, myJid, sent.id, "");
Editando uma mensagem
// Only works on messages you sent
await client.editMessage(jid, sent.id, {
conversation: "This message was edited!",
});
Revogando (excluindo) uma mensagem
// Deletes for everyone in the chat
// Only works on your own messages within the time limit
await client.revokeMessage(jid, myJid, sent.id);
sendReaction() recebe quatro argumentos: o JID do chat, o remetente da mensagem que esta recebendo a reacao (seu proprio JID se for reagir a sua propria mensagem), o ID da mensagem e o emoji.