You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法向Bale Bot发送FileMessage:上传成功但发送时连接重置

文件上传成功但调用send时连接重置的排查方案

首先,我看到你在使用bale.ai机器人SDK发送文件消息时,明明文件上传成功拿到了fileId等信息,但调用bot.send()时出现了连接重置的问题。结合你的代码,我整理了几个大概率的原因和对应的解决思路:

1. FileMessage的参数传错了

你创建FileMessage的时候,第三个参数填的是'telename'——这个参数应该是文件的原始文件名(比如你的a.html),而不是随便填的字符串。如果SDK后端对这个参数有校验,错误的值会直接导致请求被拒绝,进而触发连接重置。

修正这部分代码试试:

var file = new SDK.FileMessage(fileId, fileAccessHash, 'a.html', stats.size, 'text/html', 'see')

2. 没有处理异步操作的异常

bot.send()大概率是异步的Promise操作,但你现在的代码没有加任何错误捕获逻辑,连最基本的.catch()都没有。连接重置可能只是表象,背后有具体的错误信息(比如权限不足、参数格式不对),你应该加上错误捕获来看看细节:

bot.send(file, responder.peer)
  .then(res => console.log('消息发送成功:', res))
  .catch(err => console.error('发送失败,具体错误:', err))

拿到具体错误日志后,排查问题会精准很多。

3. 文件本身不符合消息发送规则

虽然上传成功了,但bale.ai的消息接口和上传接口的限制可能不一样:比如上传允许10MB,但发送消息只允许5MB;或者text/html这个MIME类型不允许作为消息文件发送。你可以去官方文档确认下文件大小和类型的限制,对比你的a.html是否符合要求。

4. SDK版本或环境问题

检查下你用的bale.ai SDK是不是最新版本,旧版本可能存在已知的网络连接bug。另外,你的Node.js版本是否和SDK兼容?某些老版本Node.js在处理HTTPS请求时容易出现连接重置的情况,建议升级到稳定版试试。


附上你的原始问题和代码:

我尝试向bale.ai机器人发送文件消息,文件上传环节似乎运行正常,但执行send函数时连接被重置。请问问题出在哪里?

let ddd = fs.readFileSync(__dirname + '/a.html')
bot.UploadFile(ddd,'file').then(response => {
 let fileId = response.fileId
 let fileAccessHash = response.accessHash
 let fileٰVersion = response.version
 const stats = fs.statSync(__dirname + '/a.html')
 var file = new SDK.FileMessage(fileId, fileAccessHash, 'telename', stats.size, 'text/html', 'see')
 bot.send(file, responder.peer)

内容的提问来源于stack exchange,提问作者user43857

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:53:49