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

如何接收带自定义头像URL和昵称的ConnectyCube消息?

解决ConnectyCube消息自定义字段显示undefined及群消息附带头像/昵称的问题

看起来你是在ConnectyCube的群消息场景里想附加自定义的头像和昵称,但遇到了自定义字段显示undefined的问题,我来帮你一步步捋清楚解决办法。

第一步:发送消息时正确携带自定义数据

你之前用ConnectyCube.chat.send(recipient_id, msg)发送消息,但问题大概率出在msg对象的构造上。要在群消息里附带头像URL和昵称,你需要在消息对象里添加custom属性,同时必须把消息类型设为groupchat(群消息专属类型)。

给你一个完整的代码示例:

// 构造群消息对象
const groupMsg = {
  body: "今天的会议改到下午3点啦", // 消息正文内容
  type: "groupchat", // 必须设置为groupchat,否则会被识别为单聊消息
  custom: {
    avatar_url: "https://your-domain.com/user-avatar.jpg", // 发送者的头像URL
    nickname: "张三" // 发送者的昵称
  }
};

// 把recipient_id替换成你的目标群ID
ConnectyCube.chat.send(recipient_id, groupMsg);

这里要注意两个关键细节:

  • type字段不能省略:群消息必须指定为groupchat,否则ConnectyCube可能不会正确处理自定义字段
  • custom是普通对象:直接把需要的自定义键值对放进去即可,键名尽量统一(比如全小写),避免拼写错误导致后续读取失败

第二步:接收消息时正确读取自定义字段

当对方收到消息时,在消息监听回调里,你可以直接从消息对象的custom属性里取出头像和昵称。为了避免字段不存在时报错,推荐用可选链操作符?.来访问:

// 注册消息监听回调
ConnectyCube.chat.onMessageListener = function(receivedMsg) {
  // 先判断是否是群消息
  if (receivedMsg.type === "groupchat") {
    // 读取自定义字段
    const senderAvatar = receivedMsg.custom?.avatar_url;
    const senderNickname = receivedMsg.custom?.nickname;
    const messageContent = receivedMsg.body;

    // 这里就可以把这些数据渲染到你的UI界面上了
    console.log(`收到${senderNickname}的消息:${messageContent} | 头像地址:${senderAvatar}`);
  }
};

排查之前显示undefined的常见原因

如果你之前的自定义字段一直显示undefined,可以从这几个方向检查:

  • 拼写不一致:发送时的custom字段键名和接收时的不匹配(比如发送时写avatarUrl,接收时却读avatar_url)
  • 消息类型错误:没有设置type: "groupchat",导致自定义字段被ConnectyCube过滤
  • SDK版本问题:旧版本的ConnectyCube SDK可能对自定义字段支持不完善,建议升级到最新版

额外小提示

  • 自定义字段不仅可以放头像和昵称,任何JSON可序列化的内容都能放进去,满足你的业务需求
  • 如果是单聊消息,只需要把type改成"chat",自定义字段的用法和群消息完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:57:42