我正在使用节点库whatsapp-web.js创建一个whatsapp bot,在我完成脚本之后,它看起来类似于(我刚刚概述了原始脚本)-
index.js
const {Client, LocalAuth, MessageMedia } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');
const client = new Client({
puppeteer: {
args: ['--no-sandbox', "--disable-setuid-sandbox"]
},
authStrategy: new LocalAuth()
});
client.on('qr', (qr) => {
console.log('qr received: ', qr);
qrcode.generate(qr, {small:true});
});
client.on('ready', () => {
console.log('READY');
});
client.on('message', async msg => {
let type = msg.type;
let chat = await msg.getChat();
if(chat.isGroup) {
//do something
}else {
//
if(msg.body === "ping") {
msg.reply("pong");
}
}
});所有的脚本都很好,在linux或ubuntu (我已经在Heroku应用程序上添加了傀儡构建包)上工作得很好。因为我需要继续运行这个脚本,所以我决定将它放到一个工作进程中。
Procfile
工作人员:节点index.js,但是现在问题出现了,我如何在这里进行身份验证?我决定从index.js中删除这一行
qrcode.generate(qr,{cli:true});insted,我想我会在heroku-cli上打印所有的日志。
heroku记录-a wweb#我的应用程序名为wweb,并从那里访问生成的qr密钥。在此之后,我将把它转换成一个qrcode并扫描它。当我完成所有的设置和尝试时,我得到了一个连续生成qr键的日志。这是不间断的,每隔15-20秒继续生成钥匙。这里有什么问题?是因为Heroku有一个只读环境,还是缺少了其他任何东西?请帮帮我,我怎么做?
发布于 2022-09-25 02:24:30
编辑:现在whatsapp-web.js添加了新的功能,称为RemoteAuthStatergy。
发布于 2022-09-24 16:16:59
删除或注释此代码
// authStrategy:新的LocalAuth()
它不会在heroku上工作,但是由于代码在服务器上,所以不需要一次又一次地扫描,只需要扫描就可以重新启动服务器。
但是,如果您面临木偶师错误,那么在heroku /your项目/设置/ scrol中添加这些构建包到adduildpack中,添加这两个构建包
然后重新部署应用程序
https://stackoverflow.com/questions/73317089
复制相似问题