ehForwarderBot / efb-qq-slave

EFB QQ Slave, a channel for EH Forwarder Bot. EFB QQ从端
GNU General Public License v3.0
446 stars 48 forks source link

无法发送图片/‘File target does not exist' #88

Open tsurugiugsr opened 3 years ago

tsurugiugsr commented 3 years ago

向QQ好友单独发图片会出现: 2021-06-07 17:02:17,523 [ERROR]: efb_telegram_master.master_message (master_message.process_telegram_message; master_message.py:410) Message is not sent. (update: {'update_id': 299138439, 'message': {'message_id': 47, 'date': 1623056536, 'chat': {'id': -1001470110229, 'type': 'supergroup', 'title': 'Liu'}, 'entities': [], 'caption_entities': [], 'photo': [{'file_id': 'AgACAgUAAx0CV6AaFQADL2C94Jivq0UT3V3hFsL0vZykQKPgAALyqzEbcIzwVXm1ELiX42Nn_mmVcnQAAwEAAwIAA3MAA9NAAAIfBA', 'file_unique_id': 'AQAD_mmVcnQAA9NAAAI', 'width': 51, 'height': 90, 'file_size': 987}, {'file_id': 'AgACAgUAAx0CV6AaFQADL2C94Jivq0UT3V3hFsL0vZykQKPgAALyqzEbcIzwVXm1ELiX42Nn_mmVcnQAAwEAAwIAA20AA9JAAAIfBA', 'file_unique_id': 'AQAD_mmVcnQAA9JAAAI', 'width': 180, 'height': 320, 'file_size': 9195}, {'file_id': 'AgACAgUAAx0CV6AaFQADL2C94Jivq0UT3V3hFsL0vZykQKPgAALyqzEbcIzwVXm1ELiX42Nn_mmVcnQAAwEAAwIAA3gAA9RAAAIfBA', 'file_unique_id': 'AQAD_mmVcnQAA9RAAAI', 'width': 450, 'height': 800, 'file_size': 33467}, {'file_id': 'AgACAgUAAx0CV6AaFQADL2C94Jivq0UT3V3hFsL0vZykQKPgAALyqzEbcIzwVXm1ELiX42Nn_mmVcnQAAwEAAwIAA3kAA9VAAAIfBA', 'file_unique_id': 'AQAD_mmVcnQAA9VAAAI', 'width': 720, 'height': 1280, 'file_size': 49492}], 'new_chat_members': [], 'new_chat_photo': [], 'delete_chat_photo': False, 'group_chat_created': False, 'supergroup_chat_created': False, 'channel_chat_created': False, 'from': {'id': 1314933779, 'first_name': 'シノク', 'is_bot': False, 'last_name': '岩井', 'username': 'sosueyakiko', 'language_code': 'ja'}}}, exception: File target does not exist) Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/efb_telegram_master/master_message.py", line 393, in process_telegram_message slave_msg = coordinator.send_message(m) File "/usr/local/lib/python3.8/dist-packages/ehforwarderbot/coordinator.py", line 113, in send_message return slaves[msg.deliver_to.channel_id].send_message(msg) File "/usr/local/lib/python3.8/dist-packages/efb_qq_slave/init.py", line 80, in send_message return self.QQClient.send_message(msg) File "/usr/local/lib/python3.8/dist-packages/efb_qq_plugin_mirai/mirai.py", line 199, in send_message return_message = self.mirai_send_messages(chat_type, chat_info, messages) File "/usr/local/lib/python3.8/dist-packages/efb_qq_plugin_mirai/mirai.py", line 413, in mirai_send_messages return asyncio.run_coroutine_threadsafe(self.bot.send_message(target=target, File "/usr/lib/python3.8/concurrent/futures/_base.py", line 439, in result return self.get_result() File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in get_result raise self._exception File "/usr/local/lib/python3.8/dist-packages/mirai_core/bot.py", line 26, in wrapper return await func(self, *args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/mirai_core/bot.py", line 166, in send_message result = await self.session.post(portal, data=data) File "/usr/local/lib/python3.8/dist-packages/mirai_core/network.py", line 101, in post return await HttpClient._check_response(response, url, 'post') File "/usr/local/lib/python3.8/dist-packages/mirai_core/network.py", line 58, in _check_response raise error_code[status_code]() mirai_core.exceptions.UnknownTargetException: File target does not exist

另外使用/update_info 可以正常更新QQ群的群名称和头像到tg群组,但是单人的不行

milkice233 commented 3 years ago

后者修了 请 pip3 install -U git+https://github.com/milkice233/efb-qq-plugin-mirai 然后试下 前者的话 目前没有什么思路……没能复现

InPRTx commented 3 years ago

同样报错

2021-06-10 17:22:56,975 [ERROR]: efb_telegram_master.master_message (master_message.process_telegram_message; master_message.py:410)
Message is not sent. (update: {'update_id': {Private}, 'message': {'message_id': 318, 'date': {Private}, 'chat': {'id': {Private}, 'type': 'supergroup', 'title': '{Private}'}, 'entities': [], 'caption_entities': [], 'photo': [], 'sticker': {'file_id': 'CAACAgUAAx0CRf7kKgACAT5gwdnuyUPPAAH8DmO-GxY6T_Tc8BgAAsoBAAIR_zFXBIq0M8hRWc0fBA', 'file_unique_id': 'AgADygEAAhH_MVc', 'width': 445, 'height': 512, 'is_animated': False, 'thumb': {'file_id': 'AAMCBQADHQJF_uQqAAIBPmDB2e7JQ88AAfwOY74bFjpP9NzwGAACygEAAhH_MVcEirQzyFFZzULjRnB0AAMBAAdtAAO6RQACHwQ', 'file_unique_id': 'AQADQuNGcHQAA7pFAAI', 'width': 278, 'height': 320, 'file_size': 16872}, 'emoji': '🦊', 'file_size': 31944, 'set_name': 'Ke91a90a0c2b139d2a7e7_by_StickerStealRobot'}, 'new_chat_members': [], 'new_chat_photo': [], 'delete_chat_photo': False, 'group_chat_created': False, 'supergroup_chat_created': False, 'channel_chat_created': False, 'from': {'id': {Private}, 'first_name': '{Private}', 'is_bot': False, 'last_name': '{Private}', 'username': '{Private}', 'language_code': 'zh-hans'}}}, exception: File target does not exist)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/efb_telegram_master/master_message.py", line 393, in process_telegram_message
    slave_msg = coordinator.send_message(m)
  File "/usr/local/lib/python3.9/dist-packages/ehforwarderbot/coordinator.py", line 113, in send_message
    return slaves[msg.deliver_to.channel_id].send_message(msg)
  File "/usr/local/lib/python3.9/dist-packages/efb_qq_slave/__init__.py", line 80, in send_message
    return self.QQClient.send_message(msg)
  File "/usr/local/lib/python3.9/dist-packages/efb_qq_plugin_mirai/mirai.py", line 199, in send_message
    return_message = self.mirai_send_messages(chat_type, chat_info, messages)
  File "/usr/local/lib/python3.9/dist-packages/efb_qq_plugin_mirai/mirai.py", line 420, in mirai_send_messages
    return asyncio.run_coroutine_threadsafe(self.bot.send_message(target=target,
  File "/usr/lib/python3.9/concurrent/futures/_base.py", line 440, in result
    return self.__get_result()
  File "/usr/lib/python3.9/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.9/dist-packages/mirai_core/bot.py", line 26, in wrapper
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/mirai_core/bot.py", line 166, in send_message
    result = await self.session.post(portal, data=data)
  File "/usr/local/lib/python3.9/dist-packages/mirai_core/network.py", line 101, in post
    return await HttpClient._check_response(response, url, 'post')
  File "/usr/local/lib/python3.9/dist-packages/mirai_core/network.py", line 58, in _check_response
    raise error_code[status_code]()
mirai_core.exceptions.UnknownTargetException: File target does not exist

库版本

efb-qq-plugin-mirai 2.0.6.dev0
efb-qq-slave        2.0.1.dev0
efb-telegram-master 2.2.4
ehforwarderbot      2.1.1
milkice233 commented 2 years ago

由mirai-api-http错误代码,该错误是由于发送至不存在的群组/用户而导致的,大概率是mirai的问题,目前需要稳定的复现步骤

milkice233 commented 11 months ago

抱歉久等了,已经查明是python-mirai-core对上传文件的处理有问题,当EFB和mirai不在同一环境下时就会触发,稍晚会推送更新