Skip to content

Commit

Permalink
额外通过内容来判断是否是礼物弹幕
Browse files Browse the repository at this point in the history
  • Loading branch information
xfgryujk authored and DoodleBears committed Sep 24, 2023
1 parent 6b6f09a commit 6fba98f
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 5 deletions.
2 changes: 1 addition & 1 deletion frontend/src/api/chat/ChatClientDirectOpenLive.js
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ export default class ChatClientDirectOpenLive extends ChatClientOfficialBase {
authorType: authorType,
content: data.msg,
privilegeType: data.guard_level,
isGiftDanmaku: false,
isGiftDanmaku: chat.isGiftDanmakuByContent(data.msg),
authorLevel: 1,
isNewbie: false,
isMobileVerified: true,
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/api/chat/ChatClientDirectWeb.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,15 @@ export default class ChatClientDirectWeb extends ChatClientOfficialBase {
}

let authorName = info[2][1]
let content = info[1]
let data = {
avatarUrl: await chat.getAvatarUrl(uid, authorName),
timestamp: info[0][4] / 1000,
authorName: authorName,
authorType: authorType,
content: info[1],
content: content,
privilegeType: privilegeType,
isGiftDanmaku: Boolean(info[0][9]),
isGiftDanmaku: Boolean(info[0][9]) || chat.isGiftDanmakuByContent(content),
authorLevel: info[4][0],
isNewbie: info[2][5] < 10000,
isMobileVerified: Boolean(info[2][6]),
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/api/chat/ChatClientRelay.js
Original file line number Diff line number Diff line change
Expand Up @@ -133,14 +133,15 @@ export default class ChatClientRelay {
emoticon = contentTypeParams[0]
}

let content = data[4]
data = {
avatarUrl: data[0],
timestamp: data[1],
authorName: data[2],
authorType: data[3],
content: data[4],
content: content,
privilegeType: data[5],
isGiftDanmaku: Boolean(data[6]),
isGiftDanmaku: Boolean(data[6]) || chat.isGiftDanmakuByContent(content),
authorLevel: data[7],
isNewbie: Boolean(data[8]),
isMobileVerified: Boolean(data[9]),
Expand Down
29 changes: 29 additions & 0 deletions frontend/src/api/chat/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,32 @@ export async function getTextEmoticons() {
}
return res.textEmoticons
}

// 开放平台接口不会发送是否是礼物弹幕,只能用内容判断了
const GIFT_DANMAKU_CONTENTS = new Set([
// 红包
'老板大气!点点红包抽礼物',
'老板大气!点点红包抽礼物!',
'点点红包,关注主播抽礼物~',
'喜欢主播加关注,点点红包抽礼物',
'红包抽礼物,开启今日好运!',
'中奖喷雾!中奖喷雾!',
// 节奏风暴
'前方高能预警,注意这不是演习',
'我从未见过如此厚颜无耻之人',
'那万一赢了呢',
'你们城里人真会玩',
'左舷弹幕太薄了',
'要优雅,不要污',
'我选择狗带',
'可爱即正义~~',
'糟了,是心动的感觉!',
'这个直播间已经被我们承包了!',
'妈妈问我为什么跪着看直播 w(゚Д゚)w',
'你们对力量一无所知~( ̄▽ ̄)~',
// 好像花式夸夸还有,不想花钱收集内容了
])

export function isGiftDanmakuByContent(content) {
return GIFT_DANMAKU_CONTENTS.has(content)
}

0 comments on commit 6fba98f

Please sign in to comment.