风格一 | |
风格二 | |
addMessageReaction
接口为一条消息添加一个 emoji,添加成功后,emoji 下就会存储当前操作用户。removeMessageReaction
接口删除已经添加的 emoji,删除成功后,emoji 下就不再存储当前操作用户。getMessageReactions
接口批量拉取多条消息的 emoji 列表,其中每个 emoji 都包含了当前使用者总人数以及前 N(默认 10)个使用者用户资料。getAllUserListOfMessageReaction
接口分页拉取消息 emoji 的全量使用者用户资料。TencentCloudChat.EVENT.MESSAGE_REACTIONS_UPDATE
事件,感知 emoji 的使用者信息变更,该事件会携带 emoji 最新的使用者信息(包含使用者总人数以及前 N 个使用者用户资料)。chat.addMessageReaction(message, reactionID);
属性 | 含义 | 说明 |
message | 消息对象 | 消息必须是发送成功的状态。 |
reactionID | 消息回应 ID | 在表情回应场景,reactionID 为表情 ID。 |
Promise
let promise = chat.addMessageReaction(message, 'smile');promise.then(function(imResponse) {// 添加消息回应成功}).catch(function(imError) {// 添加消息回应失败console.warn('addMessageReaction error:', imError);});
chat.removeMessageReaction(message, reactionID);
属性 | 含义 | 说明 |
message | 消息对象 | 消息必须是发送成功的状态。 |
reactionID | 消息回应 ID | 在表情回应场景,reactionID 为表情 ID。 |
Promise
let promise = chat.removeMessageReaction(message, 'smile');promise.then(function(imResponse) {// 删除消息回应成功}).catch(function(imError) {// 删除消息回应失败console.warn('removeMessageReaction error:', imError);});
chat.getMessageReactions(options);
属性 | 含义 | 说明 |
messageList | 消息列表 | 消息必须属于同一个会话,消息必须是发送成功的状态。 |
maxUserCountPerReaction | 每个 Reaction 返回的最大用户资料数量 | 取值范围[0,10],每个 Reaction 最多只返回前 10 个用户资料,如需更多用户资料, 可以按需调用 getAllUserListOfMessageReaction 接口分页拉取。 |
Promise
let promise = chat.getMessageReactions({messageList: [message1, message2],maxUserCountPerReaction: 10,});promise.then(function(imResponse) {// 批量拉取成功const resultList = imResponse.data;resultList.forEach((item) => {const { messageID, reactionList } = item;// reactionList 返回的信息如下:// reactionID - 消息回应 ID// totalUserCount - 同一个 reactionID 回应消息的总的用户个数// partialUserList - 同一个 reactionID 的部分用户列表,包含用户的 userID、nick、avatar 信息});}).catch(function(imError) {// 批量拉取失败console.warn('getMessageReactions error:', imError);});
chat.getAllUserListOfMessageReaction(options);
属性 | 含义 | 说明 |
message | 消息对象 | 消息必须是发送成功的状态。 |
reactionID | 消息回应 ID | 在表情回应场景,reactionID 为表情 ID。 |
nextSeq | 分页拉取的游标 | 第一次传 0,后续分页传 succ 返回的 nextSeq。 |
count | 一次分页最大拉取个数 | 最大支持 100 个 |
Promise
let promise = chat.getAllUserListOfMessageReaction({message: message,reactionID: 'smile',nextSeq: 0,count: 100,});promise.then(function(imResponse) {// 获取成功const { userList, nextSeq, isCompleted } = imResponse.data;// userList - 用户信息列表,包含用户的 userID、nick、avatar 信息// nextSeq - 用于续拉,分页续拉时需传入该字段// isCompleted - 表示是否已经拉完所有的用户信息。isCompleted 为 true 时,nextSeq 为 0}).catch(function(imError) {// 获取失败console.warn('getAllUserListOfMessageReaction error:', imError);});
let onMessageReactionsUpdated = function(event) {const { messageID, reactionList } = event.data;// messageID - 消息 ID// reactionList - 消息回应更新列表reactionList.forEach((item) => {const { reactionID, totalUserCount, partialUserList } = item;// reactionID - 消息回应 ID// totalUserCount - 同一个 reactionID 回应消息的总的用户个数// partialUserList - 同一个 reactionID 的部分用户列表});};chat.on(TencentCloudChat.EVENT.MESSAGE_REACTIONS_UPDATED, onMessageReactionsUpdated);
本页内容是否解决了您的问题?