添加删除SC功能

This commit is contained in:
John Smith
2019-10-06 12:23:47 +08:00
parent 040bad0eba
commit ce4974be94
3 changed files with 38 additions and 18 deletions

Submodule blivedm updated: 1613238420...fb9b687e58

View File

@@ -83,12 +83,13 @@ export default {
let {cmd, data} = JSON.parse(event.data)
let message = null
let time = data.timestamp ? new Date(data.timestamp * 1000) : new Date()
switch(cmd) {
switch (cmd) {
case COMMAND_ADD_TEXT:
if (!this.config.showDanmaku || !this.filterTextMessage(data) || this.mergeSimilar(data.content)) {
break
}
message = {
id: `text_${this.nextId++}`,
type: constants.MESSAGE_TYPE_TEXT,
avatarUrl: data.avatarUrl,
time: time,
@@ -108,6 +109,7 @@ export default {
break
}
message = {
id: `gift_${this.nextId++}`,
type: constants.MESSAGE_TYPE_SUPER_CHAT,
avatarUrl: data.avatarUrl,
authorName: data.authorName,
@@ -122,6 +124,7 @@ export default {
break
}
message = {
id: `member_${this.nextId++}`,
type: constants.MESSAGE_TYPE_MEMBER,
avatarUrl: data.avatarUrl,
time: time,
@@ -138,6 +141,7 @@ export default {
break
}
message = {
id: `sc_${data.id}`,
type: constants.MESSAGE_TYPE_SUPER_CHAT,
avatarUrl: data.avatarUrl,
authorName: data.authorName,
@@ -146,10 +150,21 @@ export default {
content: data.content
}
break
case COMMAND_DEL_SUPER_CHAT:
// TODO 删除SC
case COMMAND_DEL_SUPER_CHAT: {
let arrays = [this.messages, this.messagesBuffer, this.paidMessages]
for (let id of data.ids) {
id = `sc_${id}`
for (let arr of arrays) {
for (let i = 0; i < arr.length; i++) {
if (arr[i].id === id) {
arr.splice(i, 1)
}
}
}
}
break
}
}
if (message) {
this.addMessageBuffer(message)
}
@@ -208,7 +223,7 @@ export default {
return false
},
addMessageBuffer(message) {
if (this.config.maxSpeed > 0 && message.type === 0) {
if (this.config.maxSpeed > 0 && message.type === constants.MESSAGE_TYPE_TEXT) {
message.addTime = new Date()
this.messagesBuffer.push(message)
} else {
@@ -217,7 +232,6 @@ export default {
}
},
addMessageShow(message) {
message.id = this.nextId++
message.addTime = new Date()
this.messages.push(message)
if (message.type !== constants.MESSAGE_TYPE_TEXT) {

View File

@@ -208,8 +208,8 @@ class RoomManager:
@staticmethod
def __send_test_message(room):
base_data = {
'avatarUrl': 'https://i0.hdslb.com/bfs/face/29b6be8aa611e70a3d3ac219cdaf5e72b604f2de.jpg@48w_48h',
'timestamp': time.time(),
'avatarUrl': 'https://i0.hdslb.com/bfs/face/29b6be8aa611e70a3d3ac219cdaf5e72b604f2de.jpg@48w_48h',
'timestamp': time.time(),
'authorName': 'xfgryujk',
}
text_data = {
@@ -222,25 +222,31 @@ class RoomManager:
'isNewbie': False,
'isMobileVerified': True
}
vip_data = base_data
member_data = base_data
gift_data = {
**base_data,
'giftName': '礼花',
'giftName': '摩天大楼',
'giftNum': 1,
'totalCoin': 28000
'totalCoin': 450000
}
sc_data = {
**base_data,
'price': 30,
'content': 'The quick brown fox jumps over the lazy dog',
'id': 1
}
room.send_message(Command.ADD_TEXT, text_data)
text_data['authorName'] = '主播'
text_data['authorType'] = 3
text_data['content'] = "I can eat glass, it doesn't hurt me."
room.send_message(Command.ADD_TEXT, text_data)
room.send_message(Command.ADD_MEMBER, vip_data)
room.send_message(Command.ADD_GIFT, gift_data)
gift_data['giftName'] = '节奏风暴'
gift_data['totalCoin'] = 100000
room.send_message(Command.ADD_GIFT, gift_data)
gift_data['giftName'] = '摩天大楼'
gift_data['totalCoin'] = 450000
room.send_message(Command.ADD_MEMBER, member_data)
room.send_message(Command.ADD_SUPER_CHAT, sc_data)
sc_data['price'] = 100
sc_data['content'] = '敏捷的棕色狐狸跳过了懒狗'
sc_data['id'] = 2
room.send_message(Command.ADD_SUPER_CHAT, sc_data)
# room.send_message(Command.DEL_SUPER_CHAT, {'ids': [1, 2]})
room.send_message(Command.ADD_GIFT, gift_data)
gift_data['giftName'] = '小电视飞船'
gift_data['totalCoin'] = 1245000