使用Baileys库的WhatsApp Bot执行pppanjang时出现超时错误
使用Baileys库设置WhatsApp头像触发超时错误的解决方案
问题描述
使用Baileys库运行WhatsApp Bot时,调用「pppanjang」功能修改或设置头像,每次都会触发超时错误,错误信息如下:
Error: Timed Out at C:\Users\HP G4O\Downloads\platform-tools\ryo2\node_modules\@whiskeysockets\baileys\lib\Utils\generics.js:136:32 { data: { stack: 'Error\n' + ' at promiseTimeout (C:\\Users\\HP G4O\\Downloads\\platform-tools\\ryo2\\node_modules\\@whiskeysockets\\baileys\\lib\\Utils\\generics.js:131:19)\n' + ' at waitForMessage (C:\\Users\\HP G4O\\Downloads\\platform-tools\\ryo2\\node_modules\\@whiskeysockets\\baileys\\lib\\Socket\\socket.js:114:53)\n' + ' at Object.query (C:\\Users\\HP G4O\\Downloads\\platform-tools\\ryo2\\node_modules\\@whiskeysockets\\baileys\\lib\\Socket\\socket.js:136:22)\n' + ' at okta (C:\\Users\\HP G4O\\Downloads\\platform-tools\\ryo2\\oka.js:1829:12)' }, isBoom: true, isServer: false, output: { statusCode: 408, payload: { statusCode: 408, error: 'Request Time-out', message: 'Timed Out' }, headers: {} } } }
预期实现头像更新,但每次操作均返回408超时错误。
解决方案
延长Baileys请求超时时间
Baileys默认超时时间可能不足以完成大图片的上传操作,初始化Socket时手动设置更长的超时阈值:const { makeWASocket } = require('@whiskeysockets/baileys'); const sock = makeWASocket({ // 保留原有配置 timeoutMs: 60000, // 调整为60秒,可根据实际情况修改 });校验头像文件的合规性
WhatsApp对头像有格式和大小限制:仅支持JPG/PNG格式,文件大小不超过5MB。如果图片不符合要求,先压缩或转换格式后再尝试上传。排查网络稳定性
超时错误多与网络连接不稳定有关,检查Bot所在设备的网络是否能稳定访问WhatsApp服务器,排查防火墙、代理是否拦截了相关请求,必要时切换网络环境测试。更新Baileys至最新版本
旧版本可能存在已知的超时bug,执行以下命令更新:npm update @whiskeysockets/baileys检查「pppanjang」功能的实现逻辑
查看oka.js第1829行的代码,确认调用Baileys接口的方式是否正确,确保使用官方提供的updateProfilePicture方法,示例代码:// 正确设置头像的示例 await sock.updateProfilePicture( sock.user.id, // Bot自身的用户ID { url: './avatar.jpg' } // 本地图片路径或远程URL );
内容的提问来源于stack exchange,提问作者Raja Naufal Zhahir
相关产品推荐
相关产品推荐

