Comment 评论

获取评论页数

// 返回评论页数,类型为int
var commentPage = Mudu.Room.Comment.GetPage()

发送评论

Mudu.Room.Comment.Send(
  // 要发送的评论文本,类型为string
  '活动很赞很给力',

  // 发送完成的回调函数,参数为response对象
  function (response) {
    response = JSON.parse(response)
    if (response.status === 'y') {
      console.log('发送成功')
    }
    if (response.status === 'n') {
      console.log('发送失败,错误码为:' + response.flag)
    }
  }
)
  • response对象说明
{
  // 成功状态,类型为string,成功时为'y',失败时为'n'
  status: 'y',

  // 状态码码,类型为int,成功时为0,失败不为0
  flag: 100,

  // 信息,类型为string,成功时为'发送消息成功!',失败时为'发送消息失败!'
  info: "发送消息成功!/失败!"
}
  • flag状态码码对照表
flag info status
100 发送消息成功 y
101 管理员禁止了聊天 n
102 观众被禁言 n
104 禁止匿名聊天 n
105 发送聊天内容过长 n
106 频繁发送 n
107 发送聊天内容中包含敏感词 n
135 系统不允许观众使用匿名身份 n
136 昵称中包含敏感词 n
103 其他错误,发送失败 n

获取评论

Mudu.Room.Comment.Get(
  // 要获取评论的页码,类型为int
  2,

  // 评论获取成功的回调函数,参数为response对象
  function (response) {
    response = JSON.parse(response)
    if (response.status === 'y') {
      console.log('获取评论成功,数据为:', response.data)
    } 
    if (response.status === 'n'){
      console.log('获取评论失败')
    }
  }
)
  • response返回结果说明
{
    // 状态
    "status": 'y',

    // 返回的数据
    "data": {
      // 还剩下多少页
      page: 70,

      // 获取到的评论
      comments: [
        {
          "id": 3438056,
          "visitor_id": "1493401897797743654_api",
          "username": "小白白",
          "message": "这个真不错",
          "avatar": "http://cdn12.mudu.tv/thumbnails/uploads/9/b5ed4ba472bbaa27e092be7594a2e31d.jpg",
          "dateline": 1493693178,
          "pushed": 1,
          "checked": 1,
          "top": 0,
          "msg_type": 10,
          "is_admin": 0
        },
        ......
      ]
    },
}
  • comments说明
名称 说明 类型
id 评论id int
visitor_id 观众标志 string
username 评论者的观众名 string
message 评论的文本 string
avatar 评论这个的头像 string
dateline 评论的时间戳 int
pushed 是否已经发送了弹幕,0未发送,1已发送 int
checked 是否审核 ,0 已审核,1未审核 int
top 是否置顶 ,0 不置顶,1置顶 int
msg_type 消息来源类型, 10为普通文本消息...,详情见下表 int
is_admin 是否为管理员发送, 1是, 0不是 int
  • msg_type 和 message之间的映射关系
类型 标志位(msg_type) 存储类型 示例(message) 备注
普通评论 10 字符串 "真香" 表情替换
发送普通红包 20 字符串json '{"id":"nm4dk9jm", "type":1, "name":"恭喜发财!大吉大利!", }' type 2:钉钉
发送口令红包 21 字符串json '{"id":"nm4dk9jm", "type":1, "name":"恭喜发财!大吉大利!"}' type 2:钉钉
发送竞答红包 22 字符串json '{"id":"nm4dk9jm", "name":"参与竞答领取红包!"}'
发送竞答红包(自定义) 23 字符串json '{"id":"nm4dk9jm", "name":"参与竞答领取红包!"}'
抢口令红包评论 31 字符串 "大吉大利,今晚吃鸡"
免费道具打赏 40 字符串json '{"src":"https://xxx.com/a.jpg". "name":"免费道具", "number":1 }'
付费道具打赏 41 字符串json '{"src":"https://xxx.com/c.jpg". "name":"付费道具", "number":88 }'
现金打赏 42 字符串json '{"name":"赏赐", "amount":88.99 }'
图片评论 50 字符串 "https://xxx.com/abc.jpg"
系统自定义消息 60 字符串 "欢迎大家参与讨论"
观众匿名消息 11 字符串 "猜猜我是谁"

获取当前用户使用匿名身份聊天相关配置

var anonymousCommentConfig = Mudu.Room.Comment.GetAnonymousCommentConfig()
  • anonymousCommentConfig 说明
属性 描述 类型
allowed 系统是否开启了允许观众使用匿名身份聊天 boolean
inUse 用户是否使用了匿名身份 boolean
nickname 观众匿名名称 string
avatar 观众匿名头像地址 string

设置用户匿名身份

说明:

  1. 如果设置开启用户匿名身份成功,用户之后发送聊天时将会使用匿名身份发送;
  2. 当次设置仅在本次sdk生命周期内有效,下次初始化sdk时需要重新设置聊天匿名身份;
  3. 为避免与默认的“匿名观众”身份混淆,建议在对观众Assign实名身份之后再允许其使用匿名身份聊天
const param = {
  // 设置当前用户是否使用匿名身份聊天
  inUse: true,
  // 设置当前用户匿名身份的昵称,最大长度 60
  nickname: '匿名用户',
  // 设置当前用户匿名身份的头像
  avatar: 'https://static.mudu.tv/assets/anonymized-user-avatar.png'
}
Mudu.Room.Comment.SetAnonymousCommentConfig(
  // 要设置的匿名配置
  param,
  // 设置结果
  function (response) {
    response = JSON.parse(response)
    if (response.status === 'y') {
      console.log('设置用户匿名聊天身份成功')
    }
    if (response.status === 'n') {
      console.log('设置用户匿名聊天身份失败:', response)
    }
  }
)
  • response 返回结果说明
{
  // 是否设置成功标志
  status: 'y',
  errcode: 1000
}
  • errcode 说明
errcode 说明 对应status
1000 成功 'y'
1406 设置昵称过长(可设置长度不超过60的字符串) 'n'
4935 系统不允许观众使用匿名身份 'n'
4936 昵称中包含敏感词 'n'

Comment.New事件

Comment.New事件会在评论新增的时候被触发

Mudu.MsgBus.On(
  // 事件名,值为Comment.New
  'Comment.New', 

  // 事件处理函数,参数为新的评论,类型为object
  function (newComment) {
    newComment = JSON.parse(newComment)
    console.log(newComment.username + '发送了一条新评论: ' + newComment.message)
  }
)
  • 事件处理函数参数newComment对象说明
名称 说明 类型
id 评论id int
visitor_id 观众标志 string
username 评论者的观众名 string
message 评论的文本 string
avatar 评论这个的头像 string
dateline 评论的时间戳 int
pushed 是否已经发送了弹幕,0未发送,1已发送 int
checked 是否审核 ,1 已审核,0未审核 int
top 是否置顶 ,0 不置顶,1置顶 int
msg_type 消息来源类型, 10为普通文本消息...,详情见上表 int
is_admin 是否为管理员发送, 1是, 0不是 int

Comment.Top事件

Comment.Top事件会在评论被置顶或者取消置顶的时候被触发

Mudu.MsgBus.On(
  // 事件名,值为Comment.Top
  'Comment.Top',

  // 事件处理函数,参数为被置顶或取消置顶评论,类型为object
  function (topComment) {
    topComment = JSON.parse(topComment)
    console.log(topComment.top == 1 ? '被置顶的评论为' : '被取消置顶的评论为', topComment)
  }
)

Comment.Avaliable.Changed事件

Comment.Avaliable.Changed事件会在后台聊天设置 -> 允许观众聊天切换时被触发。

Mudu.MsgBus.On(
  // 事件名, 值为Comment.Avaliable.Changed
  'Comment.Avaliable.Changed',

  // 事件处理函数
  function (res) {
    res = JSON.parse(res)
    var msg = res.open == 0 ? '聊天已关闭' : '聊天已开启'
    console.log(msg)
  }
)

res 参数说明:

属性 描述 类型
open 开启状态,1为开启,0为关闭 number

Visitor.Mute事件

Visitor.Mute事件会在某一个观众被禁言或者取消禁言的时候被触发

Mudu.MsgBus.On(
  // 事件名,值为Visitor.Mute
  'Visitor.Mute',

  // 事件处理函数,参数为禁言或者解禁的观众,类型为object
  function (user) {
    user = JSON.parse(user)
    var msg = user.mute == 1 ? '被禁言' : '被解除禁言'
    console.log(user.user + msg + ', 该观众的id为' + user.visitorId)
  }
)

user 参数说明:

属性 描述 类型
mute 禁言状态,1为被禁言, 2 为被取消禁言 number
visitorId 被禁言或者取消禁言的观众id string
user 被禁言或者取消禁言的观众名 string

results matching ""

    No results matching ""