Archived
1
0
Fork 0

Update if webrender not configed

This commit is contained in:
多羅狼 2024-01-19 23:02:32 +08:00 committed by GitHub
parent 0aae01cabd
commit b5604ec518
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 67 additions and 62 deletions

View file

@ -1,44 +1,29 @@
import os
from PIL import Image, ImageDraw, ImageFont
import urllib.parse
from config import CFG
from core.builtins import Bot, Image as Img, Plain
from core.builtins import Bot, Image as BImage, Plain
from core.component import module
from core.logger import Logger
from core.utils.cache import random_cache_path
from core.utils.http import get_url
assets_path = os.path.abspath('./assets/arcaea')
web_render = CFG.get_url('web_render')
web_render_local = CFG.get_url('web_render_local')
arc = module('arcaea', developers=['OasisAkari'], desc='{arcaea.help.desc}',
alias=['a', 'arc'])
class WithErrCode(Exception):
pass
@arc.command('b30')
async def _(msg: Bot.MessageSession):
await msg.send_message([Plain(msg.locale.t("arcaea.message.sb616")),
Img(os.path.abspath('./assets/arcaea/noc.jpg'))])
BImage(os.path.abspath('./assets/arcaea/noc.jpg'))])
@arc.command('download {{arcaea.help.download}}')
async def _(msg: Bot.MessageSession, use_local=True):
if not web_render_local:
if not web_render:
Logger.warn('[Webrender] Webrender is not configured.')
await msg.finish(msg.locale.t("error.config.webrender.invalid"))
use_local = False
resp = await get_url((web_render_local if use_local else web_render) + 'source?url=' +
urllib.parse.quote('https://webapi.lowiro.com/webapi/serve/static/bin/arcaea/apk/'), 200,
async def _(msg: Bot.MessageSession):
resp = await get_url('https://webapi.lowiro.com/webapi/serve/static/bin/arcaea/apk/', 200,
fmt='json', request_private_ip=True)
if resp:
await msg.finish([Plain(msg.locale.t("arcaea.message.download", version=resp["value"]["version"],
@ -48,21 +33,15 @@ async def _(msg: Bot.MessageSession, use_local=True):
@arc.command('random {{arcaea.help.random}}')
async def _(msg: Bot.MessageSession, use_local=True):
if not web_render_local:
if not web_render:
Logger.warn('[Webrender] Webrender is not configured.')
await msg.finish(msg.locale.t("error.config.webrender.invalid"))
use_local = False
resp = await get_url((web_render_local if use_local else web_render) + 'source?url=' +
urllib.parse.quote('https://webapi.lowiro.com/webapi/song/showcase/'),
async def _(msg: Bot.MessageSession):
resp = await get_url('https://webapi.lowiro.com/webapi/song/showcase/',
200, fmt='json', request_private_ip=True)
if resp:
value = resp["value"][0]
image = f'{assets_path}/jacket/{value["song_id"]}.jpg'
result = [Plain(value["title"]["en"])]
if os.path.exists(image):
result.append(Img(path=image))
result.append(BImage(path=image))
await msg.finish(result)
else:
await msg.finish(msg.locale.t("arcaea.message.get_failed"))
@ -70,19 +49,12 @@ async def _(msg: Bot.MessageSession, use_local=True):
@arc.command('rank free {{arcaea.help.rank.free}}',
'rank paid {{arcaea.help.rank.paid}}')
async def _(msg: Bot.MessageSession, use_local=True):
if not web_render_local:
if not web_render:
Logger.warn('[Webrender] Webrender is not configured.')
await msg.finish(msg.locale.t("error.config.webrender.invalid"))
use_local = False
async def _(msg: Bot.MessageSession):
if msg.parsed_msg.get('free', False):
resp = await get_url((web_render_local if use_local else web_render) + 'source?url=' +
urllib.parse.quote('https://webapi.lowiro.com/webapi/song/rank/free/'),
resp = await get_url('https://webapi.lowiro.com/webapi/song/rank/free/',
200, fmt='json', request_private_ip=True)
else:
resp = await get_url((web_render_local if use_local else web_render) + 'source?url=' +
urllib.parse.quote('https://webapi.lowiro.com/webapi/song/rank/paid/'),
resp = await get_url('https://webapi.lowiro.com/webapi/song/rank/paid/',
200, fmt='json', request_private_ip=True)
if resp:
r = []
@ -180,4 +152,4 @@ async def pttimg(msg: Bot.MessageSession):
pttimgr.alpha_composite(ptttext, (0, 0))
savepath = random_cache_path() + '.png'
pttimgr.save(savepath)
await msg.finish([Img(path=savepath)])
await msg.finish([BImage(path=savepath)])

View file

@ -122,7 +122,10 @@ async def query_plate(msg, plate, username):
if get_img:
img = await msgchain2image([Plain(output)], msg)
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(output.strip())
else:
await msg.finish(output.strip())
@ -159,7 +162,10 @@ async def _(msg: Bot.MessageSession, level: str, goal: str, username: str = None
if get_img:
img = await msgchain2image([Plain(output)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(output.strip())
else:
await msg.finish(output.strip())
@ -197,6 +203,9 @@ async def _(msg: Bot.MessageSession, level: str, page: str, username: str = None
if get_img:
img = await msgchain2image([Plain(res)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(output.strip())
else:
await msg.finish([Plain(res.strip())])

View file

@ -53,7 +53,10 @@ async def _(msg: Bot.MessageSession, constant: float, constant_max: float = None
await msg.finish(s.strip())
else:
img = await msgchain2image([Plain(s)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(s)
@chu.command('level <level> [<page>] {{maimai.help.level}}')
@ -84,7 +87,10 @@ async def _(msg: Bot.MessageSession, level: str, page: str = None):
else:
s += msg.locale.t("maimai.message.pages", page=page, total_pages=total_pages)
img = await msgchain2image([Plain(s)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(s)
@chu.command('search <keyword> {{maimai.help.search}}')
@ -96,14 +102,17 @@ async def _(msg: Bot.MessageSession, keyword: str):
elif len(res) > 200:
await msg.finish(msg.locale.t("maimai.message.too_much", length=len(res)))
else:
search_result = msg.locale.t("maimai.message.search", keyword=name) + "\n"
result = msg.locale.t("maimai.message.search", keyword=name) + "\n"
for music in sorted(res, key=lambda i: int(i['id'])):
search_result += f"{music['id']}\u200B. {music['title']}\n"
result += f"{music['id']}\u200B. {music['title']}\n"
if len(res) <= SONGS_PER_PAGE:
await msg.finish([Plain(search_result.strip())])
await msg.finish([Plain(result.strip())])
else:
img = await msgchain2image([Plain(search_result)])
await msg.finish([BImage(img)])
img = await msgchain2image([Plain(result)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(result)
@chu.command('b30 [<username>] {{chunithm.help.b30}}')

View file

@ -106,5 +106,7 @@ async def generate_best30_text(msg, payload):
html += "</div>"
img = await msgchain2image([Plain(html)])
return img
if img:
return img
else:
await msg.finish(msg.locale.t("error.config.webrender.invalid"))

View file

@ -2,7 +2,9 @@ import os
import ujson as json
from datetime import datetime
from config import CFG
from core.builtins import Plain
from core.logger import Logger
from core.utils.http import get_url
from core.utils.image import msgchain2image
from core.utils.cache import random_cache_path
@ -13,6 +15,8 @@ SONGS_PER_PAGE = 20
JINGLEBELL_SONG_ID = 70
assets_path = os.path.abspath('./assets/maimai')
web_render = CFG.get_url('web_render')
web_render_local = CFG.get_url('web_render_local')
total_list = TotalList()
plate_conversion = {
@ -212,7 +216,10 @@ async def generate_best50_text(msg, payload):
html += "</div>"
img = await msgchain2image([Plain(html)])
return img
if img:
return img
else:
await msg.finish(msg.locale.t("error.config.webrender.invalid"))
async def get_rank(msg, payload):

View file

@ -56,7 +56,10 @@ async def _(msg: Bot.MessageSession, constant: float, constant_max: float = None
await msg.finish(s.strip())
else:
img = await msgchain2image([Plain(s)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(s)
@mai.command('level <level> [<page>] {{maimai.help.level}}')
@ -88,7 +91,10 @@ async def _(msg: Bot.MessageSession, level: str, page: str = None):
else:
s += msg.locale.t("maimai.message.pages", page=page, total_pages=total_pages)
img = await msgchain2image([Plain(s)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(s)
@mai.command('new [<page>] {{maimai.help.new}}')
@ -117,7 +123,10 @@ async def _(msg: Bot.MessageSession, page: str = None):
else:
s += msg.locale.t("maimai.message.pages", page=page, total_pages=total_pages)
img = await msgchain2image([Plain(s)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(s)
@mai.command('search <keyword> {{maimai.help.search}}')
@ -136,7 +145,10 @@ async def _(msg: Bot.MessageSession, keyword: str):
await msg.finish([Plain(result.strip())])
else:
img = await msgchain2image([Plain(result)])
await msg.finish([BImage(img)])
if img:
await msg.finish([BImage(img)])
else:
await msg.finish(result)
@mai.command('alias <sid> {{maimai.help.alias}}')

View file

@ -3,7 +3,6 @@ import re
from core.builtins import Bot, Plain, Image as BImage
from core.component import module
from core.logger import Logger
from core.utils.image import msgchain2image
from .libraries.maimaidx_apidata import get_alias, get_info, search_by_alias
from .libraries.maimaidx_music import TotalList
from .libraries.maimaidx_utils import get_diff, get_grade_info

View file

@ -5,7 +5,6 @@ from whois import whois
from config import Config
from core.builtins import Bot, Plain, Image
from core.component import module
from core.utils.image import msgchain2image
from core.utils.text import parse_time_string
@ -31,10 +30,6 @@ async def _(msg: Bot.MessageSession, domain: str):
res = await get_whois(msg, domain)
output = await msg.finish(res)
img = await msgchain2image([Plain(output)], msg)
await msg.finish([Image(img)])
async def get_whois(msg, domain):
try:
info = whois(domain)