def iot_ReplayMsg_friend(ctx: FriendMsg, chat: Chat) -> List[Message]: refine_reply = refine_reply_friend_msg(ctx) if refine_reply: quote_text = f"「{refine_reply.SrcContent}」\n\n{refine_reply.Content}" else: quote_text = "[Missing message]" return [efb_text_simple_wrapper(quote_text)]
def iot_PicMsg_friend(ctx: FriendMsg, chat: Chat) -> List[Message]: messages = [] refine_pics = refine_pic_friend_msg(ctx) if refine_pics: for pics in refine_pics.FriendPic: try: f = download_file(pics.Url) except Exception as e: logger.warning(f"Failed to download the image! {e}") continue else: messages.append(efb_image_wrapper(f)) if refine_pics.Content: messages.append(efb_text_simple_wrapper(refine_pics.Content)) else: messages.append( efb_text_simple_wrapper( "Received invalid message format(image)! Dumping content\n" f"{ctx}. Please report that to the developer.")) return messages
def iot_ReplayMsg_group(self, ctx: GroupMsg, chat: Chat) -> List[Message]: refine_reply = refine_reply_group_msg(ctx) if refine_reply: quote_text = f"「{refine_reply.SrcContent}」\n\n{refine_reply.Content}" else: quote_text = "[Missing message]" at_list = {} if self.uin in refine_reply.AtUserID: # Being mentioned # todo Use msg.target for reply message begin_index = len(quote_text) quote_text += ' @me' end_index = len(quote_text) at_list[(begin_index, end_index)] = chat.self return [efb_text_simple_wrapper(quote_text, at_list)]
def iot_AtMsg_group(self, ctx: GroupMsg, chat: Chat) -> List[Message]: refine_at = refine_at_group_msg(ctx) quote_text = "" if refine_at: if refine_at.SrcContent: quote_text = f"「{refine_at.SrcContent}」\n\n" quote_text += refine_at.Content else: quote_text = "[Missing message]" at_list = {} if self.uin in refine_at.AtUserID: # Being mentioned begin_index = len(quote_text) quote_text += ' @me' end_index = len(quote_text) at_list[(begin_index, end_index)] = chat.self return [efb_text_simple_wrapper(quote_text, at_list)]
def iot_BigFaceMsg_friend(ctx: FriendMsg, chat: Chat) -> List[Message]: content = ctx.Content if ctx.Content else "[Content missing]" return [efb_text_simple_wrapper(content)]
def iot_TextMsg_group(ctx: GroupMsg, chat: Chat) -> List[Message]: content = ctx.Content if ctx.Content else "[Content missing]" return [efb_text_simple_wrapper(content)]