Compare commits

...

33 Commits

Author SHA1 Message Date
Decrabbityyy 6883b4192c 🍻 publish adapter WeChatClaw (#3917) 2026-05-03 21:21:06 +08:00
shoucandanghehe de8e185b53 🍻 publish adapter WxClaw (#3943) 2026-05-03 13:20:42 +00:00
dependabot[bot] 585401bab8 ⬆️ Bump ghcr.io/devcontainers/features/node (#3978)
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 4s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 4s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 4s
Ruff Lint / Ruff Lint (push) Failing after 3s
Release Drafter / update-release-draft (push) Failing after 6s
Site Deploy / publish (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-29 15:05:44 +08:00
noneflow[bot] 1d66fc1fbd 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 6s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 6s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 6s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 6s
Release Drafter / release (push) Has been skipped
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 6s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 6s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 6s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 6s
Ruff Lint / Ruff Lint (push) Failing after 5s
Site Deploy / publish (push) Failing after 5s
Release Drafter / update-release-draft (push) Failing after 9s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-28 09:24:53 +00:00
006lp 9ed1879ac1 🍻 publish plugin 酷我音乐 (#3974) 2026-04-28 09:23:39 +00:00
noneflow[bot] d5218b9640 📝 Update changelog 2026-04-28 07:57:00 +00:00
LeoBlackMT f67cb24867 🍻 publish plugin osu!mania 工具箱 (#3976) 2026-04-28 07:55:52 +00:00
noneflow[bot] 13284d0fa1 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 4s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 5s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 5s
Ruff Lint / Ruff Lint (push) Failing after 3s
Release Drafter / update-release-draft (push) Failing after 6s
Site Deploy / publish (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-27 09:12:50 +00:00
JohnRichard4096 57cb80bded 🍻 publish plugin LibAmritaCore (#3941) 2026-04-27 09:11:33 +00:00
noneflow[bot] 01de00fe8d 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 4s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 5s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 5s
Ruff Lint / Ruff Lint (push) Failing after 3s
Release Drafter / update-release-draft (push) Failing after 6s
Site Deploy / publish (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-21 03:02:25 +00:00
hlfzsi 947dad7860 🍻 publish plugin 苏大电费查询 (#3965) 2026-04-21 03:01:19 +00:00
noneflow[bot] a491a1ab85 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 6s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 6s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 5s
Release Drafter / release (push) Has been skipped
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 8s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 7s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 8s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 8s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 9s
Ruff Lint / Ruff Lint (push) Failing after 8s
Site Deploy / publish (push) Failing after 8s
Release Drafter / update-release-draft (push) Failing after 12s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-20 11:40:31 +00:00
StarHeart 2b77b122af Feature: WS 支持 ping interval/timeout 配置 (#3964)
Co-authored-by: Ju4tCode <42488585+yanyongyu@users.noreply.github.com>
2026-04-20 19:39:28 +08:00
noneflow[bot] 6b1c616860 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 3s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 3s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 3s
Release Drafter / update-release-draft (push) Failing after 4s
Ruff Lint / Ruff Lint (push) Failing after 3s
Site Deploy / publish (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
2026-04-19 10:08:36 +00:00
1v7w 5d2760259c 🍻 publish plugin 舞立方插件 (#3955) 2026-04-19 10:07:36 +00:00
noneflow[bot] e9edad0df0 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 3s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 3s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 4s
Release Drafter / update-release-draft (push) Failing after 4s
Ruff Lint / Ruff Lint (push) Failing after 4s
Site Deploy / publish (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-19 04:19:20 +00:00
MerCuJerry be68b2d27a 🍻 publish plugin 语录插件 (#3962) 2026-04-19 04:18:09 +00:00
noneflow[bot] 1cad2070ac 📝 Update changelog 2026-04-19 03:48:23 +00:00
lizhiqi233-rgb cad763a998 🍻 publish plugin 明日方舟猜干员游戏 (#3924) 2026-04-19 03:47:15 +00:00
noneflow[bot] a1033d6467 📝 Update changelog 2026-04-19 03:14:07 +00:00
Drelf2018 8a284e5174 🍻 publish plugin 错误日志转发钉钉机器人 (#3951) 2026-04-19 03:12:47 +00:00
noneflow[bot] 952d11607f 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 5s
Release Drafter / release (push) Has been skipped
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 5s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 5s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 5s
Ruff Lint / Ruff Lint (push) Failing after 4s
Release Drafter / update-release-draft (push) Failing after 7s
Site Deploy / publish (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-17 06:47:41 +00:00
TogetsuDo f552a71bae 🍻 publish plugin Bot状态监控 (#3967) 2026-04-17 06:46:28 +00:00
noneflow[bot] b96f6bbf37 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 3s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 4s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 4s
Release Drafter / update-release-draft (push) Failing after 5s
Ruff Lint / Ruff Lint (push) Failing after 4s
Site Deploy / publish (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-14 08:31:53 +00:00
lyqgzbl f08c3c53cc 🍻 publish plugin tg-stickers-downloads (#3953) 2026-04-14 08:30:43 +00:00
noneflow[bot] 738a193c49 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 5s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 5s
Release Drafter / release (push) Has been skipped
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 5s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 5s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 5s
Ruff Lint / Ruff Lint (push) Failing after 4s
Site Deploy / publish (push) Failing after 4s
Release Drafter / update-release-draft (push) Failing after 8s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-10 15:14:41 +00:00
leaf2006 5fee05f223 🍻 publish plugin 12306车票查询 (#3947) 2026-04-10 15:13:22 +00:00
dependabot[bot] f2306baa9b ⬆️ Bump actions/github-script from 8 to 9 in the actions group (#3959)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-10 20:42:08 +08:00
pre-commit-ci[bot] ac0447ff86 ⬆️ auto update by pre-commit hooks (#3949)
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 4s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 4s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 4s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 4s
Ruff Lint / Ruff Lint (push) Failing after 2s
Release Drafter / update-release-draft (push) Failing after 5s
Site Deploy / publish (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-04-09 21:21:57 +08:00
noneflow[bot] f120f1a305 📝 Update changelog
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 2s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 2s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.13) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.13) (push) Failing after 3s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 3s
Release Drafter / release (push) Has been skipped
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 3s
Release Drafter / update-release-draft (push) Failing after 4s
Ruff Lint / Ruff Lint (push) Failing after 3s
Site Deploy / publish (push) Failing after 3s
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.13) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.13) (push) Has been cancelled
2026-04-06 08:53:28 +00:00
USTC-XeF2 c011f70fd1 🍻 publish plugin 会话配置 (#3936) 2026-04-06 08:52:25 +00:00
noneflow[bot] 53c4a4b299 📝 Update changelog 2026-04-06 08:43:17 +00:00
StarHeart 9b69f5d763 👷 CI: 移除 Pull Request Target 触发器 (#3946) 2026-04-06 16:42:15 +08:00
11 changed files with 363 additions and 23 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
"image": "mcr.microsoft.com/devcontainers/base:ubuntu", "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": { "features": {
"ghcr.io/jsburckhardt/devcontainer-features/uv:1": {}, "ghcr.io/jsburckhardt/devcontainer-features/uv:1": {},
"ghcr.io/devcontainers/features/node:1": {}, "ghcr.io/devcontainers/features/node:2": {},
"ghcr.io/meaningful-ooo/devcontainer-features/fish:2": {} "ghcr.io/meaningful-ooo/devcontainer-features/fish:2": {}
}, },
"postCreateCommand": "corepack enable && COREPACK_ENABLE_DOWNLOAD_PROMPT=0 ./scripts/setup-envs.sh", "postCreateCommand": "corepack enable && COREPACK_ENABLE_DOWNLOAD_PROMPT=0 ./scripts/setup-envs.sh",
+3 -6
View File
@@ -2,17 +2,14 @@ name: Release Drafter
on: on:
push: push:
tags:
- v*
pull_request_target:
branches: branches:
- master - master
types: tags:
- closed - v*
jobs: jobs:
update-release-draft: update-release-draft:
if: github.event_name == 'pull_request_target' if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest runs-on: ubuntu-latest
concurrency: concurrency:
group: pull-request-changelog group: pull-request-changelog
+2 -2
View File
@@ -24,7 +24,7 @@ jobs:
steps: steps:
- name: Set Commit Status - name: Set Commit Status
uses: actions/github-script@v8 uses: actions/github-script@v9
with: with:
script: | script: |
github.rest.repos.createCommitStatus({ github.rest.repos.createCommitStatus({
@@ -78,7 +78,7 @@ jobs:
:rocket: Deployed to ${{ steps.deploy.outputs.deploy-url }} :rocket: Deployed to ${{ steps.deploy.outputs.deploy-url }}
- name: Set Commit Status - name: Set Commit Status
uses: actions/github-script@v8 uses: actions/github-script@v9
if: always() if: always()
with: with:
script: | script: |
+1 -1
View File
@@ -7,7 +7,7 @@ ci:
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks" autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks"
repos: repos:
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.4 rev: v0.15.9
hooks: hooks:
- id: ruff-check - id: ruff-check
args: [--fix] args: [--fix]
+30
View File
@@ -353,4 +353,34 @@
], ],
"is_official": false "is_official": false
}, },
{
"module_name": "nonebot.adapters.wxclaw",
"project_link": "nonebot-adapter-wxclaw",
"name": "WxClaw",
"desc": "基于 openclaw-weixin 协议的 NoneBot2 微信智能体适配器",
"author_id": 51957264,
"homepage": "https://github.com/shoucandanghehe/nonebot-adapter-wxclaw",
"tags": [
{
"label": "微信",
"color": "#1aad19"
}
],
"is_official": false
},
{
"module_name": "nonebot.adapters.wechatclaw",
"project_link": "nonebot-adapter-wechatclaw",
"name": "WeChatClaw",
"desc": "通过 微信ClawBot 连接微信",
"author_id": 99632363,
"homepage": "https://github.com/Decrabbityyy/adapter-wechatclaw",
"tags": [
{
"label": "微信",
"color": "#ea5252"
}
],
"is_official": false
},
] ]
+175
View File
@@ -10613,4 +10613,179 @@
], ],
"is_official": false "is_official": false
}, },
{
"module_name": "nonebot_plugin_session_config",
"project_link": "nonebot-plugin-session-config",
"author_id": 157892771,
"tags": [
{
"label": "config",
"color": "#ea5252"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_12306_ticket",
"project_link": "nonebot-plugin-12306-ticket",
"author_id": 51502183,
"tags": [
{
"label": "中国铁路",
"color": "#5257ea"
},
{
"label": "12306",
"color": "#5257ea"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_tg_stickers_downloads",
"project_link": "nonebot-plugin-tg-stickers-downloads",
"author_id": 122811297,
"tags": [],
"is_official": false
},
{
"module_name": "nonebot_plugin_bot_monitor",
"project_link": "nonebot-plugin-bot-monitor",
"author_id": 62124595,
"tags": [
{
"label": "monitor",
"color": "#ea5252"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_dingtalk_logger",
"project_link": "nonebot-plugin-dingtalk-logger",
"author_id": 41439182,
"tags": [
{
"label": "DingTalk",
"color": "#007fff"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_arkguesser",
"project_link": "nonebot-plugin-arkguesser",
"author_id": 225500959,
"tags": [
{
"label": "明日方舟 ",
"color": "#ea5252"
},
{
"label": "猜谜",
"color": "#ea5252"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_quotation",
"project_link": "nonebot-plugin-quotation",
"author_id": 41883458,
"tags": [
{
"label": "语录",
"color": "#2aa7dd"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_dancecube",
"project_link": "nonebot-plugin-dancecube",
"author_id": 25610914,
"tags": [
{
"label": "音游",
"color": "#ea5252"
},
{
"label": "舞立方",
"color": "#377aba"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_suda_electricity",
"project_link": "nonebot_plugin_suda_electricity",
"author_id": 78413699,
"tags": [
{
"label": "苏州大学",
"color": "#e13667"
},
{
"label": "电费",
"color": "#243b83"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_amrita",
"project_link": "nonebot-plugin-amrita",
"author_id": 67693593,
"tags": [
{
"label": "agent",
"color": "#ea5252"
},
{
"label": "ai",
"color": "#ea5252"
},
{
"label": "LLM",
"color": "#1313e6"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_osumania_toolkit",
"project_link": "nonebot-plugin-osumania-toolkit",
"author_id": 95923342,
"tags": [
{
"label": "osu!mania",
"color": "#ea5252"
},
{
"label": "func",
"color": "#ea5252"
},
{
"label": "tool",
"color": "#ea5252"
}
],
"is_official": false
},
{
"module_name": "nonebot_plugin_kuwo",
"project_link": "nonebot-plugin-kuwo",
"author_id": 144674902,
"tags": [
{
"label": "music",
"color": "#52e7ea"
},
{
"label": "kuwo",
"color": "#ddf106"
}
],
"is_official": false
},
] ]
+13
View File
@@ -46,6 +46,7 @@ from nonebot.internal.driver import (
Timeout, Timeout,
TimeoutTypes, TimeoutTypes,
) )
from nonebot.log import logger
from nonebot.utils import UNSET, UnsetType, exclude_unset from nonebot.utils import UNSET, UnsetType, exclude_unset
try: try:
@@ -324,6 +325,16 @@ class Mixin(HTTPClientMixin, WebSocketClientMixin):
) )
) )
heartbeat = None
if setup.ping_interval is not UNSET:
heartbeat = setup.ping_interval
if isinstance(setup.timeout, Timeout) and setup.timeout.ping is not UNSET:
logger.warning(
"aiohttp driver does not expose a separate ping timeout; "
"the configured ping timeout will be ignored."
)
async with aiohttp.ClientSession(version=version, trust_env=True) as session: async with aiohttp.ClientSession(version=version, trust_env=True) as session:
async with session.ws_connect( async with session.ws_connect(
setup.url, setup.url,
@@ -331,6 +342,8 @@ class Mixin(HTTPClientMixin, WebSocketClientMixin):
timeout=timeout, timeout=timeout,
headers=setup.headers, headers=setup.headers,
proxy=setup.proxy, proxy=setup.proxy,
autoping=heartbeat is not None,
heartbeat=heartbeat,
) as ws: ) as ws:
yield WebSocket(request=setup, session=session, websocket=ws) yield WebSocket(request=setup, session=session, websocket=ws)
+21 -12
View File
@@ -36,7 +36,7 @@ from nonebot.drivers import WebSocket as BaseWebSocket
from nonebot.drivers.none import Driver as NoneDriver from nonebot.drivers.none import Driver as NoneDriver
from nonebot.exception import WebSocketClosed from nonebot.exception import WebSocketClosed
from nonebot.log import LoguruHandler from nonebot.log import LoguruHandler
from nonebot.utils import UNSET, exclude_unset from nonebot.utils import UNSET, UnsetType, exclude_unset
try: try:
from websockets import ClientConnection, ConnectionClosed, connect from websockets import ClientConnection, ConnectionClosed, connect
@@ -77,14 +77,17 @@ class Mixin(WebSocketClientMixin):
@override @override
@asynccontextmanager @asynccontextmanager
async def websocket(self, setup: Request) -> AsyncGenerator["WebSocket", None]: async def websocket(self, setup: Request) -> AsyncGenerator["WebSocket", None]:
timeout_kwargs: dict[str, float | None] = {} timeout_kwargs: dict[str, float | None | UnsetType] = {}
if isinstance(setup.timeout, Timeout): if isinstance(setup.timeout, Timeout):
open_timeout = ( open_timeout = (
setup.timeout.connect or setup.timeout.read or setup.timeout.total setup.timeout.connect or setup.timeout.read or setup.timeout.total
) )
timeout_kwargs = exclude_unset( timeout_kwargs = {
{"open_timeout": open_timeout, "close_timeout": setup.timeout.close} "open_timeout": open_timeout,
) "close_timeout": setup.timeout.close,
"ping_timeout": setup.timeout.ping,
}
elif setup.timeout is not UNSET: elif setup.timeout is not UNSET:
timeout_kwargs = { timeout_kwargs = {
"open_timeout": setup.timeout, "open_timeout": setup.timeout,
@@ -95,18 +98,24 @@ class Mixin(WebSocketClientMixin):
open_timeout = ( open_timeout = (
DEFAULT_TIMEOUT.connect or DEFAULT_TIMEOUT.read or DEFAULT_TIMEOUT.total DEFAULT_TIMEOUT.connect or DEFAULT_TIMEOUT.read or DEFAULT_TIMEOUT.total
) )
timeout_kwargs = exclude_unset( timeout_kwargs = {
{ "open_timeout": open_timeout,
"open_timeout": open_timeout, "close_timeout": DEFAULT_TIMEOUT.close,
"close_timeout": DEFAULT_TIMEOUT.close, "ping_timeout": DEFAULT_TIMEOUT.ping,
} }
)
kwargs = exclude_unset(
{
**timeout_kwargs,
"ping_interval": setup.ping_interval,
}
)
connection = connect( connection = connect(
str(setup.url), str(setup.url),
additional_headers={**setup.headers, **setup.cookies.as_header(setup)}, additional_headers={**setup.headers, **setup.cookies.as_header(setup)},
proxy=setup.proxy if setup.proxy is not None else True, proxy=setup.proxy if setup.proxy is not None else True,
**timeout_kwargs, # type: ignore **kwargs, # type: ignore
) )
async with connection as ws: async with connection as ws:
yield WebSocket(request=setup, websocket=ws) yield WebSocket(request=setup, websocket=ws)
+6 -1
View File
@@ -20,9 +20,10 @@ class Timeout:
connect: float | None | UnsetType = UNSET connect: float | None | UnsetType = UNSET
read: float | None | UnsetType = UNSET read: float | None | UnsetType = UNSET
close: float | None | UnsetType = UNSET close: float | None | UnsetType = UNSET
ping: float | None | UnsetType = UNSET
DEFAULT_TIMEOUT = Timeout(total=None, connect=5.0, read=30.0, close=10.0) DEFAULT_TIMEOUT = Timeout(total=None, connect=5.0, read=30.0, close=10.0, ping=20.0)
RawURL: TypeAlias = tuple[bytes, bytes, int | None, bytes] RawURL: TypeAlias = tuple[bytes, bytes, int | None, bytes]
@@ -52,6 +53,7 @@ FileTypes: TypeAlias = (
) )
FilesTypes: TypeAlias = dict[str, FileTypes] | list[tuple[str, FileTypes]] | None FilesTypes: TypeAlias = dict[str, FileTypes] | list[tuple[str, FileTypes]] | None
TimeoutTypes: TypeAlias = float | Timeout | None TimeoutTypes: TypeAlias = float | Timeout | None
PingIntervalTypes: TypeAlias = float | None
class HTTPVersion(Enum): class HTTPVersion(Enum):
@@ -76,6 +78,7 @@ class Request:
version: str | HTTPVersion = HTTPVersion.H11, version: str | HTTPVersion = HTTPVersion.H11,
timeout: TimeoutTypes | UnsetType = UNSET, timeout: TimeoutTypes | UnsetType = UNSET,
proxy: str | None = None, proxy: str | None = None,
ping_interval: PingIntervalTypes | UnsetType = UNSET,
): ):
# method # method
self.method: str = ( self.method: str = (
@@ -89,6 +92,8 @@ class Request:
self.timeout: TimeoutTypes | UnsetType = timeout self.timeout: TimeoutTypes | UnsetType = timeout
# proxy # proxy
self.proxy: str | None = proxy self.proxy: str | None = proxy
# ping interval
self.ping_interval: PingIntervalTypes | UnsetType = ping_interval
# url # url
if isinstance(url, tuple): if isinstance(url, tuple):
+86
View File
@@ -878,6 +878,92 @@ async def test_websocket_client_timeout(driver: Driver, server_url: URL):
await anyio.sleep(1) await anyio.sleep(1)
@pytest.mark.anyio
@pytest.mark.parametrize(
"driver",
[
pytest.param("nonebot.drivers.websockets:Driver", id="websockets"),
pytest.param("nonebot.drivers.aiohttp:Driver", id="aiohttp"),
],
indirect=True,
)
async def test_websocket_client_ping_timeout(driver: Driver, server_url: URL):
"""WebSocket connections work with different ping_timeout settings."""
assert isinstance(driver, WebSocketClientMixin)
ws_url = server_url.with_scheme("ws")
# ping timeout not set (UNSET), falls back to DEFAULT_TIMEOUT.ping
request = Request("GET", ws_url, timeout=Timeout())
async with driver.websocket(request) as ws:
await ws.send("quit")
with pytest.raises(WebSocketClosed):
await ws.receive()
await anyio.sleep(1)
# ping timeout explicitly set to None (disable ping timeout)
request = Request("GET", ws_url, timeout=Timeout(ping=None))
async with driver.websocket(request) as ws:
await ws.send("quit")
with pytest.raises(WebSocketClosed):
await ws.receive()
await anyio.sleep(1)
# ping timeout set to a float value
request = Request("GET", ws_url, timeout=Timeout(ping=20.0))
async with driver.websocket(request) as ws:
await ws.send("quit")
with pytest.raises(WebSocketClosed):
await ws.receive()
await anyio.sleep(1)
@pytest.mark.anyio
@pytest.mark.parametrize(
"driver",
[
pytest.param("nonebot.drivers.websockets:Driver", id="websockets"),
pytest.param("nonebot.drivers.aiohttp:Driver", id="aiohttp"),
],
indirect=True,
)
async def test_websocket_client_ping_interval(driver: Driver, server_url: URL):
"""WebSocket connections work with different ping_interval settings."""
assert isinstance(driver, WebSocketClientMixin)
ws_url = server_url.with_scheme("ws")
# ping_interval not set (UNSET), default behavior
request = Request("GET", ws_url)
async with driver.websocket(request) as ws:
await ws.send("quit")
with pytest.raises(WebSocketClosed):
await ws.receive()
await anyio.sleep(1)
# ping_interval explicitly set to None (disable ping)
request = Request("GET", ws_url, ping_interval=None)
async with driver.websocket(request) as ws:
await ws.send("quit")
with pytest.raises(WebSocketClosed):
await ws.receive()
await anyio.sleep(1)
# ping_interval set to a float value
request = Request("GET", ws_url, ping_interval=20.0)
async with driver.websocket(request) as ws:
await ws.send("quit")
with pytest.raises(WebSocketClosed):
await ws.receive()
await anyio.sleep(1)
@pytest.mark.parametrize( @pytest.mark.parametrize(
("driver", "driver_type"), ("driver", "driver_type"),
[ [
+25
View File
@@ -5,6 +5,31 @@ toc_max_heading_level: 2
# 更新日志 # 更新日志
## 最近更新
### 🚀 新功能
- Feature: WS 支持 ping interval/timeout 配置 [@StarHeartHunt](https://github.com/StarHeartHunt) ([#3964](https://github.com/nonebot/nonebot2/pull/3964))
### 💫 杂项
- CI: 移除 Pull Request Target 触发器 [@StarHeartHunt](https://github.com/StarHeartHunt) ([#3946](https://github.com/nonebot/nonebot2/pull/3946))
### 🍻 插件发布
- Plugin: 酷我音乐 [@noneflow](https://github.com/noneflow) ([#3975](https://github.com/nonebot/nonebot2/pull/3975))
- Plugin: osu!mania 工具箱 [@noneflow](https://github.com/noneflow) ([#3977](https://github.com/nonebot/nonebot2/pull/3977))
- Plugin: LibAmritaCore [@noneflow](https://github.com/noneflow) ([#3942](https://github.com/nonebot/nonebot2/pull/3942))
- Plugin: 苏大电费查询 [@noneflow](https://github.com/noneflow) ([#3966](https://github.com/nonebot/nonebot2/pull/3966))
- Plugin: 舞立方插件 [@noneflow](https://github.com/noneflow) ([#3956](https://github.com/nonebot/nonebot2/pull/3956))
- Plugin: 语录插件 [@noneflow](https://github.com/noneflow) ([#3963](https://github.com/nonebot/nonebot2/pull/3963))
- Plugin: 明日方舟猜干员游戏 [@noneflow](https://github.com/noneflow) ([#3939](https://github.com/nonebot/nonebot2/pull/3939))
- Plugin: 错误日志转发钉钉机器人 [@noneflow](https://github.com/noneflow) ([#3952](https://github.com/nonebot/nonebot2/pull/3952))
- Plugin: Bot状态监控 [@noneflow](https://github.com/noneflow) ([#3968](https://github.com/nonebot/nonebot2/pull/3968))
- Plugin: tg-stickers-downloads [@noneflow](https://github.com/noneflow) ([#3954](https://github.com/nonebot/nonebot2/pull/3954))
- Plugin: 12306车票查询 [@noneflow](https://github.com/noneflow) ([#3948](https://github.com/nonebot/nonebot2/pull/3948))
- Plugin: 会话配置 [@noneflow](https://github.com/noneflow) ([#3938](https://github.com/nonebot/nonebot2/pull/3938))
## v2.5.0 ## v2.5.0
### 💥 破坏性变更 ### 💥 破坏性变更