Archived
1
0
Fork 0
This commit is contained in:
多羅狼 2023-06-13 19:38:08 +08:00 committed by GitHub
parent 212ad30d03
commit c4ec792007
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 71 deletions

View file

@ -4,9 +4,7 @@ import subprocess
import sys
import time
import ujson as json
from core.builtins import Bot, Image
from core.builtins import Bot, Plain, Image
from core.component import module
from core.exceptions import NoReportException
from core.logger import Logger
@ -74,9 +72,12 @@ async def _(msg: Bot.MessageSession):
stop = time.perf_counter_ns()
delta = (stop - start) / 1000000
if res[:6] == 'Result':
m = Image(res[7:])
img = Image(res[7:])
if msg.checkSuperUser():
m += '\n' + msg.locale.t("calc.message.running_time", time=delta)
txt = Plain(msg.locale.t("calc.message.running_time", time=delta))
m = [img, txt]
else:
m = img
await msg.finish(m)
else:
await msg.finish(msg.locale.t("calc.message.calc.invalid", expr={res[7:]}))

View file

@ -18,7 +18,7 @@ from core.utils.cache import random_cache_path
from database import BotDBUtil
from core.utils.storedata import get_stored_list, update_stored_list
su = module('superuser', alias='su', developers=['OasisAkari', 'Dianliang233'], required_superuser=True)
su = module('superuser', alias='su', developers=['OasisAkari', 'Dianliang233'], base=True, required_superuser=True)
@su.handle('add <user>')
@ -41,7 +41,7 @@ async def del_su(message: Bot.MessageSession):
await message.finish(message.locale.t("core.message.superuser.remove.success", user=user))
ana = module('analytics', required_superuser=True)
ana = module('analytics', base=True, required_superuser=True)
@ana.handle()
@ -132,7 +132,7 @@ async def _(msg: Bot.MessageSession):
set_ = module('set', required_superuser=True)
set_ = module('set', base=True, required_superuser=True)
@set_.handle('modules <targetId> <modules> ...')
@ -173,7 +173,7 @@ async def _(msg: Bot.MessageSession):
await msg.finish(msg.locale.t("core.message.set.help.option.success", k=k, v=v))
ae = module('abuse', alias='ae', developers=['Dianliang233'], required_superuser=True)
ae = module('abuse', alias='ae', developers=['Dianliang233'], base=True, required_superuser=True)
@ae.handle('check <user>')
@ -241,7 +241,7 @@ async def _(msg: Bot.MessageSession):
await msg.finish(msg.locale.t("core.message.abuse.unban.success", user=user))
rst = module('restart', developers=['OasisAkari'], required_superuser=True)
rst = module('restart', developers=['OasisAkari'], base=True, required_superuser=True)
def restart():
@ -288,7 +288,7 @@ async def restart_bot(msg: Bot.MessageSession):
restart()
upd = module('update', developers=['OasisAkari'], required_superuser=True)
upd = module('update', developers=['OasisAkari'], base=True, required_superuser=True)
def pull_repo():
@ -314,7 +314,7 @@ async def update_bot(msg: Bot.MessageSession):
await msg.sendMessage(update_dependencies())
upds = module('update&restart', developers=['OasisAkari'], required_superuser=True, alias='u&r')
upds = module('update&restart', developers=['OasisAkari'], base=True, required_superuser=True, alias='u&r')
@upds.handle()
@ -331,7 +331,7 @@ async def update_and_restart_bot(msg: Bot.MessageSession):
if Bot.FetchTarget.name == 'QQ':
resume = module('resume', developers=['OasisAkari'], required_superuser=True)
resume = module('resume', developers=['OasisAkari'], base=True, required_superuser=True)
@resume.handle()
async def resume_sending_group_message(msg: Bot.MessageSession):
@ -366,7 +366,7 @@ if Bot.FetchTarget.name == 'QQ':
Temp.data['waiting_for_send_group_message'] = []
await msg.sendMessage(msg.locale.t("core.message.resume.clean"))
forward_msg = module('forward_msg', developers=['OasisAkari'], required_superuser=True)
forward_msg = module('forward_msg', developers=['OasisAkari'], base=True, required_superuser=True)
@forward_msg.handle()
async def _(msg: Bot.MessageSession):
@ -381,7 +381,7 @@ if Bot.FetchTarget.name == 'QQ':
await msg.sendMessage(msg.locale.t('core.message.forward_msg.disable'))
echo = module('echo', developers=['OasisAkari'], required_superuser=True)
echo = module('echo', developers=['OasisAkari'], base=True, required_superuser=True)
@echo.handle('<display_msg>')
@ -389,7 +389,7 @@ async def _(msg: Bot.MessageSession):
await msg.finish(msg.parsed_msg['<display_msg>'])
say = module('say', developers=['OasisAkari'], required_superuser=True)
say = module('say', developers=['OasisAkari'], base=True, required_superuser=True)
@say.handle('<display_msg>')

View file

@ -1,11 +1,8 @@
import re
from core.builtins import Bot, Plain, Image as BImage
from core.builtins import command_prefix
from core.component import module
from core.logger import Logger
from core.utils.image import msgchain2image
from modules.maimai.libraries.image import *
from modules.maimai.libraries.maimai_best_50 import generate
from modules.maimai.libraries.maimaidx_music import *

View file

@ -1,52 +0,0 @@
import base64
from io import BytesIO
from PIL import ImageFont, ImageDraw, Image
path = 'assets/maimai/static/high_eq_image.png'
fontpath = "assets/maimai/static/msyh.ttc"
def draw_text(img_pil, text, offset_x):
draw = ImageDraw.Draw(img_pil)
font = ImageFont.truetype(fontpath, 48)
width, height = draw.textsize(text, font)
x = 5
if width > 390:
font = ImageFont.truetype(fontpath, int(390 * 48 / width))
width, height = draw.textsize(text, font)
else:
x = int((400 - width) / 2)
draw.rectangle((x + offset_x - 2, 360, x + 2 + width + offset_x, 360 + height * 1.2), fill=(0, 0, 0, 255))
draw.text((x + offset_x, 360), text, font=font, fill=(255, 255, 255, 255))
def text_to_image(text):
font = ImageFont.truetype(fontpath, 24)
padding = 10
margin = 4
text_list = text.split('\n')
max_width = 0
total_height = 0
for text_line in text_list:
w, h = font.getsize(text_line)
max_width = max(max_width, w)
total_height += h + margin
wa = max_width + padding * 2
ha = total_height + padding * 2
image = Image.new('RGB', (wa, ha), color=(255, 255, 255))
draw = ImageDraw.Draw(image)
current_height = padding
for text_line in text_list:
w, h = font.getsize(text_line)
draw.text((padding, current_height), text_line, font=font, fill=(0, 0, 0))
current_height += h + margin
return image
def image_to_base64(img, format='PNG'):
output_buffer = BytesIO()
img.save(output_buffer, format)
byte_data = output_buffer.getvalue()
base64_str = base64.b64encode(byte_data)
return base64_str