首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在whatsapp-web.js中发送whatsapp消息

如何在whatsapp-web.js中发送whatsapp消息
EN

Stack Overflow用户
提问于 2020-12-05 12:52:45
回答 5查看 28.6K关注 0票数 14

我正在使用whatsapp-web.js发送和回复消息。https://github.com/pedroslopez/whatsapp-web.js

我可以使用以下代码连接和回复消息:

代码语言:javascript
运行
复制
const { Client } = require('whatsapp-web.js');
const client = new Client();

client.on('qr', (qr) => {
    // Generate and scan this code with your phone
    console.log('QR RECEIVED', qr);
});

client.on('ready', () => {
    console.log('Client is ready!');
});

client.on('message', msg => {
    if (msg.body == '!ping') {
        msg.reply('pong');
    }
});

client.initialize();

如何在whatsapp中向移动电话发送新消息??

EN

Stack Overflow用户

发布于 2022-09-03 17:12:42

我的代码

代码语言:javascript
运行
复制
//Documentacao https://docs.wwebjs.dev/ 
const qrcode = require('qrcode-terminal');
const { Client, LocalAuth } = require('whatsapp-web.js');

//Read QRcode only one time
const client = new Client({
    authStrategy: new LocalAuth(),
    puppeteer: {
      handleSIGINT: false,
      args: [
          '--no-sandbox',
          '--disable-setuid-sandbox'
      ] }
  });
 

client.on('qr', qr => {
    qrcode.generate(qr, {small: true});
});

client.on('ready', () => {
    console.log('Client is ready!');

    // Number and Text.
    var number = "+55.11.9.8888.9999";
    var text = "Hi!";

    //Cleaning to only numbers
    number = number.replace(/\D/g, "");
    //console.log(number);

    //Remove Contry Code (Brazil 55) to make it more simple
    if (Array.from(number)[0] == "5" && Array.from(number)[1] == "5" && number.length >11) {
        number=number.substring(2);
        //console.log(number);
    } else {
        number=number;
        //console.log(number);
    }

    //Removing 0 from beggin (In Brazil old people put that)
    if (Array.from(number)[0] == "0") {
        number=number.substring(1);
        //console.log(number);
    } else {
        number=number;
        //console.log(number);
    }

    //Creating two numbers (In Brazil we change recentily to 11 digits, put one 9 more) 
    var number2="";
    if (number && /^\d{11,}$/.test(number.trim())) {
        //console.log('Tem 11');
        number2=number.slice(0,2)+number.slice(3);
        //console.log(number2);
    } else if (number && /^\d{10,}$/.test(number.trim())) {
        //console.log('Tem 10');
        number2=number.slice(0,2)+"9"+number.slice(2);
        //console.log(number2);
    } else {
        console.log('Não Tem 11 ou 10');
    }

    //Add Brazil code (55) and whatsapp ending
    number="55"+number+"@c.us";
    number2="55"+number2+"@c.us";
    //console.log(number);
    //console.log(number2);
    var number_array = [number,number2]
    number_array.forEach(element => console.log(element));

    // Sending message.
    function senf_numeber (number,text) {
        client.isRegisteredUser(number).then(function(isRegistered) {
            if(isRegistered) {
                console.log(number+' Registrado');
                client.sendMessage(number, (text+" "+number));
            }else{
                console.log(number+' Não Registrado');
            }
        })
    }  
    number_array.forEach(element => senf_numeber (element,text));
});


//teste if script is working. User send !ping e script return pong
client.on('message', msg => {
    if (msg.body == '!ping') {
        msg.reply('pong');
    }
});

client.initialize();

//Closing correcily using CTRL+C 
process.on('SIGINT', async () => {
    console.log('(SIGINT) Shutting down...');
    await client.destroy();
    console.log('client destroyed');
    process.exit(0);
});
票数 2
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65157125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档