From 10a6a91e7447f69bc552544e68a97c22894235a6 Mon Sep 17 00:00:00 2001 From: John Smith Date: Wed, 29 May 2019 22:28:10 +0800 Subject: [PATCH] =?UTF-8?q?2019-5-29=20B=E7=AB=99=E5=BC=B9=E5=B9=95?= =?UTF-8?q?=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +++- blivedm.py | 22 +++++++--------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 81978c7..ba6d60e 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,6 @@ 获取bilibili直播弹幕,使用websocket协议 -[协议解释](https://blog.csdn.net/xfgryujk/article/details/80306776) +[协议解释](https://blog.csdn.net/xfgryujk/article/details/80306776)(有点过时了,总体是没错的) + +基于本库开发的一个应用:[blivechat](https://github.com/xfgryujk/blivechat) diff --git a/blivedm.py b/blivedm.py index 928613c..ef91e76 100644 --- a/blivedm.py +++ b/blivedm.py @@ -59,22 +59,11 @@ class BLiveClient: } for cmd in ( # 其他已知命令 # 从前端扒来的 - '66FFFF', 'SYS_MSG', 'SYS_GIFT', 'GUARD_MSG', 'LIVE', 'PREPARING', - 'END', 'CLOSE', 'BLOCK', 'ROUND', 'WELCOME', 'REFRESH', - 'ACTIVITY_RED_PACKET', 'ROOM_LIMIT', 'PK_PRE', 'PK_END', 'PK_SETTLE', - 'PK_MIC_END', 'live', 'preparing', 'end', 'close', 'block', 'pre-round', - 'round', 'error', 'player-state-play', 'player-state-pause', 'http:', - 'https:', 'ws:', 'wss:', 'videoVolume', 'homeVideoVolume', 'div', - 'canvas', 'initialized', 'playerStateChange', 'liveStateChange', - 'videoStateChange', 'fullscreenChange', 'playing', 'paused', 'switchLine', - 'switchQuality', 'webFullscreen', 'feedBackClick', 'blockSettingClick', - 'set', 'initDanmaku', 'addDanmaku', 'sendDanmaku', 'receiveOnlineCount', - 'receiveMessage', 'userLogin', 'giftPackageClick', 'sendGift', 'guidChange', - 'reload', 'danmaku', 'block', 'gift', 'firstLoadedAPIPlayer', - 'firstLoadedAPIPlayurl', 'firstLoadStart', 'firstLoadedMetaData', - 'firstPlaying', 'enterTheRoom', 'operableElementsChange', + '66FFFF', 'SYS_MSG', 'SYS_GIFT', 'GUARD_MSG', 'LIVE', 'PREPARING', 'END', 'CLOSE', + 'BLOCK', 'ROUND', 'WELCOME', 'REFRESH', 'ACTIVITY_RED_PACKET', 'ROOM_LIMIT', + 'PK_PRE', 'PK_END', 'PK_SETTLE', 'PK_MIC_END', # 其他遇到的 - 'COMBO_SEND', 'COMBO_END', 'ROOM_RANK', 'NOTICE_MSG', 'WELCOME_GUARD', + 'COMBO_SEND', 'COMBO_END', 'ROOM_RANK', 'NOTICE_MSG', 'WELCOME_GUARD', 'GUARD_BUY', 'WISH_BOTTLE', 'RAFFLE_START', 'ENTRY_EFFECT', 'ROOM_REAL_TIME_MESSAGE_UPDATE' ): _COMMAND_HANDLERS[cmd] = None @@ -252,6 +241,9 @@ class BLiveClient: return cmd = command['cmd'] + pos = cmd.find(':') # 2019-5-29 B站弹幕升级新增了参数 + if pos != -1: + cmd = cmd[:pos] if cmd in self._COMMAND_HANDLERS: handler = self._COMMAND_HANDLERS[cmd] if handler is not None: