Closed JaniQuiz closed 5 months ago
详细报错信息:
Traceback (most recent call last):
File "
File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot_plugin_mystool\utils.py", line 423, in send_private_msg dms: DMS = await bot.post_dms(recipient_id=user_id, source_guild_id=guild_id) File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\internal\adapter\bot.py", line 123, in call_api raise exception File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\internal\adapter\bot.py", line 98, in call_api result = await self.adapter._call_api(self, api, data) File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\adapters\qq\adapter.py", line 416, in _call_api return await api_handler(bot, data) File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\adapters\qq\utils.py", line 64, in call return await self.func(inst, *args, **kwds) File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\adapters\qq\bot.py", line 1042, in post_dms return parse_obj_as(DMS, await self._request(request)) File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\adapters\qq\bot.py", line 549, in _request return self._handle_response(response) File "C:\Users\30869\Desktop\LittleSanyue.venv\lib\site-packages\nonebot\adapters\qq\bot.py", line 538, in _handle_response raise ActionFailed(response) nonebot.adapters.qq.exception.ActionFailed: <ActionFailed: 500, code=305001, message=backend error, trace_id=5320c623cd581766696806e737aaac08>
应该就是这两行的问题,具体我不太了解这个适配器,也没见着个文档啥的
抱歉,写得有点长了
,麻烦您认真看下
我的话是提示发送私信失败,但是实际上是有成功发送的
应该就是这两行的问题,具体我不太了解这个适配器,也没见着个文档啥的
有一些参数可能要参考腾讯的文档
⚠️发送私信失败,错误信息:<ActionFailed: 202, code=304023, message=push message is waiting for audit now, data={'message_audit': {'audit_id': '7a16d693-c3d4-4de6-9c83-1f6e914344f4'}}>
看起来是说等待审核,实际上发送成功,内容就是 /帮助
返回的内容。
⚠️发送私信失败,错误信息:<ActionFailed: 202, code=304023, message=push message is waiting for audit now, data={'message_audit': {'audit_id': '7a16d693-c3d4-4de6-9c83-1f6e914344f4'}}>
看起来是说等待审核,实际上发送成功,内容就是
/帮助
返回的内容。
我是主动推送的时候提示nonebot.adapters.qq.exception.ActionFailed: <ActionFailed: 500, code=305001, message=backend error, trace_id=6c1790356e459646fbf4ba34988a0646>
12-06 09:35:46 [ERROR] nonebot_plugin_mystool | QQGuild 尝试主动发送私信消息失败。频道ID:233*********24,用户ID:12***********29,消息内容:
❕您的洞天财瓮已经满啦
❖原神·实时便笺❖
🆔账户 764******
⏳树脂数量:87 / 160
⏱️树脂将在12-06 19:18回满
🕰️探索派遣:5 / 5
📅每日委托:4 个任务未完成
💰洞天财瓮:2400 / 2400
🎰参量质变仪:N/A
Traceback (most recent call last):
File "<string>", line 21, in <module>
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\__init__.py", line 331, in run
get_driver().run(*args, **kwargs)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\drivers\fastapi.py", line 201, in run
uvicorn.run(
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\uvicorn\main.py", line 578, in run
server.run()
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\uvicorn\server.py", line 61, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\base_events.py", line 640, in run_until_complete
self.run_forever()
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\base_events.py", line 607, in run_forever
self._run_once()
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\base_events.py", line 1922, in _run_once
handle._run()
File "C:\ProgramData\anaconda3\envs\3y7\Lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\apscheduler\executors\base_py3.py", line 30, in run_coroutine_job
retval = await job.func(*job.args, **job.kwargs)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot_plugin_mystool\plan.py", line 632, in auto_note_check
await genshin_note_check(user=user, user_ids=user_ids)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot_plugin_mystool\plan.py", line 506, in genshin_note_check
await send_private_msg(user_id=user_id, message=msg)
> File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot_plugin_mystool\utils.py", line 418, in send_private_msg
dms: DMS = await bot.post_dms(recipient_id=user_id, source_guild_id=guild_id)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\internal\adapter\bot.py", line 123, in call_api
raise exception
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\internal\adapter\bot.py", line 98, in call_api
result = await self.adapter._call_api(self, api, **data)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\adapters\qq\adapter.py", line 416, in _call_api
return await api_handler(bot, **data)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\adapters\qq\utils.py", line 64, in __call__
return await self.func(inst, *args, **kwds)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\adapters\qq\bot.py", line 973, in post_dms
return parse_obj_as(DMS, await self._request(request))
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\adapters\qq\bot.py", line 480, in _request
return self._handle_response(response)
File "C:\ProgramData\anaconda3\envs\3y7\Lib\site-packages\nonebot\adapters\qq\bot.py", line 469, in _handle_response
raise ActionFailed(response)
nonebot.adapters.qq.exception.ActionFailed: <ActionFailed: 500, code=305001, message=backend error, trace_id=adf8e3fb362a08e6ba4c4d41ea7e95c8>
我也305001,实际上没有成功发送私信给我
我也有相同问题,机器人无法私信
我也有相同问题,机器人无法私信
频道中使用 /私信响应 可以接收到机器人的私信消息吗
频道中使用 /私信相应 可以接收到机器人的私信消息吗
可以接收到私信消息
主动发送私信需要有群组ID,/私信响应 可以进行一次获取,然后会保存起来。正常情况的话登录操作应该就会保存了
频道中使用 /私信相应 可以接收到机器人的私信消息吗
使用/私信响应 同样会报错,但是可以接受到信息
主动发送私信需要有群组ID,/私信响应 可以进行一次获取,然后会保存起来。正常情况的话登录操作应该就会保存了
感谢解答,我之后再观察一下。另外想请问一下群组ID在plugin_data.json里面叫什么名称?
频道中使用 /私信相应 可以接收到机器人的私信消息吗
使用/私信响应 同样会报错,但是可以接受到信息
主动发送私信需要有群组ID,/私信响应 可以进行一次获取,然后会保存起来。正常情况的话登录操作应该就会保存了
感谢解答,我之后再观察一下。另外想请问一下群组ID在plugin_data.json里面叫什么名称?
qq_guilds
用户ID不是QQ号
频道中使用 /私信相应 可以接收到机器人的私信消息吗
使用/私信响应 同样会报错,但是可以接受到信息
主动发送私信需要有群组ID,/私信响应 可以进行一次获取,然后会保存起来。正常情况的话登录操作应该就会保存了
感谢解答,我之后再观察一下。另外想请问一下群组ID在plugin_data.json里面叫什么名称?
qq_guilds
现在解决了,以下是步骤(可能有冗余步骤) 1 让机器人清空账号数据 2 手动删除plugin_data.json里涉及到我的账户的所有数据 3 重新登陆
备注:之前使用过换绑账号功能,不清楚是否有关系,在第二步也删除了原账号,以及原账号和现账号的绑定
目前QQ频道私信已经改成用 nonebot-plugin-send-anything-anywhere 实现了,频道ID也只会储存一个,当使用 /私信响应
命令的时候,储存的频道ID会手动刷新。不知道能不能解决频道私信的问题。
https://github.com/Ljzd-PRO/nonebot-plugin-mystool/releases/tag/v2.0.1-beta.1 (安排到了2.1.0)
目前QQ频道私信已经改成用 nonebot-plugin-send-anything-anywhere 实现了,频道ID也只会储存一个,当使用
/私信响应
命令的时候,储存的频道ID会手动刷新。不知道能不能解决频道私信的问题。~https://github.com/Ljzd-PRO/nonebot-plugin-mystool/releases/tag/v2.0.1-beta.1~ (安排到了2.1.0)
在 multi-platform
分支
https://github.com/Ljzd-PRO/nonebot-plugin-mystool/tree/multi-platform
目前QQ频道私信已经改成用 nonebot-plugin-send-anything-anywhere 实现了,频道ID也只会储存一个,当使用
/私信响应
命令的时候,储存的频道ID会手动刷新。不知道能不能解决频道私信的问题。~https://github.com/Ljzd-PRO/nonebot-plugin-mystool/releases/tag/v2.0.1-beta.1~ (安排到了2.1.0)
发布在 v2.1.0 了 https://github.com/Ljzd-PRO/nonebot-plugin-mystool/releases/tag/v2.1.0
我使用qq频道的发送私信命令的时候发现始终不发送消息,但是机器人会回复已经发送私信,于是我进行了分析,插入日志后发现这里的event.user_id()为str类型,但是后面的event.guild_id也是str类型,而我查了下这个send_private_msg函数需要的guild_id类型为int,传入参数的类型不对。麻烦注意一下。
然后我进行了强制类型转换,添加了个int,发现还是同样不发消息,但回复已经发送成功,我在send_private_msg发现这个guild_id=int(event.guild_id) if isinstance(event, MessageCreateEvent) else None会自动走到else,导致传入的guild_id还是空的,我又把if后的语句注释掉后,发现传入的参数正常了,但是却报错<ActionFailed: 500, code=305001, message=backend error, trace_id=5320c623cd581766696806e737aaac08>
我去官网查了下报错,发现正好跳过了这个报错,根本没有305001,想问下是怎么回事?有解决方法吗?