Есть ли способ ответить на изображение? whatsapp-chatbot- nodejs -chat api - PullRequest
0 голосов
/ 10 июля 2020

точный код ответа на сообщения

app.post('/webhook', async function (req, res) {
    const data = req.body;
    for (var i in data.messages) {
        const author = data.messages[i].author;
        const body = data.messages[i].body;
        const chatId = data.messages[i].chatId;
        const senderName = data.messages[i].senderName;

        if(data.messages[i].fromMe)return;

        console.log(senderName, author, chatId, body);

здесь он обнаруживает справочное сообщение и правильно отвечает

        if(/help/.test(body)) {
            const text = `${senderName}, this is a demo bot for https://chat-api.com/.
            Commands:
            1. chatId - view the current chat ID
            2. file [pdf/jpg/doc/mp3] - get a file
            3. ptt - get a voice message
            4. geo - get a location
            5. group - create a group with you and the bot`;
            await apiChatApi('message', {chatId: chatId, body: text});
        
        } else if(/hola/.test(body)) {
            const saludo = `${senderName}, Hola, me podrias pasar una imagen`;
            await apiChatApi('Message', {chatId: chatId, body: saludo});
        

здесь обнаружено, что он отправляет изображение, но точно так же не отвечает

        } else if(/file (pdf|jpg|doc|mp3)/.test(body)) {
            const fileType = body.match(/file (pdf|jpg|doc|mp3)/)[1];
            const files = {
                doc: "enlace de ejemplo",
                jpg: "enlace de ejemplo",
                mp3: "enlace de ejemplo",
                pdf: "enlace de ejemplo"
            };
            var dataFile = {
                phone: author,
                body: files[fileType],
                filename: `File *.${fileType}`            
            };
            if (fileType == "jpg") dataFile['caption'] = "Photo text";
            await apiChatApi('sendFile'+ dataFile);
        

Я хочу определить, что изображение было отправлено, и, таким образом, иметь возможность ответить но он не отвечает, это та часть, где он не прав

        } else if(dataFile.test(body)) {
            const solicitud = `${senderName}, Gracias por responder`;
            await apiChatApi('Message', {chatId: chatId, body: solicitud});
        }
    }
    res.send('ok');
});
...