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

7 months ago
  1. const {Kafka} = require("kafkajs");
  2. const brokers = [] // TODO:测试kafka
  3. /**
  4. *
  5. * 生成kafka 的生产者
  6. *
  7. **/
  8. function create_kafka_client(){
  9. // 初始化kafka服务
  10. const kafka = new Kafka({
  11. clientId: 'my-app',
  12. brokers: brokers
  13. })
  14. const producer = kafka.producer(); // 启动生产者
  15. console.log("初始化kafka 成功");
  16. return producer;
  17. }
  18. // 发送 消息 关于推送消息 会过滤为undefined的key *****
  19. const push_data = async(producer, message, topic) => {
  20. await producer.connect();
  21. // console.log("推送数据为:", message);
  22. let res = await producer.send({
  23. topic: topic,
  24. messages: [
  25. {value: JSON.stringify(message)}
  26. ],
  27. });
  28. if(res){
  29. console.log("推送成功!");
  30. }
  31. }
  32. // var message = {
  33. // group_id: '120363043137963504@g.us',
  34. // sender_name: 'Última HORA 505',
  35. // sender_id: '50582068410@c.us',
  36. // message_id: 'false_120363043137963504@g.us_08290A24DFDD4E24A5C5DDEC2158AFD7_50582068410@c.us',
  37. // reply_to_msg_id: undefined,
  38. // message_text: 'https://www.facebook.com/share/v/3UZiZm8NC1vnL6h3/?mibextid=oFDknk',
  39. // media: 'http://172.18.1.180:9980/group17/default/20240325/11/26/3/thubm.jpeg',
  40. // datetime: '2024-03-25 03:26:20',
  41. // type: 'chat',
  42. // mimetype: undefined,
  43. // subtype: 'url',
  44. // 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',
  45. // description: '#ULTIMA_HORA 🚨🚨🚨🇳🇮 En Matagalpa, está cayendo un fuerte aguacero... De que zona de ese departamento lo reportan? #Matagalpa #Noticiero #Sucesos...'
  46. // }
  47. //
  48. //
  49. //{
  50. // group_id: '120363031969802116@g.us',
  51. // sender_name: 'José Ángel',
  52. // sender_id: '50586212116@c.us',
  53. // message_id: 'false_120363031969802116@g.us_7B01725DAA5C59CBFD5B8EB15187A82D_50586212116@c.us',
  54. // reply_to_msg_id: undefined,
  55. // message_text: undefined,
  56. // media: 'error',
  57. // datetime: '2024-03-28 05:06:44',
  58. // type: 'video',
  59. // mimetype: 'video/mp4',
  60. // subtype: undefined
  61. //}
  62. //
  63. // push_data(create_kafka_client(), message, "whatsapp_test1");
  64. module.exports = {
  65. push_data,
  66. create_kafka_client
  67. }