@@ -202,8 +202,10 @@ class ChatChannel(Channel): | |||||
reply = self._generate_reply(new_context) | reply = self._generate_reply(new_context) | ||||
else: | else: | ||||
return | 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 | pass | ||||
else: | else: | ||||
logger.error("[WX] unknown context type: {}".format(context.type)) | logger.error("[WX] unknown context type: {}".format(context.type)) | ||||
@@ -319,5 +319,8 @@ class WeworkChannel(ChatChannel): | |||||
wework.send_video(receiver, video_path) | wework.send_video(receiver, video_path) | ||||
logger.info("[WX] sendVideo, receiver={}".format(receiver)) | logger.info("[WX] sendVideo, receiver={}".format(receiver)) | ||||
elif reply.type == ReplyType.VOICE: | elif reply.type == ReplyType.VOICE: | ||||
current_dir = os.getcwd() | |||||
voice_file = reply.content.split("/")[-1] | |||||
reply.content = os.path.join(current_dir, "tmp", voice_file) | |||||
wework.send_file(receiver, reply.content) | wework.send_file(receiver, reply.content) | ||||
logger.info("[WX] sendFile={}, receiver={}".format(reply.content, receiver)) | logger.info("[WX] sendFile={}, receiver={}".format(reply.content, receiver)) |
@@ -39,16 +39,16 @@ def get_room_info(wework, conversation_id): | |||||
def cdn_download(wework, message, file_name): | def cdn_download(wework, message, file_name): | ||||
data = message["data"] | data = message["data"] | ||||
url = data["cdn"]["url"] | |||||
auth_key = data["cdn"]["auth_key"] | |||||
aes_key = data["cdn"]["aes_key"] | aes_key = data["cdn"]["aes_key"] | ||||
file_size = data["cdn"]["size"] | file_size = data["cdn"]["size"] | ||||
file_type = 2 | |||||
file_id = data["cdn"]["file_id"] | |||||
# 获取当前工作目录,然后与文件名拼接得到保存路径 | # 获取当前工作目录,然后与文件名拼接得到保存路径 | ||||
current_dir = os.getcwd() | current_dir = os.getcwd() | ||||
save_path = os.path.join(current_dir, "tmp", file_name) | 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) | logger.debug(result) | ||||
@@ -69,6 +69,12 @@ def c2c_download_and_convert(wework, message, file_name): | |||||
wav_file = base_name + ".wav" | wav_file = base_name + ".wav" | ||||
pilk.silk_to_wav(save_path, wav_file, rate=24000) | pilk.silk_to_wav(save_path, wav_file, rate=24000) | ||||
# 删除SILK文件 | |||||
try: | |||||
os.remove(save_path) | |||||
except Exception as e: | |||||
pass | |||||
class WeworkMessage(ChatMessage): | class WeworkMessage(ChatMessage): | ||||
def __init__(self, wework_msg, wework, is_group=False): | def __init__(self, wework_msg, wework, is_group=False): | ||||