lgc-nb2dev / nonebot-plugin-picmcstat Goto Github PK
View Code? Open in Web Editor NEWA NoneBot2 plugin generates a pic from a Minecraft server's MOTD
License: MIT License
A NoneBot2 plugin generates a pic from a Minecraft server's MOTD
License: MIT License
06-05 21:21:02 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_picmcstat.__main__) failed.
Traceback (most recent call last):
File "E:\IDEAyes\BOT\nonebot2\bot.py", line 59, in <module>
nonebot.run(app="__mp_main__:app")
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\__init__.py", line 309, in run
get_driver().run(*args, **kwargs)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\drivers\fastapi.py", line 198, in run
uvicorn.run(
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\uvicorn\main.py", line 569, in run
server.run()
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\uvicorn\server.py", line 60, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 633, in run_until_complete
self.run_forever()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 600, in run_forever
self._run_once()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1896, in _run_once
handle._run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\message.py", line 141, in _check_matcher
await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
> File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\message.py", line 187, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 753, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 728, in simple_run
await handler(
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\dependencies\__init__.py", line 108, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot_plugin_picmcstat\__main__.py", line 28, in _
await matcher.finish(await draw(arg, svr_type))
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 481, in finish
await cls.send(message, **kwargs)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 466, in send
return await bot.send(event=event, message=_message, **kwargs)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot_plugin_guild_patch\__init__.py", line 30, in patched_send
return await original_send(self, event, message, **kwargs)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\adapters\onebot\v11\bot.py", line 220, in send
return await self.__class__.send_handler(self, event, message, **kwargs)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\adapters\onebot\v11\bot.py", line 174, in send
return await bot.send_msg(**params)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\internal\adapter\bot.py", line 120, in call_api
raise exception
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\internal\adapter\bot.py", line 98, in call_api
result = await self.adapter._call_api(self, api, **data)
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\adapters\onebot\v11\adapter.py", line 140, in _call_api
return handle_api_result(await self._result_store.fetch(seq, timeout))
File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\adapters\onebot\v11\utils.py", line 58, in handle_api_result
raise ActionFailed(**result)
nonebot.adapters.onebot.v11.exception.ActionFailed: ActionFailed(data=None, echo='1', message='send group message failed: blocked by server', msg='SEND_MSG_API_ERROR', retcode=100, status='failed', wording='send group message failed: blocked by server')
一个bot加了不同的服务器群,能不能让不同的群聊进行不同的查询,但触发快捷指令的关键词一致。感谢
08-07 12:01:09 [SUCCESS] nonebot | OneBot V11 1093055754 | [message.private.friend]: Message 30491 from 2066099262 '查服'
08-07 12:01:09 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_picmcstat.__main__)
08-07 12:01:09 [ERROR] nonebot_plugin_picmcstat | 获取服务器状态/画服务器状态图出错
Traceback (most recent call last):
File "<string>", line 15, in <module>
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\__init__.py", line 333, in run
get_driver().run(*args, **kwargs)
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\drivers\fastapi.py", line 199, in run
uvicorn.run(
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\uvicorn\main.py", line 587, in run
server.run()
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\uvicorn\server.py", line 61, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 640, in run_until_complete
self.run_forever()
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 607, in run_forever
self._run_once()
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1922, in _run_once
handle._run()
File "C:\Users\28305\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\message.py", line 467, in check_and_run_matcher
await _run_matcher(
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\message.py", line 419, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\internal\matcher\matcher.py", line 759, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\internal\matcher\matcher.py", line 734, in simple_run
await handler(
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot\dependencies\__init__.py", line 108, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\__main__.py", line 35, in shortcut_handler
await matcher.finish(await draw(host, svr_type))
> File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 319, in draw
draw_java(await (await JavaServer.async_lookup(ip)).async_status(), ip),
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 253, in draw_java
if mod_list and (li := format_list("§7Mod列表: ", mod_list)):
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 164, in format_list
text_img = [format_extra(x) for x in sample if x]
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 164, in <listcomp>
text_img = [format_extra(x) for x in sample if x]
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 153, in format_extra
format_code_to_bbcode(extra),
File "D:\Nonebot2\KuriKana-Nonebot2\.venv\Lib\site-packages\nonebot_plugin_picmcstat\util.py", line 56, in format_code_to_bbcode
parts = text.split("§")
AttributeError: 'dict' object has no attribute 'split'
08-07 12:01:09 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_picmcstat.__main__) running complete
配置字体路径后插件中文字体无法渲染
部分.env.prod
配置:
MCSTAT_FONT='/data/fonts/LXGWWenKaiMono-Bold.ttf'
05-19 15:33:18 [ERROR] nonebot | Failed to import "nonebot_plugin_picmcstat"
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\spawn.py", line 122, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\spawn.py", line 131, in _main
prepare(preparation_data)
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\spawn.py", line 246, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\spawn.py", line 297, in _fixup_main_from_path
main_content = runpy.run_path(main_path,
File "", line 286, in run_path
File "", line 98, in _run_module_code
File "", line 88, in _run_code
File "C:\Users\admin\Desktop\nonebot\QQ-bot\bot.py", line 30, in
nonebot.load_from_toml("pyproject.toml")
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot\plugin\load.py", line 131, in load_from_toml
return load_all_plugins(plugins, plugin_dirs)
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot\plugin\load.py", line 65, in load_all_plugins
return manager.load_all_plugins()
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot\plugin\manager.py", line 203, in load_all_plugins
return set(
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot\plugin\manager.py", line 204, in
filter(None, (self.load_plugin(name) for name in self.available_plugins))
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot\plugin\manager.py", line 167, in load_plugin
module = importlib.import_module(self.third_party_plugin_ids[name])
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\importlib_init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1387, in _gcd_import
File "", line 1360, in find_and_load
File "", line 1331, in find_and_load_unlocked
File "", line 935, in load_unlocked
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot\plugin\manager.py", line 255, in exec_module
super().exec_module(module)
File "", line 994, in exec_module
File "", line 488, in call_with_frames_removed
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot_plugin_picmcstat_init.py", line 5, in
from . import main as main # noqa: E402
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot_plugin_picmcstat_main.py", line 11, in
from .draw import ServerType, draw
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 16, in
from pil_utils import BuildImage, Text2Image
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\pil_utils_init.py", line 1, in
from .build_image import BuildImage as BuildImage
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\pil_utils\build_image.py", line 15, in
from .text2image import Text2Image
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\pil_utils\text2image.py", line 11, in
from .fonts import Font, get_proper_font
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\pil_utils\fonts.py", line 6, in
from matplotlib.font_manager import FontProperties, fontManager
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\matplotlib_init.py", line 276, in
check_versions()
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\matplotlib_init.py", line 270, in check_versions
module = importlib.import_module(modname)
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\importlib_init.py", line 90, in import_module
return _bootstrap.gcd_import(name[level:], package, level)
File "C:\Users\admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\kiwisolver_init.py", line 8, in
from ._cext import (
配置字体路径后插件中文字体无法渲染
部分.env.prod
配置:
MCSTAT_FONT='/data/fonts/LXGWWenKaiMono-Bold.ttf'
我用的是真寻bot搭建的,看了下你的安装方式 和配置安装好并且可以正常使用了,但是我找不到配置文件路径?请问这个配置我该写在哪里?
08-14 13:36:44 [ERROR] nonebot_plugin_picmcstat | 获取服务器状态/画服务器状态图出错
Traceback (most recent call last):
File "D:\NoneBot\ABK\bot.py", line 21, in <module>
nonebot.run()
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\__init__.py", line 309, in run
get_driver().run(*args, **kwargs)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 198, in run
uvicorn.run(
File "D:\NoneBot\ABK\.venv\lib\site-packages\uvicorn\main.py", line 578, in run
server.run()
File "D:\NoneBot\ABK\.venv\lib\site-packages\uvicorn\server.py", line 61, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
self.run_forever()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
self._run_once()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1909, in _run_once
handle._run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\message.py", line 467, in check_and_run_matcher
await _run_matcher(
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\message.py", line 419, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 753, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 728, in simple_run
await handler(
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\dependencies\__init__.py", line 108, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\__main__.py", line 27, in _
await matcher.finish(await draw(arg, svr_type))
> File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 319, in draw
draw_java(await (await JavaServer.async_lookup(ip)).async_status(), ip),
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 253, in draw_java
if mod_list and (li := format_list("§7Mod列表: ", mod_list)):
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 164, in format_list
text_img = [format_extra(x) for x in sample if x]
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 164, in <listcomp>
text_img = [format_extra(x) for x in sample if x]
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 153, in format_extra
format_code_to_bbcode(extra),
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\util.py", line 56, in format_code_to_bbcode
parts = text.split("§")
AttributeError: 'dict' object has no attribute 'split'
服务器使用SRV记录来随机分配玩家到中继节点,同时添加后备A记录来使不支持SRV记录的系统和基岩版玩家正常进入,机器人运行在Windows上(支持SRV记录),但是机器人只能读取到后备服务器信息。
我在env.prod里配置了多个服务器查询的快捷命令,例如
MCSTAT_SHORTCUTS=[{"regex":"^查服je$","host":"etmc.top:25565","type":"je"}]
MCSTAT_SHORTCUTS=[{"regex":"^查服be$","host":"etmc.top:19132","type":"be"}]
但插件只响应了某一个服务器的查询,后台日志如下
04-05 17:08:21 [SUCCESS] nonebot | OneBot V11 257007689 | [message.group.normal]: Message -999447032 from 2455107573@[群:658967247] '查服be'
04-05 17:08:21 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_picmcstat.__main__)
04-05 17:08:23 [SUCCESS] nonebot | OneBot V11 257007689 | [notice.group_card]: {'time': 1680685703, 'self_id': 257007689, 'post_type': 'notice', 'notice_type': 'group_card', 'card_old': '时雨bot 初号机|当前内存占用41.73%', 'card_new': '时雨bot 初号机|当前内存占用43.40%', 'user_id': 257007689, 'group_id': 658967247}
04-05 17:08:23 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_picmcstat.__main__) running complete
04-05 17:08:31 [SUCCESS] nonebot | OneBot V11 257007689 | [message.group.normal]: Message 601197327 from 2455107573@[群:658967247] '查服je'
配置字体路径后插件中文字体无法渲染
部分.env.prod
配置:
MCSTAT_FONT='/data/fonts/LXGWWenKaiMono-Bold.ttf'
我也有类似的报错
ERROR nonebot_plugin_picmcstat >> 获取服务器状态/画服务器状态图出错
Traceback (most recent call last):
File "/bot/atri/main.py", line 9, in <module>
ATRI.run()
│ └ <function run at 0x7f9e5a2385e0>
└ <module 'ATRI' from '/bot/atri/ATRI/__init__.py'>
File "/bot/atri/ATRI/__init__.py", line 36, in run
nonebot.run(log_level=log_level)
│ │ └ 'warning'
│ └ <function run at 0x7f9e5af8f760>
└ <module 'nonebot' from '/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/__init__....
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/__init__.py", line 331, in run
get_driver().run(*args, **kwargs)
│ │ └ {'log_level': 'warning'}
│ └ ()
└ <function get_driver at 0x7f9e5af8f5b0>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/drivers/fastapi.py", line 201, in run
uvicorn.run(
│ └ <function run at 0x7f9e5a184670>
└ <module 'uvicorn' from '/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/uvicorn/__init__....
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/uvicorn/main.py", line 578, in run
server.run()
│ └ <function Server.run at 0x7f9e5a184820>
└ <uvicorn.server.Server object at 0x7f9e35181ff0>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/uvicorn/server.py", line 61, in run
return asyncio.run(self.serve(sockets=sockets))
│ │ │ │ └ None
│ │ │ └ <function Server.serve at 0x7f9e5a1848b0>
│ │ └ <uvicorn.server.Server object at 0x7f9e35181ff0>
│ └ <function run at 0x7f9e5c118550>
└ <module 'asyncio' from '/usr/lib/python3.10/asyncio/__init__.py'>
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
│ │ └ <coroutine object Server.serve at 0x7f9e382e9ee0>
│ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>
└ <uvloop.Loop running=True closed=False debug=False>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/message.py", line 476, in check_and_run_matcher
await _run_matcher(
└ <function _run_matcher at 0x7f9e5aeaf010>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/message.py", line 428, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
│ │ │ │ │ │ └ {<function _command at 0x7f9e5adb7d00>: <Task finished name='Task-1743' coro=<_command() done, defined at /root/.cache/pypoet...
│ │ │ │ │ └ <contextlib.AsyncExitStack object at 0x7f9dea3ecc40>
│ │ │ │ └ {'_prefix': {'command': None, 'raw_command': None, 'command_arg': None, 'command_start': None, 'command_whitespace': None}, '...
│ │ │ └ GroupMessageEvent(time=1701623220, self_id=3218305779, post_type='message', sub_type='normal', user_id=1445352985, message_ty...
│ │ └ Bot(type='OneBot V11', self_id='3218305779')
│ └ <function Matcher.run at 0x7f9e5adb7a30>
└ Matcher(type='message', module=nonebot_plugin_picmcstat.__main__, lineno=59)
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 846, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
│ │ │ │ │ │ └ {<function _command at 0x7f9e5adb7d00>: <Task finished name='Task-1743' coro=<_command() done, defined at /root/.cache/pypoet...
│ │ │ │ │ └ <contextlib.AsyncExitStack object at 0x7f9dea3ecc40>
│ │ │ │ └ {'_prefix': {'command': None, 'raw_command': None, 'command_arg': None, 'command_start': None, 'command_whitespace': None}, '...
│ │ │ └ GroupMessageEvent(time=1701623220, self_id=3218305779, post_type='message', sub_type='normal', user_id=1445352985, message_ty...
│ │ └ Bot(type='OneBot V11', self_id='3218305779')
│ └ <function simple_run at 0x7f9e4af3b130>
└ Matcher(type='message', module=nonebot_plugin_picmcstat.__main__, lineno=59)
File "/bot/atri/ATRI/patch.py", line 41, in simple_run
await handler(
└ Dependent(call=shortcut_handler)
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/dependencies/__init__.py", line 113, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
│ │ │ │ │ │ └ {'matcher': Matcher(type='message', module=nonebot_plugin_picmcstat.__main__, lineno=59)}
│ │ │ │ │ └ <function get_shortcut_handler.<locals>.shortcut_handler at 0x7f9e143cd1b0>
│ │ │ │ └ Dependent(call=shortcut_handler)
│ │ │ └ ~R
│ │ └ typing.Awaitable
│ └ typing.Callable
└ <function cast at 0x7f9e5c1a0280>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot_plugin_picmcstat/__main__.py", line 48, in shortcut_handler
img = await draw(host, svr_type)
│ │ │ │ └ {'_prefix': {'command': None, 'raw_command': None, 'command_arg': None, 'command_start': None, 'command_whitespace': None}, '...
│ │ │ └ GroupMessageEvent(time=1701623220, self_id=3218305779, post_type='message', sub_type='normal', user_id=1445352985, message_ty...
│ │ └ Bot(type='OneBot V11', self_id='3218305779')
│ └ <function simple_run at 0x7f9e4af3b130>
└ Matcher(type='message', module=nonebot_plugin_picmcstat.__main__, lineno=59)
File "/bot/atri/ATRI/patch.py", line 41, in simple_run
await handler(
└ Dependent(call=shortcut_handler)
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot/dependencies/__init__.py", line 113, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
│ │ │ │ │ │ └ {'matcher': Matcher(type='message', module=nonebot_plugin_picmcstat.__main__, lineno=59)}
│ │ │ │ │ └ <function get_shortcut_handler.<locals>.shortcut_handler at 0x7f9e143cd1b0>
│ │ │ │ └ Dependent(call=shortcut_handler)
│ │ │ └ ~R
│ │ └ typing.Awaitable
│ └ typing.Callable
<function cast at 0x7f9e5c1a0280>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot_plugin_picmcstat/__main__.py", line 48, in shortcut_handler
img = await draw(host, svr_type)
│ │ └ 'be'
│ └ 'qymc.sytes.net:19132'
└ <function draw at 0x7f9e14337d00>
> File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot_plugin_picmcstat/draw.py", line 329, in draw
return draw_bedrock(status, original_ip)
│ │ └ 'qymc.sytes.net:19132'
│ └ BedrockStatusResponse(players=BedrockStatusPlayers(online=0, max=202312), version=BedrockStatusVersion(name='1.20.41', protoc...
└ <function draw_bedrock at 0x7f9e14337be0>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot_plugin_picmcstat/draw.py", line 276, in draw_bedrock
motd = strip_lines(res.motd)
│ │ └ Motd(parsed=['齐悦幻想'], raw='齐悦幻想', bedrock=True)
│ └ BedrockStatusResponse(players=BedrockStatusPlayers(online=0, max=202312), version=BedrockStatusVersion(name='1.20.41', protoc...
└ <function strip_lines at 0x7f9e14337400>
File "/root/.cache/pypoetry/virtualenvs/atri-TKW06R_y-py3.10/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 44, in strip_lines
txt = "\n".join([x.strip() for x in txt.splitlines()])
└ Motd(parsed=['齐悦幻想'], raw='齐悦幻想', bedrock=True)
AttributeError: 'Motd' object has no attribute 'splitlines'
Originally posted by @qingtian-crazy in #9 (comment)
插件配置
MCSTAT_SHORTCUTS=[{"regex":"^查服1$","host":"node01.banrixian.cc:20001","type":"je"},{"regex":"^查服2$","host":"node01.banrixian.cc:20002","type":"je"}]
报错
[ERROR] nonebot | Failed to import "nonebot_plugin_picmcstat"
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot/plugin/load.py", line 130, in load_from_toml
return load_all_plugins(plugins, plugin_dirs)
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot/plugin/load.py", line 64, in load_all_plugins
return manager.load_all_plugins()
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot/plugin/manager.py", line 176, in load_all_plugins
return set(
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot/plugin/manager.py", line 177, in <genexpr>
filter(None, (self.load_plugin(name) for name in self.available_plugins))
> File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot/plugin/manager.py", line 142, in load_plugin
module = importlib.import_module(name)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot/plugin/manager.py", line 242, in exec_module
super().exec_module(module)
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot_plugin_picmcstat/__init__.py", line 5, in <module>
from . import __main__ as __main__ # noqa: E402
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot_plugin_picmcstat/__main__.py", line 10, in <module>
from .config import ShortcutType, config
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot_plugin_picmcstat/config.py", line 6, in <module>
from .const import ServerType
File "/root/9/JIU/.venv/lib/python3.10/site-packages/nonebot_plugin_picmcstat/const.py", line 3, in <module>
from mcstatus.motd.components import Formatting, MinecraftColor
ModuleNotFoundError: No module named 'mcstatus.motd`
如题
这是例子:motd(pe) 中文域名.domain
PE版不支持中文域名关插件什么事(逃)
日志如下
05-13 21:58:28 [SUCCESS] nonebot | OneBot V11 257007689 | [message.group.normal]: Message 1238991459 from 2455107573@[群:518579701] '查服je'
05-13 21:58:28 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_picmcstat.__main__)
05-13 21:58:29 [ERROR] nonebot_plugin_picmcstat | 获取服务器状态/画服务器状态图出错
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "/usr/lib/python3.10/multiprocessing/spawn.py", line 129, in _main
return self._bootstrap(parent_sentinel)
File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_reboot/reloader.py", line 27, in _run
_nb_run(*args, **kwargs)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/__init__.py", line 273, in run
get_driver().run(*args, **kwargs)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/drivers/fastapi.py", line 187, in run
uvicorn.run(
File "/home/yuyue/.local/lib/python3.10/site-packages/uvicorn/main.py", line 569, in run
server.run()
File "/home/yuyue/.local/lib/python3.10/site-packages/uvicorn/server.py", line 60, in run
return asyncio.run(self.serve(sockets=sockets))
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/message.py", line 141, in _check_matcher
await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/message.py", line 187, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 732, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 707, in simple_run
await handler(
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/dependencies/__init__.py", line 108, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/__main__.py", line 36, in shortcut_handler
await matcher.finish(await draw(host, svr_type))
> File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/draw.py", line 240, in draw
draw_java(await (await JavaServer.async_lookup(ip)).async_status()),
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/draw.py", line 156, in draw_java
motd = strip_lines(json_to_format_code(res.raw["description"]))
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 154, in json_to_format_code
texts.append(json_to_format_code(extra, interpret))
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 141, in json_to_format_code
return "".join([json_to_format_code(x, interpret) for x in raw_json])
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 141, in <listcomp>
return "".join([json_to_format_code(x, interpret) for x in raw_json])
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 154, in json_to_format_code
texts.append(json_to_format_code(extra, interpret))
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 141, in json_to_format_code
return "".join([json_to_format_code(x, interpret) for x in raw_json])
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 141, in <listcomp>
return "".join([json_to_format_code(x, interpret) for x in raw_json])
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 144, in json_to_format_code
code = "".join(get_format_code_by_dict(raw_json))
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/util.py", line 130, in get_format_code_by_dict
codes.append(f"§{STRING_CODE[k]}")
KeyError: 'obfuscated'
11-06 21:48:14 [ERROR] nonebot_plugin_picmcstat | 获取服务器状态/画服务器状态图出错
Traceback (most recent call last):
File "<string>", line 25, in <module>
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\__init__.py", line 331, in run
get_driver().run(*args, **kwargs)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 201, in run
uvicorn.run(
File "D:\NoneBot\ABK\.venv\lib\site-packages\uvicorn\main.py", line 587, in run
server.run()
File "D:\NoneBot\ABK\.venv\lib\site-packages\uvicorn\server.py", line 61, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
self.run_forever()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
self._run_once()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1909, in _run_once
handle._run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\message.py", line 476, in check_and_run_matcher
await _run_matcher(
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\message.py", line 428, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 846, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 821, in simple_run
await handler(
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot\dependencies\__init__.py", line 113, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\__main__.py", line 27, in _
await matcher.finish(await draw(arg, svr_type))
> File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 321, in draw
draw_java(await (await JavaServer.async_lookup(ip)).async_status(), ip),
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\draw.py", line 227, in draw_java
motd = strip_lines(json_to_format_code(res.raw["description"]))
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\util.py", line 123, in json_to_format_code
texts.append(json_to_format_code(extra, interpret))
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\util.py", line 110, in json_to_format_code
return "§r".join([json_to_format_code(x, interpret) for x in raw_json])
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\util.py", line 110, in <listcomp>
return "§r".join([json_to_format_code(x, interpret) for x in raw_json])
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\util.py", line 113, in json_to_format_code
code = "".join(get_format_code_by_dict(raw_json))
File "D:\NoneBot\ABK\.venv\lib\site-packages\nonebot_plugin_picmcstat\util.py", line 95, in get_format_code_by_dict
codes.append(f"§{STRING_CODE[color]}")
KeyError: '#FF0000'
06-17 14:40:23 [SUCCESS] nonebot | OneBot V11 257******* | [message.group.normal]: Message 482100725 from 245*****3@[群:518****01] '查服be'
06-17 14:40:23 [DEBUG] nonebot | Checking for matchers in priority 1...
06-17 14:40:23 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_picmcstat.__main__)
06-17 14:40:23 [DEBUG] nonebot | Running Matcher(type='message', module=nonebot_plugin_picmcstat.__main__)
06-17 14:40:23 [DEBUG] nonebot | Running handler Dependent(call=shortcut_handler)
06-17 14:40:24 [ERROR] nonebot_plugin_picmcstat | 获取服务器状态/画服务器状态图出错
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "/usr/lib/python3.10/multiprocessing/spawn.py", line 129, in _main
return self._bootstrap(parent_sentinel)
File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_reboot/reloader.py", line 27, in _run
_nb_run(*args, **kwargs)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/__init__.py", line 309, in run
get_driver().run(*args, **kwargs)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/drivers/fastapi.py", line 198, in run
uvicorn.run(
File "/home/yuyue/.local/lib/python3.10/site-packages/uvicorn/main.py", line 569, in run
server.run()
File "/home/yuyue/.local/lib/python3.10/site-packages/uvicorn/server.py", line 60, in run
return asyncio.run(self.serve(sockets=sockets))
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/message.py", line 467, in check_and_run_matcher
await _run_matcher(
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/message.py", line 419, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 753, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 728, in simple_run
await handler(
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot/dependencies/__init__.py", line 108, in __call__
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/__main__.py", line 35, in shortcut_handler
await matcher.finish(await draw(host, svr_type))
> File "/home/yuyue/.local/lib/python3.10/site-packages/nonebot_plugin_picmcstat/draw.py", line 323, in draw
draw_bedrock(await BedrockServer.lookup(ip).async_status(), ip),
File "/home/yuyue/.local/lib/python3.10/site-packages/mcstatus/utils.py", line 51, in async_wrapper
raise last_exc # type: ignore # (This won't actually be unbound)
File "/home/yuyue/.local/lib/python3.10/site-packages/mcstatus/utils.py", line 47, in async_wrapper
return await func(*args, **kwargs) # type: ignore # (We know func is awaitable here)
File "/home/yuyue/.local/lib/python3.10/site-packages/mcstatus/server.py", line 220, in async_status
return await BedrockServerStatus(self.address, self.timeout, **kwargs).read_status_async()
File "/home/yuyue/.local/lib/python3.10/site-packages/mcstatus/bedrock_status.py", line 70, in read_status_async
return self.parse_response(data, (end - start) * 1000)
File "/home/yuyue/.local/lib/python3.10/site-packages/mcstatus/bedrock_status.py", line 27, in parse_response
decoded_data = data[34 : 34 + name_length].decode().split(";")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd2 in position 5: invalid continuation byte
06-17 14:40:24 [DEBUG] nonebot | OneBot V11 | Calling API send_msg
06-17 14:40:25 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_picmcstat.__main__) running complete
06-17 14:40:25 [DEBUG] nonebot | Stop event propagation
06-17 14:40:25 [DEBUG] nonebot | Checking for matchers completed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.