whatsapp 群组消息监控/ 群组功能
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

75 lines
2.2 KiB

const {Kafka} = require("kafkajs");
const brokers = ["172.16.228.89:19092"] // TODO:测试kafka
/**
*
* 生成kafka 的生产者
*
**/
function create_kafka_client(){
// 初始化kafka服务
const kafka = new Kafka({
clientId: 'my-app',
brokers: brokers
})
const producer = kafka.producer(); // 启动生产者
console.log("初始化kafka 成功");
return producer;
}
// 发送 消息 关于推送消息 会过滤为undefined的key *****
const push_data = async(producer, message, topic) => {
await producer.connect();
// console.log("推送数据为:", message);
let res = await producer.send({
topic: topic,
messages: [
{value: JSON.stringify(message)}
],
});
if(res){
console.log("推送成功!");
}
}
// var message = {
// group_id: '120363043137963504@g.us',
// sender_name: 'Última HORA 505',
// sender_id: '50582068410@c.us',
// message_id: 'false_120363043137963504@g.us_08290A24DFDD4E24A5C5DDEC2158AFD7_50582068410@c.us',
// reply_to_msg_id: undefined,
// message_text: 'https://www.facebook.com/share/v/3UZiZm8NC1vnL6h3/?mibextid=oFDknk',
// media: 'http://172.18.1.180:9980/group17/default/20240325/11/26/3/thubm.jpeg',
// datetime: '2024-03-25 03:26:20',
// type: 'chat',
// mimetype: undefined,
// subtype: 'url',
// link_title: '#ULTIMA_HORA 🚨🚨🚨🇳🇮 En Matagalpa, está cayendo un fuerte aguacero... De que zona de ese departamento lo reportan? #Matagalpa #Noticiero #Sucesos... | By Última HORA 505Facebook',
// description: '#ULTIMA_HORA 🚨🚨🚨🇳🇮 En Matagalpa, está cayendo un fuerte aguacero... De que zona de ese departamento lo reportan? #Matagalpa #Noticiero #Sucesos...'
// }
//
//
//{
// group_id: '120363031969802116@g.us',
// sender_name: 'José Ángel',
// sender_id: '50586212116@c.us',
// message_id: 'false_120363031969802116@g.us_7B01725DAA5C59CBFD5B8EB15187A82D_50586212116@c.us',
// reply_to_msg_id: undefined,
// message_text: undefined,
// media: 'error',
// datetime: '2024-03-28 05:06:44',
// type: 'video',
// mimetype: 'video/mp4',
// subtype: undefined
//}
//
// push_data(create_kafka_client(), message, "whatsapp_test1");
module.exports = {
push_data,
create_kafka_client
}