nonebot-plugin-mystool icon indicating copy to clipboard operation
nonebot-plugin-mystool copied to clipboard

我发现/任务指令不会通过人机验证,但签到可以通过,这是什么情况

Open FeiGePro opened this issue 1 year ago • 11 comments

image image

FeiGePro avatar Jul 29 '24 00:07 FeiGePro

可以的话还是贴一下debug级的日志吧,插件很多信息用的debug级显示的

dontdot avatar Aug 03 '24 01:08 dontdot

可以的话还是贴一下debug级的日志吧,插件很多信息用的debug级显示的

07-29 08:31:37 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 07-29 08:31:37 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034}

FeiGePro avatar Aug 03 '24 04:08 FeiGePro

可以的话还是贴一下debug级的日志吧,插件很多信息用的debug级显示的

07-29 08:31:37 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 07-29 08:31:37 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034}

后面还有吗,贴全一点

dontdot avatar Aug 03 '24 04:08 dontdot

可以的话还是贴一下debug级的日志吧,插件很多信息用的debug级显示的

这个应该也算是bug吧,但没有log image image

FeiGePro avatar Aug 03 '24 04:08 FeiGePro

可以的话还是贴一下debug级的日志吧,插件很多信息用的debug级显示的

07-29 08:31:37 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 07-29 08:31:37 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034}

后面还有吗,贴全一点

07-28 18:59:51 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 07-28 18:59:51 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034} 07-28 19:00:39 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 07-28 19:00:39 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034} 07-28 19:05:43 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 07-28 19:05:43 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034}

FeiGePro avatar Aug 03 '24 04:08 FeiGePro

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/stable/src%2Fnonebot_plugin_mystool%2Fapi%2Fmyb_missions_api.py#L154-L159 那应该就是这一段if的条件为false了,又没有else,你可以自己去添加一些去排除是具体这里那一段判断出问题

dontdot avatar Aug 03 '24 04:08 dontdot

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/stable/src%2Fnonebot_plugin_mystool%2Fapi%2Fmyb_missions_api.py#L154-L159 那应该就是这一段if的条件为false了,又没有else,你可以自己去添加一些去排除是具体这里那一段判断出问题

看不懂的说,我是小白

FeiGePro avatar Aug 03 '24 05:08 FeiGePro

打开api文件夹里的myb_missions_api.py文件 https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/0a02b01f9bd238906e41ca17c9036210d99dd5df/src/nonebot_plugin_mystool/api/myb_missions_api.py#L152-L159 把上面的内容换成下面的

                        if plugin_config.preference.geetest_url or user.geetest_url:
                            create_status, mmt_data = await create_verification(self.account)
                            logger.debug('米游币签到正在创建验证')
                            if create_status:
                                logger.debug('米游币签到创建验证成功')
                                if geetest_result := await get_validate(user, mmt_data.gt, mmt_data.challenge):
                                    logger.debug('米游币签到获取验证结果成功')
                                    if await verify_verification(mmt_data, geetest_result, self.account):
                                        logger.success(
                                            f"米游币任务 - 讨论区签到: 用户 {self.account.display_name} 人机验证通过")
                                        continue

然后再重新启动机器人后再/任务看看log

dontdot avatar Aug 03 '24 05:08 dontdot

打开api文件夹里的myb_missions_api.py文件

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/0a02b01f9bd238906e41ca17c9036210d99dd5df/src/nonebot_plugin_mystool/api/myb_missions_api.py#L152-L159

把上面的内容换成下面的

                        if plugin_config.preference.geetest_url or user.geetest_url:
                            create_status, mmt_data = await create_verification(self.account)
                            logger.debug('米游币签到正在创建验证')
                            if create_status:
                                logger.debug('米游币签到创建验证成功')
                                if geetest_result := await get_validate(user, mmt_data.gt, mmt_data.challenge):
                                    logger.debug('米游币签到获取验证结果成功')
                                    if await verify_verification(mmt_data, geetest_result, self.account):
                                        logger.success(
                                            f"米游币任务 - 讨论区签到: 用户 {self.account.display_name} 人机验证通过")
                                        continue

然后再重新启动机器人后再/任务看看log

应该有用,我的一个人用的,所以等我下次看看能不能通过人机验证

FeiGePro avatar Aug 03 '24 06:08 FeiGePro

这给出来的不是解决方法,替换的内容是在查哪里出了问题,通过查看日志看下哪条日志没输出来判断问题在哪 但是有可能重启后就没这个问题

dontdot avatar Aug 03 '24 06:08 dontdot

这给出来的不是解决方法,替换的内容是在查哪里出了问题,通过查看日志看下哪条日志没输出来判断问题在哪 但是有可能重启后就没这个问题

因为我打过卡,而且第二次试的时候没有跳人机验证,等我下次遇到再看看log吧,目前log没问题

FeiGePro avatar Aug 03 '24 06:08 FeiGePro

这给出来的不是解决方法,替换的内容是在查哪里出了问题,通过查看日志看下哪条日志没输出来判断问题在哪 但是有可能重启后就没这个问题

这样的 08-05 15:26:36 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 08-05 15:26:36 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034} 08-05 15:26:37 [DEBUG] nonebot_plugin_mystool | 米游币签到正在创建验证 08-05 15:26:37 [DEBUG] nonebot_plugin_mystool | 米游币签到创建验证成功 08-05 15:26:37 [DEBUG] nonebot_plugin_mystool | 米游币签到获取验证结果成功

FeiGePro avatar Aug 05 '24 07:08 FeiGePro

                        if plugin_config.preference.geetest_url or user.geetest_url:
                            create_status, mmt_data = await create_verification(self.account)
                            logger.debug('米游币签到正在创建验证')
                            if create_status:
                                logger.debug('米游币签到创建验证成功')
                                if geetest_result := await get_validate(user, mmt_data.gt, mmt_data.challenge):
                                    logger.debug(f'米游币签到获取验证结果成功:{geetest_result}')
                                    verify_result = await verify_verification(mmt_data, geetest_result, self.account)
                                    logger.debug(f'米游币返回签到结果:{verify_result}')
                                    if verify_result:
                                        logger.success(
                                            f"米游币任务 - 讨论区签到: 用户 {self.account.display_name} 人机验证通过")
                                        continue

再试试用这个,看起来像是卡在verify_verification这里,得看下什么内容

dontdot avatar Aug 05 '24 07:08 dontdot

                        if plugin_config.preference.geetest_url or user.geetest_url:
                            create_status, mmt_data = await create_verification(self.account)
                            logger.debug('米游币签到正在创建验证')
                            if create_status:
                                logger.debug('米游币签到创建验证成功')
                                if geetest_result := await get_validate(user, mmt_data.gt, mmt_data.challenge):
                                    logger.debug(f'米游币签到获取验证结果成功:{geetest_result}')
                                    verify_result = await verify_verification(mmt_data, geetest_result, self.account)
                                    logger.debug(f'米游币返回签到结果:{verify_result}')
                                    if verify_result:
                                        logger.success(
                                            f"米游币任务 - 讨论区签到: 用户 {self.account.display_name} 人机验证通过")
                                        continue

再试试用这个,看起来像是卡在verify_verification这里,得看下什么内容

这样的,其实我还有一点感到很奇怪,我用了人人打码的平台,用的是自己的key,没有启动打码的确实签到不成功,但启动打码,虽然可以成功,但神奇的是,我账户没有验证记录,也没消耗积分,真的奇了怪了 08-05 15:53:44 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 08-05 15:53:44 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034} 08-05 15:53:44 [DEBUG] nonebot_plugin_mystool | 米游币签到正在创建验证 08-05 15:53:44 [DEBUG] nonebot_plugin_mystool | 米游币签到创建验证成功 08-05 15:53:44 [DEBUG] nonebot_plugin_mystool | 米游币签到获取验证结果成功:GeetestResult(validate='', seccode='') 08-05 15:53:44 [DEBUG] nonebot_plugin_mystool | 米游币返回签到结果:success=False network_error=False incorrect_return=False login_expired=False need_verify=False invalid_ds=False

FeiGePro avatar Aug 05 '24 07:08 FeiGePro

估计是没能成功调用打码平台的API,这里 get_validate 返回的结果是空的(GeetestResult(validate='', seccode='')

Ljzd-PRO avatar Aug 05 '24 08:08 Ljzd-PRO

get_validate也有问题,里面有两个debug的日志没输出,还是 @FeiGePro 的文件里get_validate没有了logger的输出? @FeiGePro 截一下游戏签到的相关debug日志出来看下

dontdot avatar Aug 05 '24 08:08 dontdot

get_validate也有问题,里面有两个debug的日志没输出,还是 @FeiGePro 的文件里get_validate没有了logger的输出? @FeiGePro 截一下游戏签到的相关debug日志出来看下

这个吗 image

FeiGePro avatar Aug 05 '24 08:08 FeiGePro

估计是没能成功调用打码平台的API,这里 get_validate 返回的结果是空的(GeetestResult(validate='', seccode='')

我也是这样猜想的,但毕竟不影响签到就没太在意,但任务签到是不能完成的

FeiGePro avatar Aug 05 '24 08:08 FeiGePro

/签到的那个,不是/任务 去找/签到的需要人机验证的那个日志

dontdot avatar Aug 05 '24 08:08 dontdot

就一个log文件吧 08-05 16:29:26 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 08-05 16:29:26 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034} 08-05 16:29:27 [DEBUG] nonebot_plugin_mystool | 米游币签到正在创建验证 08-05 16:29:27 [DEBUG] nonebot_plugin_mystool | 米游币签到创建验证成功 08-05 16:29:27 [DEBUG] nonebot_plugin_mystool | 米游币签到获取验证结果成功:GeetestResult(validate='', seccode='') 08-05 16:29:27 [DEBUG] nonebot_plugin_mystool | 米游币返回签到结果:success=False network_error=False incorrect_return=False login_expired=False need_verify=False invalid_ds=False

/签到的那个,不是/任务 去找/签到的需要人机验证的那个日志

FeiGePro avatar Aug 05 '24 08:08 FeiGePro

你去dataV2.json 的同级目录下的那个mystool.log中找这两条 image

dontdot avatar Aug 05 '24 08:08 dontdot

你去dataV2.json 的同级目录下的那个mystool.log中找这两条 image

日志里,没有这个,我的是任务签到不成功,游戏签到可以成功,那我游戏签到的log发给你 08-05 15:24:49 [WARNING] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 可能被人机验证阻拦 08-05 15:24:49 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":375,"gt":"f1342eaf43e356aa680d18f55fa1f1ca","challenge":"3354118fef97a9248eb4937f140d4cc5","success":1,"is_risk":true}} 08-05 15:24:50 [INFO] nonebot_plugin_mystool | 游戏签到 - 尝试使用人机验证结果进行签到 08-05 15:24:50 [SUCCESS] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 签到成功 08-05 15:24:50 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":0,"gt":"","challenge":"","success":0,"is_risk":false}} 08-05 15:24:57 [WARNING] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 可能被人机验证阻拦 08-05 15:24:57 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":5001,"gt":"bd435bc21c1e44304e33db31e976b868","challenge":"90fadbaa2b1579c473bb91bcaf0139ab","success":1,"is_risk":true}} 08-05 15:24:57 [INFO] nonebot_plugin_mystool | 游戏签到 - 尝试使用人机验证结果进行签到 08-05 15:24:57 [SUCCESS] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 签到成功 08-05 15:24:57 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":0,"gt":"","challenge":"","success":0,"is_risk":false}} 08-05 15:25:04 [WARNING] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 可能被人机验证阻拦 08-05 15:25:04 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":5001,"gt":"afa69b855e321950b027ebab65f86ce8","challenge":"2f6f28d7a5210411f06df0b8ec55cbe7","success":1,"is_risk":true}} 08-05 15:25:05 [INFO] nonebot_plugin_mystool | 游戏签到 - 尝试使用人机验证结果进行签到 08-05 15:25:05 [SUCCESS] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 签到成功 08-05 15:25:05 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":0,"gt":"","challenge":"","success":0,"is_risk":false}} 08-05 15:25:12 [WARNING] nonebot_plugin_mystool | 游戏签到 - 用户 190024575 可能被人机验证阻拦 08-05 15:25:12 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"retcode":0,"message":"OK","data":{"code":"","risk_code":5001,"gt":"ccc71324fd054bb75dc80f0467319a4f","challenge":"d73424a3ae17eb730e408d1b159a88c2","success":1,"is_risk":true}}

FeiGePro avatar Aug 05 '24 09:08 FeiGePro

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/0a02b01f9bd238906e41ca17c9036210d99dd5df/src/nonebot_plugin_mystool/utils/common.py#L235-L279

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/0a02b01f9bd238906e41ca17c9036210d99dd5df/src/nonebot_plugin_mystool/utils/common.py#L273-L274

get_validate函数里,有没有logger.debug(f"{plugin_config.preference.log_head}人机验证结果:{geetest_data}")这行,没有的话加上去运行看下输出什么

dontdot avatar Aug 05 '24 09:08 dontdot

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/0a02b01f9bd238906e41ca17c9036210d99dd5df/src/nonebot_plugin_mystool/utils/common.py#L235-L279

https://github.com/Ljzd-PRO/nonebot-plugin-mystool/blob/0a02b01f9bd238906e41ca17c9036210d99dd5df/src/nonebot_plugin_mystool/utils/common.py#L273-L274

get_validate函数里,有没有logger.debug(f"{plugin_config.preference.log_head}人机验证结果:{geetest_data}")这行,没有的话加上去运行看下输出什么

有的,但这里没输出

FeiGePro avatar Aug 05 '24 09:08 FeiGePro

async def get_validate(user: UserData, gt: str = None, challenge: str = None, retry: bool = True):
    """
    使用打码平台获取人机验证validate

    :param user: 用户数据对象
    :param gt: 验证码gt
    :param challenge: challenge
    :param retry: 是否允许重试
    :return: 如果配置了平台URL,且 gt, challenge 不为空,返回 GeetestResult
    """

    try:
        if not plugin_config.preference.global_geetest:
            if not (gt and challenge) or not user.geetest_url:
                return GeetestResult("", "")
            geetest_url = user.geetest_url
            params = {"gt": gt, "challenge": challenge}
            params.update(user.geetest_params)
        else:
            if not (gt and challenge) or not plugin_config.preference.geetest_url:
                return GeetestResult("", "")
            geetest_url = plugin_config.preference.geetest_url
            params = {"gt": gt, "challenge": challenge}
            params.update(plugin_config.preference.geetest_params)
        content = deepcopy(plugin_config.preference.geetest_json or Preference().geetest_json)
        for key, value in content.items():
            if isinstance(value, str):
                content[key] = value.format(gt=gt, challenge=challenge)
        debug_log = {"geetest_url": geetest_url, "params": params, "content": content}
        logger.debug(f"{plugin_config.preference.log_head}get_validate: {debug_log}")

        async for attempt in get_async_retry(retry):
            with attempt:
                async with httpx.AsyncClient() as client:
                    res = await client.post(
                        geetest_url,
                        params=params,
                        json=content,
                        timeout=60
                    )
                geetest_data = res.json()
                print(f"{plugin_config.preference.log_head}人机验证结果:{geetest_data}")  #logger不输出情况
                logger.debug(f"{plugin_config.preference.log_head}人机验证结果:{geetest_data}")
                validate = geetest_data['data']['validate']
                seccode = geetest_data['data'].get('seccode') or f"{validate}|jordan"
                return GeetestResult(validate=validate, seccode=seccode)
    except Exception as e:
        logger.exception(f"{plugin_config.preference.log_head}获取人机验证validate失败")
        print(f"reason:{type(e)},{e}")
        logger.error(f"reason:{type(e)},{e}")

替换尝试一下,看下哪里有报错没,贴一下你config.json里关于打码平台的配置

dontdot avatar Aug 06 '24 00:08 dontdot

async def get_validate(user: UserData, gt: str = None, challenge: str = None, retry: bool = True):
    """
    使用打码平台获取人机验证validate

    :param user: 用户数据对象
    :param gt: 验证码gt
    :param challenge: challenge
    :param retry: 是否允许重试
    :return: 如果配置了平台URL,且 gt, challenge 不为空,返回 GeetestResult
    """

    try:
        if not plugin_config.preference.global_geetest:
            if not (gt and challenge) or not user.geetest_url:
                return GeetestResult("", "")
            geetest_url = user.geetest_url
            params = {"gt": gt, "challenge": challenge}
            params.update(user.geetest_params)
        else:
            if not (gt and challenge) or not plugin_config.preference.geetest_url:
                return GeetestResult("", "")
            geetest_url = plugin_config.preference.geetest_url
            params = {"gt": gt, "challenge": challenge}
            params.update(plugin_config.preference.geetest_params)
        content = deepcopy(plugin_config.preference.geetest_json or Preference().geetest_json)
        for key, value in content.items():
            if isinstance(value, str):
                content[key] = value.format(gt=gt, challenge=challenge)
        debug_log = {"geetest_url": geetest_url, "params": params, "content": content}
        logger.debug(f"{plugin_config.preference.log_head}get_validate: {debug_log}")

        async for attempt in get_async_retry(retry):
            with attempt:
                async with httpx.AsyncClient() as client:
                    res = await client.post(
                        geetest_url,
                        params=params,
                        json=content,
                        timeout=60
                    )
                geetest_data = res.json()
                print(f"{plugin_config.preference.log_head}人机验证结果:{geetest_data}")  #logger不输出情况
                logger.debug(f"{plugin_config.preference.log_head}人机验证结果:{geetest_data}")
                validate = geetest_data['data']['validate']
                seccode = geetest_data['data'].get('seccode') or f"{validate}|jordan"
                return GeetestResult(validate=validate, seccode=seccode)
    except Exception as e:
        logger.exception(f"{plugin_config.preference.log_head}获取人机验证validate失败")
        print(f"reason:{type(e)},{e}")
        logger.error(f"reason:{type(e)},{e}")

替换尝试一下,看下哪里有报错没,贴一下你config.json里关于打码平台的配置

我知道了,我geetest_url是配置在data内的,我发现之后配置在config启动机器签到就报错了,我试过抛给gpt解决这个bug,好像不太行 08-06 09:30:45 [ERROR] nonebot_plugin_mystool | 米游币任务 - 讨论区签到: 用户 190024575 需要完成人机验证 08-06 09:30:45 [DEBUG] nonebot_plugin_mystool | 网络请求返回: {"data":null,"message":"","retcode":1034} 08-06 09:30:45 [DEBUG] nonebot_plugin_mystool | 米游币签到正在创建验证 08-06 09:30:45 [DEBUG] nonebot_plugin_mystool | 米游币签到创建验证成功 08-06 09:30:45 [ERROR] nonebot_plugin_mystool | 获取人机验证validate失败 Traceback (most recent call last): File "", line 17, in File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot_init_.py", line 335, in run get_driver().run(*args, **kwargs) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 186, in run uvicorn.run( File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\uvicorn\main.py", line 577, in run server.run() File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\uvicorn\server.py", line 65, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\Fei_Ge\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\Fei_Ge\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 633, in run_until_complete self.run_forever() File "C:\Users\Fei_Ge\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "C:\Users\Fei_Ge\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 600, in run_forever self._run_once() File "C:\Users\Fei_Ge\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1896, in _run_once handle._run() File "C:\Users\Fei_Ge\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, *self._args) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot\message.py", line 476, in check_and_run_matcher await _run_matcher( File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot\message.py", line 428, in run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 850, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 825, in simple_run await handler( File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot\dependencies_init.py", line 94, in call return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot_plugin_mystool\command\plan.py", line 132, in _ await perform_bbs_sign(user=user, user_ids=[user_id], matcher=matcher) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot_plugin_mystool\command\plan.py", line 415, in perform_bbs_sign sign_status, sign_points = await mission_obj.sign(user) File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot_plugin_mystool\api\myb_missions_api.py", line 157, in sign if geetest_result := await get_validate(user, mmt_data.gt, mmt_data.challenge):

File "C:\Users\Fei_Ge\PycharmProjects\awesome-bot.venv\lib\site-packages\nonebot_plugin_mystool\utils\common.py", line 258, in get_validate params.update(plugin_config.preference.geetest_params) TypeError: 'NoneType' object is not iterable 08-06 09:30:45 [ERROR] nonebot_plugin_mystool | reason:<class 'TypeError'>,'NoneType' object is not iterable

FeiGePro avatar Aug 06 '24 01:08 FeiGePro

这个问题去用dev分支,dev分支有个推送已经解决了的

dontdot avatar Aug 06 '24 01:08 dontdot

这个问题去用dev分支,dev分支有个推送已经解决了的

我好像,不太会下分支版本,不能直接用nb安装的话,我直接下载到本地替换,然后检测不到这个mystool模块,是不是还要修改我项目的pyproject.toml?

FeiGePro avatar Aug 06 '24 02:08 FeiGePro

下分支版本,你可以简单的切换到dev,然后下载zip

image

替换

如果之前是nb安装,那需要在找到python环境包的文件夹里找到替换 不然就切换插件的安装方式,源码安装

dontdot avatar Aug 06 '24 02:08 dontdot

下分支版本,你可以简单的切换到dev,然后下载zip

image

替换

如果之前是nb安装,那需要在找到python环境包的文件夹里找到替换 不然就切换插件的安装方式,源码安装

好的好的,超级感谢,但我发现我直接用dev内src的替换nonebot-plugin-mystool之后,我签到命令都用不了了,只能用登录和帮助

FeiGePro avatar Aug 06 '24 03:08 FeiGePro