Bottender项目:Messenger渠道消息发送全指南
引言
在当今数字化时代,Messenger已成为企业与客户沟通的重要渠道之一。Yoctol/bottender作为一个强大的聊天机器人框架,为开发者提供了丰富的Messenger消息发送功能。本文将全面介绍如何在Bottender项目中高效地发送各类Messenger消息,帮助开发者构建更优质的聊天体验。
基础消息类型
文本消息
文本消息是最基础也是最常用的消息类型,适用于传递简单信息:
async function SendHi(context) {
await context.sendText('您好!有什么可以帮您的吗?');
}
文本消息虽然简单,但可以承载动态数据,如股票价格、天气信息等,是大多数对话的基础。
富媒体消息
富媒体消息包括图片、视频、音频和文件,能显著提升用户体验。Bottender提供了四种发送方式:
1. 通过URL发送(适合原型开发)
await context.sendImage('https://example.com/promotion.jpg');
2. 使用附件ID(生产环境推荐)
await context.sendImage({ attachmentId: '<ATTACHMENT_ID>' });
3. 通过文件流发送
const fs = require('fs');
await context.sendImage(fs.createReadStream('promotion.jpg'));
4. 通过Buffer发送
await context.sendImage(imageBuffer, { filename: 'promotion.jpg' });
生产环境建议:使用附件ID方式,可充分利用Facebook的缓存机制,提升加载速度。
模板消息
模板消息提供结构化交互体验,是提升用户参与度的利器。
通用模板(Generic Template)
适合展示产品目录等内容:
await context.sendGenericTemplate([
{
title: "欢迎光临数码商城",
imageUrl: 'https://example.com/products.png',
subtitle: "最新科技产品一网打尽",
buttons: [
{
type: 'postback',
title: '查看详情',
payload: 'PRODUCT_DETAILS',
},
],
},
]);
按钮模板(Button Template)
简化版通用模板,不含图片:
await context.sendButtonTemplate('请选择您需要的服务', [
{
type: 'postback',
title: '客服咨询',
payload: 'CUSTOMER_SERVICE',
},
]);
收据模板(Receipt Template)
专为订单确认设计:
await context.sendReceiptTemplate({
recipientName: '张三',
orderNumber: 'ORD123456',
elements: [
{
title: '智能手机',
quantity: 1,
price: 5999,
currency: 'CNY',
},
],
summary: {
totalCost: 5999,
},
});
快速回复(Quick Reply)
快速回复是引导用户互动的有效工具,有三种类型:
文本快速回复
await context.sendText('请选择您的问题类型', {
quickReplies: [
{
contentType: 'text',
title: '订单查询',
payload: 'ORDER_QUERY',
},
],
});
用户手机号快速回复
await context.sendText('请提供您的联系方式', {
quickReplies: [
{
contentType: 'user_phone_number',
},
],
});
用户邮箱快速回复
await context.sendText('请输入您的邮箱', {
quickReplies: [
{
contentType: 'user_email',
},
],
});
高级功能
角色功能(Persona)
当机器人需要模拟不同身份时:
await context.sendText('这是客服代表为您服务', {
personaId: '<PERSONA_ID>',
});
速率限制
重要注意事项:
- 默认速率限制:200 * Messenger受众总数/24小时
- 高流量场景建议:将突发请求分散处理
- 大页面推荐发送速率:每秒不超过250次请求
最佳实践建议
-
消息类型选择:
- 简单信息 → 文本消息
- 产品展示 → 通用模板
- 用户引导 → 快速回复
- 订单确认 → 收据模板
-
性能优化:
- 生产环境使用附件ID而非URL
- 频繁使用的媒体文件提前上传
-
用户体验:
- 保持消息简洁
- 合理使用快速回复引导用户
- 重要操作提供明确反馈
通过合理运用Bottender提供的这些消息发送功能,开发者可以构建出既美观又实用的Messenger聊天机器人,有效提升用户参与度和满意度。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考