# Bilibili抽奖工具 **Repository Path**: ircon/bilibili-lottery-tool ## Basic Information - **Project Name**: Bilibili抽奖工具 - **Description**: Bilibili抽奖工具。支持弹幕和评论区抽奖。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2022-01-19 - **Last Updated**: 2025-06-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bilibili抽奖工具 ## 下载&开发过程 gitee的下载速度有点感人,可以到wolai里面看看。这里面有开发过程的笔记。 [Wolai-BilibiliSpy](https://www.wolai.com/ek69vKM2nbmQXYbjo2uqTG) ## 功能 目前,弹幕抽奖和评论区抽奖了已经完全写完。界面优化计划中。后续会视情况添加功能。 用的WSS协议,所以不用担心会漏掉弹幕。 ## 使用方法 功能写完了。readme后面改。 ![image-20220209200520170](readme.assets/image-20220209200520170.png) ### 弹幕签到抽奖 注意界面重写了!但是操作方法不变。 现在是这个样子。 ![image-20220208195440934](readme.assets/image-20220208195440934.png) 日后再更新之前使用的界面图片。 启动后会看到如下界面。 ![image-20220119101252470](readme.assets/image-20220119101252470.png) 为了方便描述,做如下规定。 ![image-20220119101617047](readme.assets/image-20220119101617047.png) `房间ID` 中填入直播间的链接ID。 什么是链接ID? 如图所示。图中直播间的连接中,绿色方框(红色箭头)所至处的数字。 ![image-20220119101812637](readme.assets/image-20220119101812637.png) `签到内容` 填写判定弹幕为签到弹幕的文字。`签到条件` 说明签到文字和弹幕之间的关系。 比如:用户`a1`发送弹幕`签到`。用户`a2`发送弹幕`我来签到`。用户`a3`发送弹幕`我是来捣乱的`。 如果`签到内容`中填写的是`签到`,且`签到条件`为`全部匹配`。那么程序会认为,`a1`成功签到,`a2`、`a3`没有签到。原因是,a2虽然包含`签到`两个字,但是没有满足`全部匹配`的条件——弹幕只能有`签到`两个字。`a3`的弹幕中没有`签到`两个字 如果`签到内容`中填写的是`签到`,且`签到条件`为`包含即可`。那么程序会认为,`a1`、`a2`都成功签到。`a3`没有签到。`a1`、`a2`都包含`签到`两个字,`a3`不包含`签到`两个字。 `弹幕列表`会显示已经签到的用户的ID、名称和弹幕内容。注意:此处的内容不会过滤用户的重复签到,所以如果一个用户通过弹幕签到多次,那么多条签到弹幕都会在这里显示。重复用户的过滤,会在抽奖前进行。 `按钮区`用于控制。 `开始`按钮。在已经填写完毕`签到内容`和设置好`签到条件`之后。点击`开始`,此时程序会开始监听直播间的弹幕。 `停止`按钮。点击`开始`按钮之后,点击`停止`按钮,程序停止监听直播间弹幕。 `清除`按钮。清除`弹幕列表`中所有的内容,所有签到作废。 `抽奖`按钮。打开抽奖界面。抽奖界面如图所示: ![image-20220119103747821](readme.assets/image-20220119103747821.png) 这里需要注意,抽奖名单是`累计抽奖`。`候选人列表`中会过滤重复用户。 什么是`累计抽奖`? 比如现在在`候选人列表`中有如下数据: ```txt ID 昵称 123 hehe1 124 hehe2 125 hehe3 126 hehe4 ``` 抽奖人数设置为2。 点击一次`抽奖按钮`。`获奖人名单`会显示: ``` 126 hehe4 124 hehe2 ``` 此时`候选人列表`会显示: ``` ID 昵称 123 hehe1 125 hehe3 ``` 如果`抽奖人数`不变继续点击一次`抽奖按钮`。 `获奖人名单`会显示: ``` 126 hehe4 124 hehe2 125 hehe3 123 hehe1 ``` 此时`候选人列表`为空。 ## 已知问题 - ~~用于抽奖的随机数不是那么随机。而且是中态分布的。~~ - ~~界面很丑。现在是swing,后面可能用javafx~~ - JavaFX高分辨屏幕支持问题 - 输入法错位 - 特定的视频评论无法爬取 - Clipboard大小限制问题没有考虑。 ## 安装方法 需要安装JDK11。其他第三方SDK,已经打入Jar包。 解压release的压缩包。 打开`readme.txt`。复制文本第二行的指令。 在`readme.txt`所在的目录打开命令行输入指令。(也就是当前目录必须是软件的根目录)