Skip to content
This repository has been archived by the owner on Jul 2, 2019. It is now read-only.
yjqiang edited this page Aug 13, 2018 · 5 revisions

代码结构:

  1. 单用户由于设计问题,所以其实并没有面向对象。同时有大量的全局变量,这是错误的写法。在多用户分支中已经大大改善。
  2. bilibili.py是底层的网络请求,里面有aiohttp和requests的初级调用(get\post),返回值为json或者text等。
  3. connect.py与bilicilent.py共同组成了弹幕监控组件,加入connect的目的是更好的处理掉线、用户切换直播分区等带来的重连问题。
  4. rafflehandler.py设计目的是为了处理bilicilent传来的抽奖推送时,不堵塞后续弹幕的接收。
  5. rafflehandler.py之前还有一个delayraffle,现在已经与bilitimer合并(delay目的是为了小电视v4版本)。
  6. biliconsole.py是另开了一个线程,接受命令输入,作为控制,不使用curses等的原因是因为平台不兼容。
  7. bilitimer的目的是为了把task等日常任务按照设定时间依次执行,使用delay函数。(之前的设计是在run的时候sleep,但是这样会有麻烦,如果突然来了一个睡眠时间短的,那么无法及时执行;或者多个延迟task同时进入的时候,可能会随机get一个,然后sleep掉长时间。而且看起来挺恶心的,真的。)
  8. configloader是把toml文件导入或导出,作为配置文件模块。
Clone this wiki locally