Skip to content

增加弹弹第三方弹幕源实时拉取功能,用于覆盖掉弹弹服务器内缓存的旧弹幕#220

Merged
huangxd- merged 18 commits intohuangxd-:mainfrom
wan0ge:dandan2.0
Mar 4, 2026
Merged

增加弹弹第三方弹幕源实时拉取功能,用于覆盖掉弹弹服务器内缓存的旧弹幕#220
huangxd- merged 18 commits intohuangxd-:mainfrom
wan0ge:dandan2.0

Conversation

@wan0ge
Copy link
Contributor

@wan0ge wan0ge commented Mar 3, 2026

做AI应用到合并功能做不动了,先做点好玩的吧(给予AI一项较为复杂的任务还是太不稳定了,但是朝辅助方向做可以做的很理想,例如将结果所有标题标准化,比直接让它直接选哪些可以关联稳定多了,如果AI在我们现在的自动匹配上效果不明显也可以朝这一块做,只让AI进行结果标题的标准化,逻辑依旧走本地)

弹弹第三方弹幕源实时拉取功能

  • REAL_TIME_PULL_DANDAN 变量控制开关,默认默认为false(关闭),可选值:true、false
  • 用于在获取dandan源弹幕时重新拉取绑定的第三方弹幕源弹幕,覆盖dandan服务器内缓存的旧弹幕,实际拉取时需要在SOURCE_ORDER中先开启对应的源(dandan平台允许绑定的源:bilibili, bahamut, iqiyi, youku, tencent, imgo)

实现原理是related接口可以查询到弹弹绑定的所有第三方弹幕源,还包括了用户调节的时间轴偏移值甚至,增加这一功能后我们应该真的是目前最完善的dandan源支持者()弹幕是缓存的旧弹幕这一问题都被我们解决掉了233

image

然后是两个细节优化

  • 合并工具的跨源时间轴对齐功能直接使用dandan related 接口下发的链接与偏移值数据,替换掉低精度的计算
  • 合并与新的实时拉取功能拉取到的多源弹幕现在p字段会准确打上每条弹幕的来源,基于这个多源场景下重复弹幕的计数现在准确到单条弹幕
image

@vercel
Copy link

vercel bot commented Mar 3, 2026

@wan0ge is attempting to deploy a commit to the huangxd's projects Team on Vercel.

A member of the Team first needs to authorize it.

@netlify
Copy link

netlify bot commented Mar 3, 2026

👷 Deploy request for danmuapi pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit ecc8023

@huangxd-
Copy link
Owner

huangxd- commented Mar 4, 2026

感谢鸽子的代码🚀,这个开关是不是改成默认关闭比较合适,应该算一个附加的功能,有人愿意开启就开启

@wan0ge
Copy link
Contributor Author

wan0ge commented Mar 4, 2026

也可以,我一会改一下

@wan0ge
Copy link
Contributor Author

wan0ge commented Mar 4, 2026

好了,顺便做了一下related接口的动态开关,不过就算开着也只在获取弹弹弹幕的时候去请求

@huangxd- huangxd- merged commit a656308 into huangxd-:main Mar 4, 2026
0 of 2 checks passed
lilixu3 pushed a commit to lilixu3/danmu_api that referenced this pull request Mar 4, 2026
* dandan.js:增加related接口,实现拉取绑定的第三方数据源

同时传出related接口的偏移值和绑定链接给合并工具的跨源时间轴对齐使用

* dandan-api.js:挂载dandan源传出的相关参数,同时更新源标签的标记方式

* merge-util.js:接收来自dandan源准确的偏移值和链接信息,替换掉低精度计算

* danmu-util.js:基于准确的源标签做更加完美的相关处理

* envs.js:增加弹弹第三方数据源实时拉取开关,默认开启

* systemsettings.js:增加一个默认值为true的变量保持开启状态

* .env.example:增加弹弹第三方数据源实时拉取开关说明

* Add REAL_TIME_PULL_DANDAN option to README

* .env.example:统一弹弹第三方数据源实时拉取说明

* .env.example:将第三方数据源统称为第三方弹幕源

* envs.js:将第三方数据源统称为第三方弹幕源

* README.md:将第三方数据源统称为第三方弹幕源

* merge-util.js:去除已经没有使用的旧函数

* systemsettings.js:REAL_TIME_PULL_DANDAN不再保持true

* dandan.js:related接口根据开关动态请求

只在REAL_TIME_PULL_DANDAN实时拉取开启状态或者启用了MERGE_SOURCE_PAIRS合并功能才请求

* envs.js:实时拉取默认设置为关闭

* .env.example:实时拉取默认设置为关闭

* README.md:实时拉取默认设置为关闭
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants