123 Commits

Author SHA1 Message Date
Azide
08ad5c288c
🧑‍💻 使用 Ruff 包办所有格式化和检查 (#663) 2024-12-17 10:52:21 +08:00
Azide
22bf05949d
🐛 B站转发动态补充 DeletedItem 类型解析 (#659)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-04 20:09:01 +08:00
Azide
8ab60d65d0
B站获取OPUS格式动态 (#651) 2024-11-06 16:48:40 +08:00
洛梧藤
d10db08395
🐛 小刻食堂cdn使用https (#650) 2024-11-06 16:47:55 +08:00
97a0f04808
添加 Cookie 组件 (#633)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-31 12:56:15 +08:00
洛梧藤
77a4dcd70e
🐛 修复微博更换长内容接口 (#645) 2024-10-30 23:49:39 +08:00
Azide
088e7a439f 新增可以在 fsm 抛出错误后重置 fsm 的装饰器工具 2024-09-17 22:59:09 +08:00
Azide
b8b49a5ce5
🐛 B站请求策略阶段行为优化 (#610)
* 🐛 调整ruff的pytest警告

* 🐛 调整导入关系警告

* 🐛 删除奇怪无用的赋值和取值逻辑

*  不同测试部分所用变量应加以区分

* 🐛 subs_io model添加默认值

* 🐛 修完所有的 ruff PT001 警告

* 🔧 按ruff建议修改ruff配置

warning: The top-level linter settings are deprecated in favour of their counterparts in the `lint` section. Please update the following options in `pyproject.toml`:
  - 'ignore' -> 'lint.ignore'
  - 'select' -> 'lint.select'

* 🔊 降低B站请求策略非Raise阶段API352的日志等级

* 🐛 Raise阶段应该 raise err

* 🔊 日志添加平台名

* 🐛 bzhanhan调度继续降低至60s

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-01 22:30:02 +08:00
cf38500be7 🐛 Rss 不再删除格式化字符 2024-09-01 22:23:02 +08:00
Azide
32e3bcc022
🐛 修正项目的代码警告 (#614)
* 🐛 调整ruff的pytest警告

* 🐛 调整导入关系警告

* 🐛 删除奇怪无用的赋值和取值逻辑

*  不同测试部分所用变量应加以区分

* 🐛 subs_io model添加默认值

* 🐛 修完所有的 ruff PT001 警告

* 🔧 按ruff建议修改ruff配置

warning: The top-level linter settings are deprecated in favour of their counterparts in the `lint` section. Please update the following options in `pyproject.toml`:
  - 'ignore' -> 'lint.ignore'
  - 'select' -> 'lint.select'

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-17 18:24:20 +08:00
Azide
38f0edcd25
🐛 Bilibili调度新增回避策略 (#573)
* 🐛 将Bilibili的调度速度降低到60s

*  增加回避策略

*  降低轮询间隔,增加回避次数,抛出阶段随机刷新

* ♻️ 更清晰的调度逻辑实现

* 🐛 兼容3.10的NamedTuple多继承

* ♻️ 合并重复逻辑

* ♻️ ctx放入fsm

* 🐛 测试并调整逻辑

* 🐛 补全类型标注

* ♻️ 添加Condition和State.on_exit/on_enter,以实现自动状态切换

*  调整测试

* 🐛 私有化命名方法

* 🔊 调整补充日志

* 🐛 添加测试后清理

* ✏️ fix typing typo
2024-08-04 18:40:01 +08:00
Cateon Huo
9e5dcb3912
实现 Post.content 相关扩展协议 (#553)
*  `post` 新增 `get_content()` 方法

* 🚨 make linter happy

* 💄 auto fix by pre-commit hooks

* 🐛 fix: 调整函数使用

* 💄 auto fix by pre-commit hooks

*  转用函数处理文本

* 💄 auto fix by pre-commit hooks

* 🔨 使用`Dict`存储`content_handlers`

* 💄 auto fix by pre-commit hooks

* 🎨 fix

* :arts: 简化函数使用

* 🐛 移除`Theme`的过时参数

* 🗑️ 复用 `self.plain_content`

* 💄 auto fix by pre-commit hooks

*  注册式装饰器写法

* 💄 auto fix by pre-commit hooks

* 🐛 fix

* 💄 auto fix by pre-commit hooks

* :feat: 通用纯文本处理函数

* 💄 auto fix by pre-commit hooks

* :downgrade: 复用`==`处理标题

* 🎨 简化(?)写法

*  测试修复

* ♻️ via ContentSupport extensions

* 🐛 fix test

* 💄 auto fix by pre-commit hooks

* 🐛 for clean text

* 🐛 fix

* 💄 auto fix by pre-commit hooks

* fix: for xml

* 💄 auto fix by pre-commit hooks

* chore: art

* 💄 auto fix by pre-commit hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-04 18:39:12 +08:00
Azide
e2a97a9e56
适配小刻食堂平台 (#379)
* 🐛 插入新的Schedulable时应传入use_batch参数

*  适配ceobecanteen平台

Co-authored-by: phidiaLam <2957035701@qq.com>

*   明日方舟公告与官网采用截图分享 (#480)

*  明日方舟公告与官网采用截图分享

* 💄 auto fix by pre-commit hooks

* 🐛 修复缺少的导入,优化逻辑

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Azide <rukuy@qq.com>

* 🐛 优化截图图片效果

* 🐛 修复错误将转发内图片视作头图的问题

* 🍱 使用正式 Bison Logo

* 💄 auto fix by pre-commit hooks

* 🐛 请求小刻API时不在headers里添加过多字段

* 🐛 get_comb_id方法删除无用的targets参数

* 💡 get_comb_id方法更新注释

* 🔥 移除发送部分的更改

*  在命名中明确表示cond_func意图

* ♻️ 拆分get_comb_id功能

* ♻️ 调整缓存逻辑

*  使用uri在theme中调用platform截图

* ♻️ 重构截图逻辑

*  添加模糊匹配提示

*  适配新版Site

* 💄 auto fix by pre-commit hooks

* 🐛 去掉不必要的排序

* 🐛 修正不应出现的驼峰变量名

* ♻️ 按review意见修改

* ♻️ 调整截图函数逻辑

* 🔊 调低日志等级

* ✏️ 修复一些拼写和格式

---------

Co-authored-by: phidiaLam <2957035701@qq.com>
Co-authored-by: 洛梧藤 <67498817+phidiaLam@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-13 01:06:42 +08:00
Azide
af72b6c3d0
🐛 B站蹲饼修复 (#525)
*  使用新接口

* ♻️ 调整刷新逻辑

* 🐛 调整刷新逻辑

* ♻️ 将单个哔哩哔哩文件拆开

* 🐛 修修补补边界情况

*  添加UID:xxx匹配

*  调整测试中的导入

*  调整测试的断言

* 🐛 添加unicode字符的escape

*  不再主动刷新cookies

* 🔀 适配新版Site

* 🐛 解析live_rcmd中的json string

* 🚨 make ruff happy

* 🐛 调整并测试bilibili retry函数

*  修正测试

* ♻️ 按review意见调整

* ♻️ 清理一些遗留的复杂写法

* ♻️ 移出函数内的NameTuple

* 🔇 删除不必要的日志输出

Co-authored-by: felinae98 <731499577@qq.com>

* Update nonebot_bison/platform/bilibili/scheduler.py

* Update scheduler.py

---------

Co-authored-by: felinae98 <731499577@qq.com>
2024-06-17 13:24:04 +08:00
Azide
83bea507ab
🐛 补充主题渲染时遗漏的转发推文中的图片 (#554) 2024-06-12 23:12:01 +08:00
felinae98
5bd8b21f19 ♻️ rename scheduler_config -> site 2024-06-03 18:36:07 +08:00
felinae98
2fc11a9653 ♻️ refactor client of scheduler_config 2024-06-03 18:36:07 +08:00
pre-commit-ci[bot]
ddc5e0eed7
⬆️ auto update by pre-commit hooks (#521)
* ⬆️ auto update by pre-commit hooks

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.2.0 → v0.3.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.2.0...v0.3.5)
- [github.com/psf/black: 24.1.1 → 24.3.0](https://github.com/psf/black/compare/24.1.1...24.3.0)
- [github.com/pre-commit/mirrors-eslint: v9.0.0-beta.1 → v9.0.0-rc.0](https://github.com/pre-commit/mirrors-eslint/compare/v9.0.0-beta.1...v9.0.0-rc.0)

* 💄 auto fix by pre-commit hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-02 15:07:29 +08:00
Azide
9bc5be5426
♻️ 为B站动态API建立model,转发动态放入repost字段 (#507)
* 🐛 替换为pyd兼容性写法

* ♻️ 优化 Bilibili 推送解析

* 🐛 为B站动态API建立Model,动态转发部分放入repost字段

* 🔥 删掉无关紧要的ttl字段

* 🐛 修理转发链接解析

* 🧑‍💻 增加可读性

* 🐛 使用pyd兼容函数

* 🐛 处理 pyd1 model rebuild 时没有递归的情况

* ♻️ 将链接生成进行统一
2024-03-29 15:08:06 +08:00
Azide
2a49effbba 🐛 替换为pyd兼容性写法 2024-03-29 15:03:02 +08:00
Cinte
3683d3ef28
更详细的微博 (#504)
*  微博优化

* 🔧 将转发内容放入repost

* 💄 auto fix by pre-commit hooks

* 🔧 补充获取转发微博的单元测试

* 🔧 微博增加视频封面的获取

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-25 19:06:35 +08:00
Azide
c96dd85b22
独立 bilibili-live 的 SchedConf (#473)
*  独立 bilibili-live 的 SchedConf

*  修正测试

*  bilibili和bilibili-live共用http_client

* 🐛 不在__init__中修改_client_refresh_time

*  将刷新浏览器变更为类方法

* ♻️ seperate BilibiliClient

Co-authored-by: felinea98 <me@felinae98.cn>

---------

Co-authored-by: felinea98 <me@felinae98.cn>
2024-03-19 10:27:37 +08:00
pre-commit-ci[bot]
9b514263aa
⬆️ auto update by pre-commit hooks (#465)
* ⬆️ auto update by pre-commit hooks

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.9 → v0.2.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.9...v0.2.0)
- [github.com/psf/black: 23.12.1 → 24.1.1](https://github.com/psf/black/compare/23.12.1...24.1.1)
- [github.com/pre-commit/mirrors-eslint: v9.0.0-alpha.0 → v9.0.0-alpha.2](https://github.com/pre-commit/mirrors-eslint/compare/v9.0.0-alpha.0...v9.0.0-alpha.2)

* 💄 auto fix by pre-commit hooks

* 💄 auto fix by pre-commit hooks

* 🐛 fix some merge error

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Azide <rukuy@qq.com>
2024-03-17 17:21:23 +08:00
AzideCupric
3cda6bfa0d
🐛 Arknights 公告分类 过滤不可访问的 URL (#495) 2024-03-10 21:52:30 +08:00
Azide
4cfa672b82 🐛 修复文本替换,同步测试用文件内容 2024-02-23 10:22:01 +08:00
Azide
60812c2167 🐛 不使用 updateAt 作为 Arknights 公告的 get_date 返回值 2024-02-23 10:22:01 +08:00
Azide
700196c888 🔥 移除 mcbbsnews platform 2024-02-21 17:02:39 +08:00
Azide
f202071e9f 添加 Theme 功能 2024-02-16 09:46:13 +08:00
pre-commit-ci[bot]
f6ee4a4c1b
⬆️ auto update by pre-commit hooks (#416)
* ⬆️ auto update by pre-commit hooks

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.292 → v0.1.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.0.292...v0.1.9)
- [github.com/pycqa/isort: 5.12.0 → 5.13.2](https://github.com/pycqa/isort/compare/5.12.0...5.13.2)
- [github.com/psf/black: 23.9.1 → 23.12.1](https://github.com/psf/black/compare/23.9.1...23.12.1)
- [github.com/pre-commit/mirrors-prettier: v3.0.3 → v4.0.0-alpha.8](https://github.com/pre-commit/mirrors-prettier/compare/v3.0.3...v4.0.0-alpha.8)
- [github.com/pre-commit/mirrors-eslint: v8.50.0 → v9.0.0-alpha.0](https://github.com/pre-commit/mirrors-eslint/compare/v8.50.0...v9.0.0-alpha.0)

* 💄 auto fix by pre-commit hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-02 10:24:42 +08:00
Azide
05d01aee6c 🐛 published_element add is not None 2023-10-15 23:26:35 +08:00
Azide
efe792ec66 ♻️ 精简assert 2023-10-15 23:26:35 +08:00
Azide
77e9fc3b50 🐛 修复一些类型错误 2023-10-15 23:26:35 +08:00
AzideCupric
3039ba7bf9
🐛 处理topic_info字段缺失的问题 (#354)
* 🐛 处理topic_info字段缺失的问题

*  补充测试

* ♻️ dict get 默认为 None

Co-authored-by: felinae98 <731499577@qq.com>

* ♻️ 原地tp?

Co-authored-by: felinae98 <731499577@qq.com>

---------

Co-authored-by: felinae98 <731499577@qq.com>
2023-09-04 20:43:51 +08:00
felinae98
e7dcfdee50
提供批量 api 接口 (#290)
* 🚧 add batch api

* 🚧 support batch in scheduler

*  use batch api in bilibili-live

 patch platform_manager directly

 use batch api in bilibili-live

 patch platform_manager directly

* ♻️ refactor var name

* 🐛 fix test

* 🐛 fix scheduler

* 🐛 fix test
2023-08-29 21:12:42 +08:00
UKM
cfa91df5e4
🐞 fix(text-similarity): 修复除0报错 (#302)
* 🐞 fix(text-similarity): 修复除0报错

没有考虑到bilibili的推送出现动态或者视频简介长度为零的情况,出现文本相似度除0Error

* 🧪 test(bilibili): 添加视频动态内容为空的情况的测试

* 🧪 test(text-similarity): 增加文本相似度函数的测试

* Update test_rss.py

* 📃 docs(text_similarity): 添加文本相似度函数的注释

* 🦄 refactor(text_similarity): 重构文本相似度的比较方法

* 🎈 perf(similar_text): 将比较函数的return改成raise

* 🦄 refactor(text_similarity): 重构文本相似度比较方法

* Update nonebot_bison/platform/bilibili.py

Co-authored-by: felinae98 <731499577@qq.com>

* Update nonebot_bison/platform/rss.py

Co-authored-by: felinae98 <731499577@qq.com>

---------

Co-authored-by: felinae98 <731499577@qq.com>
2023-08-27 16:28:26 +08:00
Cateon Huo
fd3f0ddddc
适配明日方舟新版公告栏API (#305)
* 🔨 适配明日方舟新版公告栏API

*  更新测试

* 💄 auto fix by pre-commit hooks

---------

Co-authored-by: GuGuMur <222153315@qq.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-07-27 12:13:23 +08:00
Azide
fc699d80ce ⬆️ 升级dev工具依赖
💄 auto fix by pre-commit hooks
2023-07-18 21:43:25 +08:00
Azide
bf788ff72a 🚨 移除noqa: E501
💄 auto fix by pre-commit hooks
2023-07-18 21:43:25 +08:00
Azide
e50eb5d70b 👷 添加ruff actions
🐛 分支应该是main而不是master

💄 auto fix by pre-commit hooks

🔥 dependabot.yml的registrys需要token,先删除
2023-07-18 21:43:25 +08:00
Azide
7d4eb7785c 🎨 按ruff调整测试代码 2023-07-18 21:43:25 +08:00
UKM
9838e25bad
🎈优化RSS推送的内容 (#259)
* 🧪 test(tests): 添加了RSS的单元测试

* 🎈 perf(rss and test): 优化了RSS部分源标题正文重复的问题

部分RSS源(RSSHub的Twitter)存在正文当标题用的情况,导致推送的时候呈现为两段重复的文字,现通过Jaccard相似系数来判断是否需要去重

* Update nonebot_bison/platform/rss.py

Co-authored-by: AzideCupric <57004769+AzideCupric@users.noreply.github.com>

* Update nonebot_bison/platform/rss.py

Co-authored-by: AzideCupric <57004769+AzideCupric@users.noreply.github.com>

* 🐞 fix(platform/rss): 修复了漏掉相似文本在后端位置的问题

* 🐞 fix(rss): 修正一些feed无法正确识别时间的bug

一些feed时间只有updated标签或者没有,原先的代码只能解析用published标签的时间

felinae98#275

* 🎈 perf(rss): 更改字符串相似度比较方法

从Jaccard相似系数比较相似度改为通过最长公共子序列来比较

* 🦄 refactor(rss): 重构实现字符串相似度比较的方法

使用标准库difflib代替原先手搓的LCS

* Update nonebot_bison/utils/__init__.py

Co-authored-by: felinae98 <731499577@qq.com>

* Update nonebot_bison/platform/rss.py

* Update nonebot_bison/platform/rss.py

---------

Co-authored-by: AzideCupric <57004769+AzideCupric@users.noreply.github.com>
Co-authored-by: felinae98 <731499577@qq.com>
2023-07-18 11:54:49 +08:00
Azide
4f7a3ebfbe 🐛 修复bililive订阅没有直播间的用户报错的问题 2023-07-17 20:29:12 +08:00
Azide
147f858a31 🐛 修复B站订阅没有动态的用户时报错的问题(第二次) 2023-07-17 20:29:12 +08:00
felinae98
4118329bb0 🚧 remove User type 2023-06-06 03:30:50 +08:00
UKM
a8d632ffa3
🐞 更换获取B站用户名的api (#261)
* 🐞 fix(platform-bilibili): 更改获取b站用户名的api

原先的api又用不了,换了一个api

* 🧪 test(tests/bilibili): 添加了部分B站的单元测试

1.修正番剧链接识别正则表达式出错
2.添加了直播和番剧的解析目标的单元测试
2023-05-23 00:05:50 +08:00
LambdaYH
3f98b6c214 🐛 修复ff14公告链接 2023-05-20 15:57:23 +08:00
AzideCupric
24b6d60d69
开播提醒推送的图片改为使用直播间封面 (#249)
*  为bilibili直播添加下播提醒,添加直播分区信息

🚸 开播提醒推送的图片改为使用直播间封面

* ♻️ 使用Enum

* 🐛 修复bilibili发送视频动态时不推送视频标题的问题

* 🎨 调整LiveAction的注释和jaccard函数代码位置

* 🚨 修改RawPost类型定义,优化bililive类型显示
2023-05-14 01:41:25 +08:00
felinae98
c3a764581e
👷 use pytest-xdist to accelerate test (#186)
* 👷 use pytest-xdist to accelerate test

*  mark flaky

* test(mcbbsnews): 删除重复测试,为测试添加flaky

---------

Co-authored-by: hemengyang <hmy0119@gmail.com>
Co-authored-by: AzideCupric <rukuy@qq.com>
2023-03-03 17:16:15 +08:00
felinae98
0201d5b316
⬆️ 升级至 NoneBug 0.3
* 🚧 第一次尝试 50/82

* 62/82 调整了清除数据库的位置

* 🚧 pytest-mock

* 🚧 fix test_send

* 🚧 intruduce app request

* 🚧 close and remove tinydb after each test

* 🚧 clean ScheduleTimeWeight table

* 🚧 reload http module to test proxy

*  合并 main 的代码

* 🚧 在每次测试结束后关闭browser

* 🧑‍💻 在mcbbsnews渲染异常时添加logger

---------

Co-authored-by: hemengyang <hmy0119@gmail.com>
Co-authored-by: Azide <rukuy@qq.com>
2023-03-03 15:12:25 +08:00
AzideCupric
7fa31b6060
♻️ 使用更加简约的方法生成mcbbsnews的推送,修改测试用例 (#170)
* change(mcbbsnews):使用更加简约的方法生成mcbbsnews的推送,修改测试用例

test(mcbbsnews):添加测试函数小工具

change(mcbbsnews):优化代码

test(mcbbsnews):调整测试

test(mcbbsnews):完善细节部分

fix(mcbbsnews):修改traceback的import位置

test fix(mcbbsnews):删除错误传参

* fix(mcbbsnews): 更新过时的category名称

feat(platform): 添加新的异常(CategoryNotRecognize), 用以区别已知但不支持的category(CategoryNotSupport)和未知的新增category(CategoryNotRecognize)

chore: 为各处的CategoryNotRecognize和CategoryNotSupport添加异常描述

test(mcbbsnews): 更新测试用文件的过时category名称
2023-02-05 17:09:31 +08:00