-
Notifications
You must be signed in to change notification settings - Fork 604
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
66e6f44
commit b443321
Showing
2 changed files
with
86 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: 检查bot是否运行正常 | ||
|
||
on: | ||
push: | ||
branches: [ "dev", "main"] | ||
pull_request: | ||
branches: [ "dev", "main"] | ||
|
||
jobs: | ||
bot-check: | ||
runs-on: ubuntu-latest | ||
name: bot check | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Python | ||
id: setup_python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.10" | ||
|
||
- name: Install Poetry | ||
run: pip install poetry | ||
|
||
# Poetry cache depends on OS, Python version and Poetry version. | ||
- name: Cache Poetry cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ~/.cache/pypoetry | ||
key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
mv scripts/bot_check.py bot_check.py | ||
rm -rf poetry.lock | ||
poetry source remove ali | ||
poetry install --no-root | ||
poetry run pip install pydantic==1.10 | ||
- name: Check bot run | ||
id: bot_check_run | ||
run: | | ||
poetry run python3 bot_check.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import re | ||
import nonebot | ||
|
||
# from nonebot.adapters.discord import Adapter as DiscordAdapter | ||
from nonebot.adapters.dodo import Adapter as DoDoAdapter | ||
from nonebot.adapters.kaiheila import Adapter as KaiheilaAdapter | ||
from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter | ||
from regex import F | ||
|
||
nonebot.init() | ||
|
||
from zhenxun.models.plugin_info import PluginInfo | ||
|
||
driver = nonebot.get_driver() | ||
driver.register_adapter(OneBotV11Adapter) | ||
driver.register_adapter(KaiheilaAdapter) | ||
driver.register_adapter(DoDoAdapter) | ||
# driver.register_adapter(DiscordAdapter) | ||
|
||
# nonebot.load_builtin_plugins("echo") | ||
nonebot.load_plugins("zhenxun/builtin_plugins") | ||
nonebot.load_plugins("zhenxun/plugins") | ||
|
||
all_plugins = [name.replace(":", ".") for name in nonebot.get_available_plugin_names()] | ||
print("所有插件:", all_plugins) | ||
loaded_plugins = tuple(re.sub(r"^zhenxun\.(plugins|builtin_plugins)\.", "", plugin.module_name) for plugin in nonebot.get_loaded_plugins()) | ||
print("已加载插件:", loaded_plugins) | ||
|
||
for plugin in all_plugins.copy(): | ||
if plugin.startswith(("platform")): | ||
print(f"平台插件:{plugin}") | ||
elif plugin.endswith(loaded_plugins): | ||
print(f"已加载插件:{plugin}") | ||
else: | ||
print(f"未加载插件:{plugin}") | ||
continue | ||
all_plugins.remove(plugin) | ||
|
||
if all_plugins: | ||
print("出现未加载的插件:", all_plugins) | ||
exit(1) | ||
else: | ||
print("所有插件均已加载") |