项目简介

bilibili-danmu是一个集弹幕监控、礼物答谢、定时广告、关注感谢、自动回复等功能于一体的综合性工具。它内置了完整的积分商城系统,支持私有部署,无需审核限制。用户可通过签到或开通大航海等行为自动获取积分,并用于兑换礼物。

这不仅让它超越了一般的弹幕机器人,更成为一个提升观众互动、增强直播粘性、助力主播变现的全方位解决方案。

GitHub 仓库地址:点击进入

视频教学:点击查看

核心功能

  • 积分商城:用户可通过每日签到或开通直播间大航海获取积分,兑换商城中的虚拟道具或实体礼品。
  • 直播间打卡签到:用户每日完成直播间签到,可累计/连续记录签到天数,并获得相应积分,用于兑换积分商城内的各类商品。
  • PK 播报:PK 对战开启前,系统将自动播报对手直播间成员活跃度及贡献榜单信息,可自定义播报内容。
  • 礼物答谢:收到观众礼物时自动触发答谢功能,支持自定义答谢金额门槛和多条个性化答谢文案。
  • 定时广告:定时发送预设内容至直播间,支持配置多条文案并智能随机轮播。
  • 进房欢迎:用户进入直播间时自动欢迎,并支持配置多条差异化欢迎话术随机展示。
  • 感谢关注:用户关注直播间时自动感谢,并支持配置多条差异化欢迎话术随机展示。
  • 感谢分享:用户分享直播间时自动感谢,并支持配置多条差异化欢迎话术随机展示。
  • 自动回复:当用户弹幕触发预设关键词时,系统将智能匹配并随机推送差异化回复内容,支持自定义多套回复方案。
  • 自动禁言:基于自动回复功能,当触发自动回复规则时,可对违规用户执行临时禁言处罚,同时支持用户通过赠送指定价值的电池礼物来提前解除禁言状态。

部署方案

新手推荐方案:Docker 一键部署

可能不是最完美的方案,但它一定是对新手最友好的选择:一键配置,命令执行后静待完成,项目会自动拉取、配置并保持更新,全程无需额外操作。

在你的服务器上执行:

1
curl -fsSL https://bilibili-danmu-scripts.oss-cn-hongkong.aliyuncs.com/install-docker.sh | bash

没有开发基础的用户 请确保您使用的是 阿里云 位于 香港 地域的 Ubuntu 24.04 64 位 版本的服务器。这是一套经过验证的环境,能最大程度减少部署问题

其他云服务商或系统版本未做兼容性测试,不排除出现问题的可能性。如果你遇到问题,可以来问我,我乐意帮忙,全当交个朋友。但不保证解决。

一键部署脚本写得很简单,不依赖复杂逻辑,有动手能力的用户完全可以自行调整环境。完全不懂的朋友,建议按推荐环境来,别自找麻烦。

不会购买服务器看下方「一些问题」中的「关于购买服务器」

购买服务器不知道如何使用的看下方「一些问题」中的「购买了服务器要如何使用」

手动部署方案

以下是手动部署项目的推荐流程,适合具备基本 PHP 环境搭建经验的用户。

后台本体:Github 仓库

  • 环境要求:LNMP 环境,PHP 8.1+,需安装 Redis、Brotli、GD 扩展
  • 项目结构:标准 PHP 项目,依赖管理采用 Composer,符合现代开发规范。首次运行前请执行 composer install​ 安装依赖。
  • 数据库迁移:使用 Phinx 进行管理。请在完成 .env​ 配置及依赖安装后,执行 php vendor/bin/phinx migrate -e development​ 进行数据库结构初始化(需提前创建一个 UTF8MB4 编码的数据库)。
  • 运行方式:基于 Webman 框架,启动流程与官方一致,详细说明可参考官方文档
    1
    2
    3
    4
    5
    6
    git clone https://github.com/zxc7563598/php-bilibili-danmu.git ./
    cp .env.example .env
    # 修改 .env 配置,参考 .env.example 填写
    composer install
    php vendor/bin/phinx migrate -e development
    php start.php start -d

积分商城端:Github 仓库
后台管理端:Github 仓库

  • 环境要求:本地 NodeJs 环境
  • 项目结构:基于 Vite 构建的 Vue 标准项目,首次使用请先通过 npm install​ 安装依赖。
  • 运行方式:所有 npm 命令均保持默认配置,通过 npm run dev 启动开发模式,通过 npm run build 打包生产版本。配置文件通过 .env 管理,可参考 .env.example
    1
    2
    3
    4
    5
    git clone 对应的仓库 ./
    cp .env.example .env
    # 修改 .env 配置,参考 .env.example 填写
    npm install
    npm run build

一些问题(持续更新)

这里整理了一些常见但零散的问题,集中统一解答。

如果你对这些内容已有了解,完全可以跳过这一节,仓库代码都在上面,自己看、自己用,相信你们有能力解决大多数问题。

但如果你是刚入门、对某些原理一头雾水的朋友,也欢迎从这里看看。我会尽量讲清楚“问题出在哪里”,以及“为什么要这么处理”,希望能帮你少走一点弯路。

关于购买服务器

为什么要购买服务器?

这不是一个传统意义上的“机器人”项目。如果你只是需要一个弹幕助手,确实可以直接在自己的电脑上运行,直播时连上直播间,下播后关掉就行。

但这个项目是一个积分商城,实质上就是你自己的一个网站。它需要 24 小时持续运行,并且对外开放,让观众随时都能访问和使用。所以,和普通机器人不同,它需要部署在一台能够长期在线、稳定对外服务的服务器上。

如何购买服务器?

前往 阿里云云服务器 ECS 控制台 → 点击「创建实例」 → 选择合适的配置进行购买。

配置图,可按此图配置购买

以下是推荐配置说明:

  • 地域:请选择 中国香港(具体原因详见下方章节 “为什么选择香港服务器”)
  • 配置:最低建议选择 2 vCPU + 2 GiB 内存​。计算型、共享型等都可,不推荐“突发性能实例” ,这类机型在大多数时间会限制 CPU 性能,影响使用体验。
  • 系统镜像:请选择 Ubuntu 20.04 64位​,我所有的测试与部署都基于此版本,兼容性和稳定性最好。

其他配置可根据个人需求自行选择,不过如果你是第一次使用,建议直接参考上图进行配置,省事也稳妥。

关于为什么要选择香港服务器

  1. 备案麻烦 & 使用限制:
    大陆地区的服务器对外提供互联网服务时,必须完成备案和一系列合规流程,流程繁琐,还会受到一定的监管。相比之下,香港属于中国,却不需要备案,开箱即用、稳定省事。
    至于日本、韩国等境外服务器,由于科学上网问题,连接经常不稳定,不推荐新手使用。
  2. 代码托管在 GitHub:
    如果你选择一键部署,服务器需要从 GitHub 拉取代码,而 GitHub 并不在国内。
    大陆服务器与个人一样也会受到网络限制,可能导致部署失败。

    小提示:如果你打算在自家的服务器、NAS 或虚拟机中部署,请务必先解决访问 GitHub 的问题。

  3. 实用角度考虑:
    其实用国内服务器也不是不能用,就是容易自找麻烦。
    阿里云香港的稳定性不错,部署项目之外还能顺便搭个梯子。虽然 ChatGPT 屏蔽了香港 IP,但看点其他内容、搭建加速服务还是很香的,明码标价、速度稳定,视频都能流畅播放。

    如果你不懂怎么搭梯子,欢迎私聊,我可以教你。

购买了服务器要如何使用

可以通过 FinalShell 远程连接直播间:点击下载

如何连接服务器

连接完成后运行一键安装脚本即可

关于配置域名

为什么需要域名?

没有域名也能访问你的网站,正常情况下就是通过 http://你的服务器IP:7777​ 来访问后台管理,商城则是 http://你的服务器IP:5177​。

这当然可以用,如果你不介意链接不好看,也可以直接生成二维码发给观众扫码,访问是没有任何问题的。

但从使用体验来说,IP 地址链接就像毛坯房一样:
丑、不好记、不专业、不安全。

就像百度的 IP 地址是 http://39.156.70.46​,你能访问它没错,但肯定没人会去记这个地址。相比之下,https://baidu.com​ 简洁、有辨识度、安全性也更高。

所以,域名的意义不只是“能访问”,而是让你的项目看起来像个“成品”而不是“内测工具” 。而且现在域名注册成本也不高,是值得的投入。

如何购买域名?

域名注册的平台有很多,比如 GoDaddy阿里云 都是业内比较成熟、可靠的选择。

如果你已经在阿里云购买了服务器,那直接在阿里云顺手把域名也买了会更方便。购买流程不复杂:
搜索你想要的域名,看看有没有被注册,没被注册就可以直接下单购买。

注意: 在阿里云购买域名时需要先完成实名认证,流程不麻烦,按照提示提交资料即可。不需要备案,只是做个身份验证。

另外提醒一下:
如果你的服务器不是香港而是中国大陆地区的,那我通常不建议你单独买域名。因为域名如果解析到大陆服务器,必须完成 ICP 备案,这个流程需要向工信部提交材料,耗时大约 20 个工作日左右。

而且如果你是个人备案,只能用于“博客类”网站,像这种积分商城类项目是无法备案的,必须使用企业主体才能通过。

购买域名后如何使用

购买域名后,请前往 阿里云域名列表

找到你购买的域名 → 点击“操作” → 选择“解析” → 进入添加记录页面

添加记录页面

在“添加记录”页面中,大部分设置(如记录类型、解析线路、TTL)保持默认即可,只需要关注以下两个字段:

  • 主机记录:即你想绑定的子域名前缀。例如你的域名是 hejunjie.life​,这里填写 asd​,那最终用户访问的地址就是 asd.hejunjie.life
  • 记录值:填写你服务器的公网 IP 地址

你需要添加 两个解析记录 指向你的服务器:

  • 一个用于访问 机器人后台
  • 一个用于访问 积分商城

⚠️ 域名解析通常需要几分钟时间才能生效,建议等待 10 分钟左右 确保解析成功。

✅ 解析成功后,登陆服务器配置域名和 SSL 证书即可

如何配置服务器域名和 SSL 证书

解析完成后,登录你的服务器,执行以下命令完成自动配置(包括 Nginx 和 SSL):

1
curl -fsSL https://bilibili-danmu-scripts.oss-cn-hongkong.aliyuncs.com/setup-nginx-ssl.sh | bash -s 后台地址 积分商城地址 你的邮箱

“后台地址”和“积分商城地址”就是你刚才解析的域名,例如:asd.hejunjie.life

执行成功后,进入机器人后台控制台 → 打开「系统配置」:

机器人控制台系统配置页面

  • 修改 项目地址​ 为:https://后台的地址
  • 修改 商城地址​ 为:https://积分商城的地址

例如你填的是 asd.hejunjie.life​,那就改为:

  • https://asd.hejunjie.life

配置完成后,你就可以通过浏览器访问:

  • 控制台后台:https://后台的地址
  • 用户商城:https://积分商城的地址

关于独立后台

仓库地址:点击查看

现在的机器人实际上已经内置了一个原生后台,已可直接使用,此项目非刚需。本项目的目标是为追求更强大后台功能的用户提供一个更完善的替代方案。

由于在推荐服务器配置时出于成本考虑,建议使用较低配置的服务器(如 2 核 2G)。这种配置在实际运行项目时并不会有明显问题,但如果尝试在服务器上直接构建本项目,性能压力会非常大,构建过程可能会失败甚至卡死。

因此,我们将前端后台代码单独抽离到此仓库,建议用户在本地完成构建后再上传到服务器。这并不是一项复杂的操作,欢迎动手尝试,如有困难也可以联系作者获取帮助。

部署方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 下载项目
git clone https://github.com/zxc7563598/vue-bilibili-danmu-admin.git
cd vue-bilibili-danmu-admin


# 2. 安装 Node.js
# 请前往官网下载安装适合你系统的版本:https://nodejs.org/zh-cn

# 3. 配置环境变量:复制 `.env.example` 为 `.env`
cp .env.example .env
# 根据实际情况填写请求地址、密钥等信息,具体信息可在机器人控制台系统配置中查看。

# 4. 安装依赖 & 构建项目
npm install
npm run build

# 执行后将生成 `dist/` 目录,即为最终可部署版本。