Ailitonia / omega-miya

基于 nonebot2 的多平台机器人
MIT License
272 stars 50 forks source link

签到不能正常获取头图 #97

Closed cpuopt closed 2 years ago

cpuopt commented 2 years ago
06-23 10:32:18 [ERROR] omega_miya | Decorator RunAsyncCatchingException | omega_miya.plugins.omega_sign_in.utils.generate_signin_card raise Exception RuntimeError > There are something wrong(s) in function running
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\plugins\omega_sign_in\__init__.py", line 242, in handle_sign_in
    raise DuplicateException('重复签到')
omega_miya.plugins.omega_sign_in.DuplicateException: 重复签到

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\bot.py", line 51, in <module>
    nonebot.run()
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\__init__.py", line 259, in run
    get_driver().run(*args, **kwargs)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\drivers\fastapi.py", line 170, in run
    uvicorn.run(
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\uvicorn\main.py", line 463, in run
    server.run()
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\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 628, in run_until_complete
    self.run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 595, in run_forever
    self._run_once()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1881, 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 "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\message.py", line 146, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\message.py", line 196, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\internal\matcher.py", line 668, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\internal\matcher.py", line 635, in simple_run
    await handler(
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\venv\lib\site-packages\nonebot\dependencies\__init__.py", line 92, in __call__
    return await self.call(**values)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\plugins\omega_sign_in\__init__.py", line 145, in handle_regex_sign_in
    msg = await handle_sign_in(bot=bot, event=event, state=state)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\plugins\omega_sign_in\__init__.py", line 295, in handle_sign_in
    msg = await handle_fortune(bot=bot, event=event, state=state)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\plugins\omega_sign_in\__init__.py", line 335, in handle_fortune
    sign_in_card_result = await generate_signin_card(user_id=event.user_id, user_text=user_text, fortune_do=False,
> File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\utils\process_utils\__init__.py", line 128, in _wrapper
    result = await func(*args, **kwargs)
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\plugins\omega_sign_in\utils.py", line 197, in generate_signin_card
    signin_top_img_data, signin_top_img_file = await _get_signin_top_image()
  File "C:\Users\Administrator\Desktop\omegabot\omega-miya-dev\omega_miya\plugins\omega_sign_in\utils.py", line 86, in _get_signin_top_image
    raise RuntimeError(f'all attempts to fetch artwork resources have failed')
RuntimeError: all attempts to fetch artwork resources have failed
06-23 10:32:19 [ERROR] omega_miya | SignIn | User(bot_user_554950835) 获取运势卡片失败, 发生了预期外的错误, 生成运势卡片失败, all attempts to fetch artwork resources have failed

已经订阅了好几个画师,omega_pixiv_artwork表里有2000多条记录,然后我把获取头图的函数nsfw_tag=0改到-1,random里query_by_condition()参数加上classified=0,还是获取不到

但是我手改数据库,把一些记录classified改到1,nsfw_tag改到0,就能正常获取到头图了 还有,大佬能否更新一下那个图片数据库

Ailitonia commented 2 years ago

数据库导入问题,请确认表前缀是否一致,若不一致请修改手动导入的数据库表名

cpuopt commented 2 years ago

ok了,表名和索引改了一下,还有classified属性

Ailitonia commented 2 years ago

这里顺便提一句,pixiv画师订阅和萌图插件是共用一张表的,但由于不能确认画师新作品的内容是什么,因此由画师订阅新增的作品信息 classified0,而由萌图插件 导入图库 命令导入的作品其 classified1