BotPress Hello World机器人报错求助:请求处理失败问题排查
BotPress Hello World 调试方案
你遇到的错误是因为消息监听触发器配置无效,加上代码存在未导入的依赖,导致BotPress无法正确识别事件类型。以下是具体修复步骤:
1. 修正消息监听触发器
代码中bot.message('', ...)的第一个参数为空字符串,这不是合法的触发器值。BotPress要求指定要监听的事件或消息类型,改为'*'即可监听所有消息事件:
bot.message('*', async ({ message, client, ctx, log }) => { log.info('Received message', message) // ... 其余代码 })
2. 导入缺失的log对象
代码中使用了log.info但未导入,直接在函数参数中解构log即可(如上代码所示),也可以从SDK显式导入:
import { Bot, log } from '@botpress/sdk'
3. 完整修复后的代码
import { Bot } from '@botpress/sdk' const bot = new Bot({}) bot.message('*', async ({ message, client, ctx, log }) => { log.info('Received message', message) await client.createMessage({ conversationId: message.conversationId, userId: ctx.botId, tags: {}, type: 'text', payload: { text: `I'm a stub bot. You said: ${message.payload.text}`, }, }) console.log('text message sent') }) export default bot
4. 额外检查项
- 确认
package.json中@botpress/sdk版本与官方文档一致,执行npm install确保依赖完整 - 启动
bp dev后,检查终端是否有其他报错,确保bot成功注册到本地BotPress实例 - 访问
localhost:8075时,需先在BotPress控制台创建新聊天会话,选择你的bot进行测试
内容的提问来源于stack exchange,提问作者Gaurav Ingalkar
相关产品推荐
相关产品推荐

