diff --git a/woa/init.py b/woa/init.py index e9fd770..7277485 100644 --- a/woa/init.py +++ b/woa/init.py @@ -144,7 +144,7 @@ class WOAHandler: rzt_dic.media_id = await self.media_manager.upload_media(rzt_dic.msgtype, rzt_dic.media_filepath) return rzt_dic - def build_reply(self, msg:DictObject, rzt_msg:DictObject): + async def build_reply(self, msg:DictObject, rzt_msg:DictObject): """ ImageReply, VoiceReply, VideoReply, ArticlesReply, MusicReply @@ -153,17 +153,17 @@ class WOAHandler: reply = ReplyBuilder.text(msg, content=rzt_msg.content) return reply if rzt_msg.msgtype in ['image', 'video', 'voice']: - media_id = await self.upload_media(rzt_msg.msgtype, + rzt_msg.media_id = await self.upload_media(rzt_msg.msgtype, rzt_msg.media_file) if rzt_msg.msgtype == 'image': - reply = ReplyBuilder.image(msg, media_id=media_id) + reply = ReplyBuilder.image(msg, media_id=rzt_msg.media_id) return reply if rzt_msg.msgtype == 'voice': - reply = ReplyBuilder.voice(msg, media_id=media_id) + reply = ReplyBuilder.voice(msg, media_id=rzt_msg.media_id) return reply if rzt_msg.msgtype == 'video': reply = ReplyBuilder.video(msg, title=rzt_msg.title, - media_id=media_id, + media_id=rzt_msg.media_id, description=rzt_msg.description) return reply if rzt_msg.msgtype == 'music': @@ -215,7 +215,7 @@ class WOAHandler: # --- 业务逻辑 --- reply_dic = await self.msghandle(msg_dict) - reply_xml = self.build_reply(msg_dict, reply_dic) + reply_xml = await self.build_reply(msg_dict, reply_dic) # 5. 如果需要加密回复 if self.encoding_aes_key and reply_xml: