- 本项目已经取代 https://github.com/yjqiang/bilibili-live-tools,旧项目已经完全废除,不再提供更新和 bug 修复
- 项目初期只是想作为多用户分支,结果做完后发现,比原来项目做了很多。比如结构优化、很多函数调整、web_session 独立以及一些新的功能等,而且对单用户也很友好
- WIKI 里面有一些功能说明,以及代码一些设计细节
- https://github.com/lzghzr/bilive_client 该项目作者的大力支持
- Coderx for GitHub 的作者 https://github.com/CoderxforGitHub 对用户任务设计等的帮助以及其开发的 Github 软件的便利
- 先下载项目到电脑 https://github.com/yjqiang/bili2.0/archive/master.zip
- 安装 python3.6+,安装方法请自行谷歌/百度
- requirements.txt 是所需第三方模块,执行
pip install -r requirements.txt
安装模块 - /conf/user.sample.toml 是用户目录示例,在里面添加自己的账号;/conf/ctrl.sample.toml 是用户配置示例,里面有说明按需要开启功能; /conf/task.sample.toml 是任务(小电视、勋章投喂等)控制。需要自己定制这几个文件(不是在原来 sample 文件上改,而是自己在 conf 文件夹内新建 user.toml、ctrl.toml 和 task.toml 文件,在新文件上面改(注意全部复制过去后再改,sample 文件只作为用户使用参考,程序运行不会读取此文件,只会读取用户的新建 toml 文件))
- Python 和需要模块都装好了直接 cmd 运行
python run.py
- 节奏风暴默认关闭,开启需要把 /conf/task.sample.toml 的
join_storm_raffle
修改,抢风暴的逻辑可以自由定制 /tasks/storm_raffle_handler.py - 动态和实物抽奖总开关(这里的开关是程序暴力轮询总开关,与 /conf/task.sample.toml 中的不一样,task控制的是单个用户是否参与)在 ctrl.sample.toml ,开启后需要在 /conf/task.sample.toml 更新
dyn_lottery_friends
(这是转发动态艾特的人选),参与的抽奖会在 dyn 里面产生一个 database 数据库(sqlite3)。
docker run --rm -it \
-v $(pwd)/user.sample.toml:/app/conf/user.toml \
-v $(pwd)/ctrl.sample.toml:/app/conf/ctrl.toml \
-v $(pwd)/run.py:/app/run.py \
zsnmwy/bili2.0
$(pwd)
获取当前目录路径。
假设下载的文件都在 D:\python
。
下面命令需要在 powershell 上面执行。
docker run --rm -it `
-v D:\python\user.sample.toml:/app/conf/user.toml `
-v D:\python\ctrl.sample.toml:/app/conf/ctrl.toml `
-v D:\python\run.py:/app/run.py `
zsnmwy/bili2.0
`--rm` 退出的时候,会把容器删除。
`-i` 让容器的标准输入保持打开。
`-t` 让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上。
`-d` 让容器后台运行。如果你想后台,加个在 `-it` 后面加个 `d` 就行。
`-v` 可以把本机的(目录/文件)挂载到容器里面,起到加入/替换的作用。如果你使用的是项目的默认值,则不用 `-v` 来指定文件替换。但是用户文件 user.toml 是一定要的,不然程序找不到用户的。
如果有什么奇葩问题,或者需要更新镜像,使用 docker pull zsnmwy/bili2.0
进行更新。
在 -it
交互模式下,在容器运行着的 Python 直接用 Ctrl+C
无法正常退出容器。需要使用 docker rm -f
强制结束。
$docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a746fb0325fb zsnmwy/bili2.0 "/bin/sh -c 'git pul…" 44 seconds ago Up 42 seconds frosty_mccarthy
$docker rm -f a7
a7