refactor: use Base64 for emoji CQ codes
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
import base64
|
import base64
|
||||||
import html
|
import html
|
||||||
import os
|
|
||||||
import time
|
import time
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Dict, Optional
|
from typing import Dict, Optional
|
||||||
@@ -17,7 +16,7 @@ from urllib3.util import create_urllib3_context
|
|||||||
from ..models.utils_model import LLM_request
|
from ..models.utils_model import LLM_request
|
||||||
from .config import global_config
|
from .config import global_config
|
||||||
from .mapper import emojimapper
|
from .mapper import emojimapper
|
||||||
from .utils_image import storage_emoji, storage_image
|
from .utils_image import image_path_to_base64, storage_emoji, storage_image
|
||||||
from .utils_user import get_user_nickname
|
from .utils_user import get_user_nickname
|
||||||
|
|
||||||
driver = get_driver()
|
driver = get_driver()
|
||||||
@@ -328,15 +327,10 @@ class CQCode:
|
|||||||
Returns:
|
Returns:
|
||||||
表情包CQ码字符串
|
表情包CQ码字符串
|
||||||
"""
|
"""
|
||||||
# 确保使用绝对路径
|
base64_content = image_path_to_base64(file_path)
|
||||||
abs_path = os.path.abspath(file_path)
|
|
||||||
# 转义特殊字符
|
|
||||||
escaped_path = abs_path.replace('&', '&') \
|
|
||||||
.replace('[', '[') \
|
|
||||||
.replace(']', ']') \
|
|
||||||
.replace(',', ',')
|
|
||||||
# 生成CQ码,设置sub_type=1表示这是表情包
|
# 生成CQ码,设置sub_type=1表示这是表情包
|
||||||
return f"[CQ:image,file=file:///{escaped_path},sub_type=1]"
|
return f"[CQ:image,file=base64://{base64_content},sub_type=1]"
|
||||||
|
|
||||||
|
|
||||||
class CQCode_tool:
|
class CQCode_tool:
|
||||||
|
|||||||
Reference in New Issue
Block a user