如何使用Bot Builder v4通过API发送表情符号反应?
Bot Builder v4发送表情符号反应的实现方法
Bot Builder v4支持程序化发送表情符号反应,只是相关能力需要通过构造特定类型的活动来实现,而非ITurnContext<IMessageActivity>的直接方法。以下是具体实现步骤:
核心实现逻辑
通过构造Reaction类型的Activity,并关联到目标消息,即可让机器人发送表情反应:
// 构造反应活动 var reactionActivity = Activity.CreateReactionActivity(); // 设置要添加的表情反应(Type值需匹配目标平台规范) reactionActivity.ReactionsAdded = new List<MessageReaction> { new MessageReaction { Type = "heart" } }; // 指定要反应的原始消息ID reactionActivity.ReplyToId = originalMessage.Id; // 发送反应 await turnContext.SendActivityAsync(reactionActivity);
平台差异说明
不同聊天平台对表情反应的Type值定义不同,需对应调整:
- Teams:支持的标准反应Type包括
like、heart、laugh、surprised、sad、angry - Slack:使用表情的官方名称,比如
heart对应❤️,thumbsup对应👍 - WhatsApp:需使用WhatsApp官方支持的表情标识,可通过接收用户反应事件获取对应Type值
关键注意事项
- 必须设置
ReplyToId,将反应关联到具体的目标消息,否则平台无法识别要对哪条消息做出反应 - 若不确定目标平台的表情Type值,可以通过监听用户的反应事件,查看
MessageReaction.Type字段的实际值 - 部分平台可能需要为Bot配置相应的权限,确保具备发送反应的能力
内容的提问来源于stack exchange,提问作者Asotos
相关产品推荐
相关产品推荐

