From b2507f8d4dd051490e49bf9a0d235ab930b63ddd Mon Sep 17 00:00:00 2001 From: Kyomotoi <0w0@imki.moe> Date: Fri, 4 Nov 2022 10:20:01 +0800 Subject: =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E9=87=8D=E6=9E=84=E6=8F=92?= =?UTF-8?q?=E4=BB=B6:=20=E5=9F=BA=E7=A1=80=E9=83=A8=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/plugins/essential/data_source.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ATRI/plugins/essential/data_source.py (limited to 'ATRI/plugins/essential/data_source.py') diff --git a/ATRI/plugins/essential/data_source.py b/ATRI/plugins/essential/data_source.py new file mode 100644 index 0000000..8274db0 --- /dev/null +++ b/ATRI/plugins/essential/data_source.py @@ -0,0 +1,29 @@ +from typing import Union + +from ATRI.utils import MessageChecker +from ATRI.message import MessageSegment + + +def recall_msg_dealer(message: Union[dict, str]) -> str: + if isinstance(message, str): + return message + + cache_list = list() + for i in message: + _type = i.get("type") + _data = i.get("data") + if _type == "text": + cache_list.append(_data["text"]) + elif _type == "image": + url = _data["url"] + check = MessageChecker(url).check_image_url + if check: + cache_list.append(MessageSegment.image(url)) + else: + cache_list.append(f"[该图片可能包含危险内容, 源url: {url}]") + elif _type == "face": + cache_list.append(MessageSegment.face(_data["id"])) + else: + cache_list.append(f"[未知类型信息: {_data}]") + + return str().join(map(str, cache_list)) \ No newline at end of file -- cgit v1.2.3