mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
Update __init__.py
This commit is contained in:
parent
2232361812
commit
6d67157860
@ -1,18 +1,15 @@
|
|||||||
|
|
||||||
import os
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from util.user_agent import get_user_agent
|
from util.user_agent import get_user_agent
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from random import choice
|
from random import choice
|
||||||
from PIL import Image, ImageDraw, ImageFont
|
|
||||||
from nonebot import on_regex
|
from nonebot import on_regex
|
||||||
from nonebot.typing import T_State
|
from nonebot.typing import T_State
|
||||||
from nonebot.adapters.cqhttp import Bot, GroupMessageEvent
|
from nonebot.adapters.cqhttp import Bot, GroupMessageEvent
|
||||||
from util.utils import get_message_text, get_local_proxy, get_message_at
|
from util.utils import get_message_text, get_local_proxy, get_message_at
|
||||||
from util.img_utils import pic2b64
|
from util.init_result import image
|
||||||
from configs.path_config import TTF_PATH
|
|
||||||
import re
|
import re
|
||||||
from nonebot.adapters.cqhttp import MessageSegment
|
from util.img_utils import CreateImg
|
||||||
|
|
||||||
__plugin_name__ = '我有一个朋友'
|
__plugin_name__ = '我有一个朋友'
|
||||||
|
|
||||||
@ -35,9 +32,8 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
|||||||
msg = get_message_text(event.json())
|
msg = get_message_text(event.json())
|
||||||
qq = get_message_at(event.json())
|
qq = get_message_at(event.json())
|
||||||
if not qq:
|
if not qq:
|
||||||
member_list = await bot.get_group_member_list(self_id=event.self_id, group_id=event.group_id)
|
qq = choice([x['user_id'] for x in
|
||||||
for member in member_list:
|
await bot.get_group_member_list(self_id=event.self_id, group_id=event.group_id)])
|
||||||
arr.append(member['user_id'])
|
|
||||||
else:
|
else:
|
||||||
qq = qq[0]
|
qq = qq[0]
|
||||||
msg = re.search(r'^我.*?朋友.*?'
|
msg = re.search(r'^我.*?朋友.*?'
|
||||||
@ -46,31 +42,15 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
|||||||
msg = msg.group(2)
|
msg = msg.group(2)
|
||||||
if not msg:
|
if not msg:
|
||||||
msg = '都不知道问什么'
|
msg = '都不知道问什么'
|
||||||
msg = msg.replace('他', '我').replace('她', '我')
|
msg = msg.replace('他', '我').replace('她', '我').replace('它', '我')
|
||||||
image = Image.open(BytesIO(await get_pic(choice(arr) if not qq else qq)))
|
ava = CreateImg(100, 100, background=BytesIO(await get_pic(qq)))
|
||||||
img_origin = Image.new('RGBA', (100, 100), (255, 255, 255))
|
ava.circle()
|
||||||
scale = 3
|
text = CreateImg(60, 30, font_size=30)
|
||||||
# 使用新的半径构建alpha层
|
text.text((0, 0), '朋友')
|
||||||
r = 100 * scale
|
# text.show()
|
||||||
alpha_layer = Image.new('L', (r, r), 0)
|
A = CreateImg(700, 150, font_size=25, color='white')
|
||||||
draw = ImageDraw.Draw(alpha_layer)
|
A.paste(ava, (30, 25), True)
|
||||||
draw.ellipse((0, 0, r, r), fill=255)
|
A.paste(text, (150, 40))
|
||||||
# 使用ANTIALIAS采样器缩小图像
|
A.text((150, 85), msg, (125, 125, 125))
|
||||||
alpha_layer = alpha_layer.resize((100, 100), Image.ANTIALIAS)
|
|
||||||
img_origin.paste(image, (0, 0), alpha_layer)
|
|
||||||
|
|
||||||
# 创建Font对象:
|
await one_friend.send(image(b64=A.pic2bs4()))
|
||||||
font = ImageFont.truetype(os.path.join(os.path.dirname(__file__), TTF_PATH + 'yz.ttf'), 30)
|
|
||||||
font2 = ImageFont.truetype(os.path.join(os.path.dirname(__file__), TTF_PATH + 'yz.ttf'), 25)
|
|
||||||
|
|
||||||
# 创建Draw对象:
|
|
||||||
image_text = Image.new('RGB', (450, 150), (255, 255, 255))
|
|
||||||
draw = ImageDraw.Draw(image_text)
|
|
||||||
draw.text((0, 0), '朋友', fill=(0, 0, 0), font=font)
|
|
||||||
draw.text((0, 40), msg, fill=(125, 125, 125), font=font2)
|
|
||||||
|
|
||||||
image_back = Image.new('RGB', (700, 150), (255, 255, 255))
|
|
||||||
image_back.paste(img_origin, (25, 25))
|
|
||||||
image_back.paste(image_text, (150, 40))
|
|
||||||
|
|
||||||
await one_friend.send(MessageSegment.image(pic2b64(image_back)))
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user