Update
This commit is contained in:
parent
212ad30d03
commit
c4ec792007
4 changed files with 17 additions and 71 deletions
|
@ -4,9 +4,7 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import ujson as json
|
from core.builtins import Bot, Plain, Image
|
||||||
|
|
||||||
from core.builtins import Bot, Image
|
|
||||||
from core.component import module
|
from core.component import module
|
||||||
from core.exceptions import NoReportException
|
from core.exceptions import NoReportException
|
||||||
from core.logger import Logger
|
from core.logger import Logger
|
||||||
|
@ -74,9 +72,12 @@ async def _(msg: Bot.MessageSession):
|
||||||
stop = time.perf_counter_ns()
|
stop = time.perf_counter_ns()
|
||||||
delta = (stop - start) / 1000000
|
delta = (stop - start) / 1000000
|
||||||
if res[:6] == 'Result':
|
if res[:6] == 'Result':
|
||||||
m = Image(res[7:])
|
img = Image(res[7:])
|
||||||
if msg.checkSuperUser():
|
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)
|
await msg.finish(m)
|
||||||
else:
|
else:
|
||||||
await msg.finish(msg.locale.t("calc.message.calc.invalid", expr={res[7:]}))
|
await msg.finish(msg.locale.t("calc.message.calc.invalid", expr={res[7:]}))
|
||||||
|
|
|
@ -18,7 +18,7 @@ from core.utils.cache import random_cache_path
|
||||||
from database import BotDBUtil
|
from database import BotDBUtil
|
||||||
from core.utils.storedata import get_stored_list, update_stored_list
|
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>')
|
@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))
|
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()
|
@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> ...')
|
@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))
|
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>')
|
@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))
|
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():
|
def restart():
|
||||||
|
@ -288,7 +288,7 @@ async def restart_bot(msg: Bot.MessageSession):
|
||||||
restart()
|
restart()
|
||||||
|
|
||||||
|
|
||||||
upd = module('update', developers=['OasisAkari'], required_superuser=True)
|
upd = module('update', developers=['OasisAkari'], base=True, required_superuser=True)
|
||||||
|
|
||||||
|
|
||||||
def pull_repo():
|
def pull_repo():
|
||||||
|
@ -314,7 +314,7 @@ async def update_bot(msg: Bot.MessageSession):
|
||||||
await msg.sendMessage(update_dependencies())
|
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()
|
@upds.handle()
|
||||||
|
@ -331,7 +331,7 @@ async def update_and_restart_bot(msg: Bot.MessageSession):
|
||||||
|
|
||||||
|
|
||||||
if Bot.FetchTarget.name == 'QQ':
|
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()
|
@resume.handle()
|
||||||
async def resume_sending_group_message(msg: Bot.MessageSession):
|
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'] = []
|
Temp.data['waiting_for_send_group_message'] = []
|
||||||
await msg.sendMessage(msg.locale.t("core.message.resume.clean"))
|
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()
|
@forward_msg.handle()
|
||||||
async def _(msg: Bot.MessageSession):
|
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'))
|
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>')
|
@echo.handle('<display_msg>')
|
||||||
|
@ -389,7 +389,7 @@ async def _(msg: Bot.MessageSession):
|
||||||
await msg.finish(msg.parsed_msg['<display_msg>'])
|
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>')
|
@say.handle('<display_msg>')
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
import re
|
|
||||||
|
|
||||||
from core.builtins import Bot, Plain, Image as BImage
|
from core.builtins import Bot, Plain, Image as BImage
|
||||||
from core.builtins import command_prefix
|
from core.builtins import command_prefix
|
||||||
from core.component import module
|
from core.component import module
|
||||||
from core.logger import Logger
|
from core.logger import Logger
|
||||||
from core.utils.image import msgchain2image
|
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.maimai_best_50 import generate
|
||||||
from modules.maimai.libraries.maimaidx_music import *
|
from modules.maimai.libraries.maimaidx_music import *
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
Reference in a new issue