Message

Message

消息对象,用于描述一条消息具有的属性,如类型、消息的内容、所属的会话 ID 等。

Properties:
Name Type Default Description
ID String

消息 ID。

type String

消息类型,具体如下:

类型 含义
TencentCloudChat.TYPES.MSG_TEXT 文本消息
TencentCloudChat.TYPES.MSG_IMAGE 图片消息
TencentCloudChat.TYPES.MSG_SOUND 音频消息(已废弃,请使用 TencentCloudChat.TYPES.MSG_AUDIO )
TencentCloudChat.TYPES.MSG_AUDIO 音频消息
TencentCloudChat.TYPES.MSG_VIDEO 视频消息
TencentCloudChat.TYPES.MSG_FILE 文件消息
TencentCloudChat.TYPES.MSG_CUSTOM 自定义消息
TencentCloudChat.TYPES.MSG_MERGER 合并消息
TencentCloudChat.TYPES.MSG_LOCATION 位置消息
TencentCloudChat.TYPES.MSG_FACE 表情消息
TencentCloudChat.TYPES.MSG_GRP_TIP 群提示消息
TencentCloudChat.TYPES.MSG_GRP_SYS_NOTICE 群系统通知消息
payload Object

消息的内容,具体如下:

conversationID String

消息所属的会话 ID

conversationType String

消息所属会话的类型,具体如下:

类型 含义
TencentCloudChat.TYPES.CONV_C2C C2C(Client to Client, 端到端) 会话
TencentCloudChat.TYPES.CONV_GROUP GROUP(群组) 会话
TencentCloudChat.TYPES.CONV_SYSTEM SYSTEM(系统) 会话
to String

接收方的 userID

from String

发送方的 userID,在消息发送时,会默认设置为当前登录的用户

flow String

消息的流向

  • in 为收到的消息
  • out 为发出的消息
time Number

消息时间戳。单位:秒

sequence Number

消息序列号。

status String

消息状态。

  • unSend(未发送)
  • success(发送成功)
  • fail(发送失败)
isRevoked Boolean false

是否被撤回的消息,true 标识被撤回的消息

priority String TencentCloudChat.TYPES.MSG_PRIORITY_NORMAL

消息优先级,用于群聊

nick String ''

消息发送者的昵称(在 AVChatRoom 内支持,需提前调用 updateMyProfile 设置)

avatar String ''

消息发送者的头像地址(在 AVChatRoom 内支持,需提前调用 updateMyProfile 设置)

isPeerRead Boolean false

C2C 消息对端是否已读,true 标识对端已读(v3.4.0 起废弃该字段,推荐使用 C2C 已读回执功能代替)。更新时机:

  • 对端调用 setMessageRead 将会话下所有消息上报已读,成功后会话未读数清零
nameCard String ''

非直播群消息发送者的群名片(也可称之为消息发送者的群昵称),需提前调用 setGroupMemberNameCard 设置

atUserList Array

群聊时此字段存储被 at 的群成员的 userID

cloudCustomData String ''

消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)

isDeleted Boolean false

是否被删除的消息,true 标识被删除的消息

isModified Boolean false

是否被修改过,true 标识被修改过的消息

needReadReceipt Boolean false

是否需要已读回执,true 标识需要(需要您购买旗舰版套餐)

readReceiptInfo Object {readCount,unreadCount,isPeerRead,timestamp}

消息已读回执信息

Properties
Name Type Description
readCount Number | undefined

群消息已读数,可通过调用 getMessageReadReceiptList 查询;
如果想要查询哪些群成员已读了消息,可调用 getGroupMessageReadMemberList

unreadCount Number | undefined

群消息未读数,可通过调用 getMessageReadReceiptList 查询。

isPeerRead Boolean | undefined

C2C消息对端是否已发送已读回执,消息接收方调用 sendMessageReadReceipt 成功后,消息发送方收到已读回执通知或拉漫游时会更新此属性。

timestamp Number

C2C消息对端发送已读回执时间,单位:秒,消息接收方调用 sendMessageReadReceipt 成功后,消息发送方收到已读回执通知或拉漫游时会更新此属性。v3.4.0 起支持。

isBroadcastMessage Boolean false

对所有直播群广播消息,true 标识直播群广播消息(需要您购买旗舰版套餐)

isSupportExtension Boolean false

是否支持消息扩展,true 支持 false 不支持(需要您购买旗舰版套餐)

revoker String

消息撤回者的 userID,已废弃,推荐使用 revokerInfo。

revokerInfo Object

消息撤回者的信息。v3.1.2 起支持。

Properties
Name Type Description
avatar String

消息撤回者的头像

nick String

消息撤回者的昵称

userID String

消息撤回者的 userID

revokeReason String

消息撤回的原因。v3.1.2 起支持。

hasRiskContent Boolean

图片、语音、视频消息是否被标记为有安全风险的消息,默认为 false。v3.1.2 起支持。

  • 只有在开通【云端审核】功能后才生效,【云端审核】开通流程请参考 云端审核功能
  • 如果您发送的语音或视频消息内容不合规,云端异步审核后 SDK 会触发 MESSAGE_MODIFIED 事件。

Type Definitions

TextPayload

Properties:
Name Type Description
text String

文本消息内容

文本消息的 payload 结构

ImagePayload

Deprecated:
  • sizeType 已废弃,请使用 type 代替
Properties:
Name Type Description
uuid String

图片唯一标识

imageFormat Number

图片格式类型,JPG/JPEG = 1,GIF = 2,PNG = 3,BMP = 4,其他 = 255

imageInfoArray Array.<Object>

图片信息

Properties
Name Type Description
width Number

宽度

height Number

高度

url String

图片地址,可用于渲染

size Number

图片大小,单位:Byte

type Number
含义
0 原图
1 198p压缩图
2 720p压缩图

图片消息的 payload 结构

AudioPayload

Properties:
Name Type Description
uuid String

唯一标识

url String

音频地址,可用于播放

size Number

文件大小,单位:Byte

second Number

音频时长,单位:秒

音频消息的 payload 结构

VideoPayload

Properties:
Name Type Description
videoFormat String

视频文件的格式

videoSecond Number

视频文件的时长,单位秒,整型(Web 端创建视频消息时不支持获取视频时长,videoSecond 为0)

videoSize Number

视频文件大小,单位:Byte

videoUrl String

视频文件的地址,可用于播放

videoUUID String

video 唯一标识

thumbWidth Number

视频封面图宽度(已废弃,请使用 snapshotWidth)

snapshotWidth Number

视频封面图宽度

thumbHeight Number

视频封面图高度(已废弃,请使用 snapshotHeight)

snapshotHeight Number

视频封面图高度

thumbUrl String

视频封面图地址(已废弃,请使用 snapshotUrl)

snapshotUrl String

视频封面图地址,可用于渲染(上传插件需要使用 tim-upload-plugin

视频消息的 payload 结构

FilePayload

Properties:
Name Type Description
uuid String

唯一标识

fileName String

文件名

fileUrl String

文件地址

fileSize Number

文件大小,单位:Byte

文件消息的 payload 结构

CustomPayload

Properties:
Name Type Description
data String

自定义消息的 data 字段

description String

自定义消息的 description 字段

extension String

自定义消息的 extension 字段

自定义消息的 payload 结构

MergerPayload

Properties:
Name Type Description
downloadKey String

下载合并消息的 key, 如果合并消息的体积较大,SDK 会将消息存储在云端,此 key 作为消息的唯一标识

messageList Array.<SimplifiedMessage>

合并的消息列表

title String

合并的标题,比如:"大湾区前端人才中心的聊天记录"

abstractList String

摘要列表,不同的消息类型可以设置不同的摘要信息,比如:文本消息可以设置为:sender: text,图片消息可以设置为:sender: [图片],文件消息可以设置为:sender: [文件]

compatibleText String

兼容文本,低版本 SDK 如果不支持合并消息,默认会收到一条文本消息,文本消息的内容为 ${compatibleText}

layersOverLimit Boolean

合并消息嵌套层级是否超过限制。true,则消息被截断;默认值为 false

合并消息的 payload 结构

LocationPayload

Properties:
Name Type Description
description String

相关描述信息

longitude Number

经度

latitude Number

纬度

位置消息的 payload 结构

FacePayload

Properties:
Name Type Description
index Number

表情索引,用户自定义

data String

额外数据

表情消息的 payload 结构

GroupTipPayload

Properties:
Name Type Description
groupJoinType Number

加群类型,具体如下:

含义
0 默认值,表示该行为不是加群操作
1 申请加群
2 邀请加群
operatorID String

执行该操作的用户 ID

operatorInfo Object

执行该操作的用户信息(v3.4.2起支持)

operationType Number

操作类型,具体如下:

操作类型 含义
TencentCloudChat.TYPES.GRP_TIP_MBR_JOIN 1 有成员加群
TencentCloudChat.TYPES.GRP_TIP_MBR_QUIT 2 有群成员退群
TencentCloudChat.TYPES.GRP_TIP_MBR_KICKED_OUT 3 有群成员被踢出群
TencentCloudChat.TYPES.GRP_TIP_MBR_SET_ADMIN 4 有群成员被设为管理员
TencentCloudChat.TYPES.GRP_TIP_MBR_CANCELED_ADMIN 5 有群成员被撤销管理员
TencentCloudChat.TYPES.GRP_TIP_GRP_PROFILE_UPDATED 6 群组资料变更
TencentCloudChat.TYPES.GRP_TIP_MBR_PROFILE_UPDATED 7 群成员资料变更,例如:群成员被禁言
TencentCloudChat.TYPES.GRP_TIP_BAN_AVCHATROOM_MEMBER 10 封禁直播群群成员
TencentCloudChat.TYPES.GRP_TIP_UNBAN_AVCHATROOM_MEMBER 11 解封直播群群成员
userIDList Array.<String>

相关的 userID 列表

newGroupProfile Object

若是群资料变更,该字段存放变更的群资料

Properties
Name Type Description
muteAllMembers Boolean

true - 群成员全体禁言;false - 取消群成员全体禁言

groupCustomField Array.<Object>

若是群自定义字段变更,该字段存放变更的群自定义字段键值对

memberList Array.<Object>

当群成员被禁言时,可在该字段中拿到相关信息(可在该字段获取加入群或者退出群的群成员的昵称、头像等信息)

Properties
Name Type Description
userID String

群成员 userID

muteTime Number

被禁言的时长,单位:秒

nick String

群成员的个人昵称

avatar String

群成员的个人头像

duration String

封禁时长,单位:秒

reason String

封禁原因

群提示消息的 payload 结构。系统会在恰当的时机,向全体群成员发出群提示消息。例如:有群成员退群/进群,系统会给所有群成员发对应的群提示消息。

GroupSystemNoticePayload

Properties:
Name Type Description
operatorID String

执行该操作的用户 ID

operationType Number

操作类型,具体如下:

描述 接收对象
1 有用户申请加群 群管理员/群主接收
2 申请加群被同意 申请加群的用户接收
3 申请加群被拒绝 申请加群的用户接收
4 被踢出群组(若登录态未失效,SDK 仍会保留对应的群会话,如果您想删除会话,请使用 deleteConversation 被踢出的用户接收
5 群组被解散(若登录态未失效,SDK 仍会保留对应的群会话,如果您想删除会话,请使用 deleteConversation 全体群成员接收
6 创建群组 创建者接收
7 邀请加群 被邀请者接收
8 退群(若登录态未失效,SDK 仍会保留对应的群会话,如果您想删除会话,请使用 deleteConversation 退群者接收
9 设置管理员 被设置方接收
10 取消管理员 被取消方接收
11 群已被回收 全员接收,不展示
12 收到加群邀请,被邀请者需要同意或者拒绝 被邀请者接收
13 邀请他人加群,被他人同意 邀请发起者接收
14 邀请他人加群,被他人拒绝 邀请发起者接收
15 已读上报多终端同步通知 只有上报人自己收到
16 群成员被禁言或被取消禁言(muteTime 为0表示取消禁言) 被设置方接收
20 群消息提醒类型多终端、多实例同步通知 setMessageRemindType 的调用方接收
21 封禁直播群群成员 被封禁的群成员接收
22 解封直播群群成员 被封禁的群成员接收
23 普通群成员邀请用户进群 群管理员/群主接收
255 用户自定义通知 默认全员接收
groupProfile Object

相关的群组资料

userDefinedField String

用户自定义字段。使用 RestAPI 发送自定义通知时,可在该属性值中拿到自定义通知的内容。

handleMessage Object

处理的附言。例如:user1 申请加入 group1 时,若进群需要验证,且 user1 填写了申请加群的附言。则 group1 的管理员会在相应群系统通知中看到该字段。

messageRemindType String

消息提醒类型

  • TencentCloudChat.TYPES.MSG_REMIND_ACPT_AND_NOTE - SDK 接收消息并通知接入侧(抛出 收到消息事件),接入侧做提示
  • TencentCloudChat.TYPES.MSG_REMIND_ACPT_NOT_NOTE - SDK 接收消息并通知接入侧(抛出 收到消息事件),接入侧不做提示
  • TencentCloudChat.TYPES.MSG_REMIND_DISCARD - SDK 拒收消息
  • TencentCloudChat.TYPES.NOT_RECEIVE_OFFLINE_PUSH_EXCEPT_AT 在线接收消息,离线仅接收群 @消息 的推送

群系统通知的 payload 结构。系统会在恰当的时机,向特定用户发出群系统通知。例如:user1 被踢出群组,系统会给 user1 发送对应的群系统消息。