diff --git a/channel/chat_channel.py b/channel/chat_channel.py index 6d904d3..4aa17be 100644 --- a/channel/chat_channel.py +++ b/channel/chat_channel.py @@ -202,8 +202,10 @@ class ChatChannel(Channel): reply = self._generate_reply(new_context) else: return - elif context.type == ContextType.IMAGE or context.type == ContextType.FUNCTION \ - or context.type == ContextType.FILE: # 图片/文件消息及函数调用等,当前无默认逻辑 + elif context.type == ContextType.IMAGE: # 图片消息,当前仅做下载保存到本地的逻辑 + cmsg = context["msg"] + cmsg.prepare() + elif context.type == ContextType.FUNCTION or context.type == ContextType.FILE: # 文件消息及函数调用等,当前无默认逻辑 pass else: logger.error("[WX] unknown context type: {}".format(context.type)) diff --git a/channel/wework/wework_message.py b/channel/wework/wework_message.py index e9f1187..dd24aa4 100644 --- a/channel/wework/wework_message.py +++ b/channel/wework/wework_message.py @@ -39,16 +39,16 @@ def get_room_info(wework, conversation_id): def cdn_download(wework, message, file_name): data = message["data"] - url = data["cdn"]["url"] - auth_key = data["cdn"]["auth_key"] aes_key = data["cdn"]["aes_key"] file_size = data["cdn"]["size"] + file_type = 2 + file_id = data["cdn"]["file_id"] # 获取当前工作目录,然后与文件名拼接得到保存路径 current_dir = os.getcwd() save_path = os.path.join(current_dir, "tmp", file_name) - result = wework.wx_cdn_download(url, auth_key, aes_key, file_size, save_path) + result = wework.c2c_cdn_download(file_id, aes_key, file_size, file_type, save_path) logger.debug(result)