2023-06-16 08:10:54 +00:00
|
|
|
import time
|
2023-09-03 08:50:12 +00:00
|
|
|
|
2023-06-16 07:47:42 +00:00
|
|
|
from langconv.converter import LanguageConverter
|
|
|
|
from langconv.language.zh import zh_cn, zh_hk, zh_tw
|
|
|
|
|
2023-06-16 08:10:54 +00:00
|
|
|
from core.builtins import Bot
|
|
|
|
from core.component import module
|
2023-07-14 07:59:01 +00:00
|
|
|
from core.dirty_check import check_bool, rickroll
|
2023-06-16 08:10:54 +00:00
|
|
|
|
2023-09-11 16:07:31 +00:00
|
|
|
l = module('langconv', developers=['Dianliang233'], alias=['lc'])
|
2023-06-16 07:47:42 +00:00
|
|
|
|
|
|
|
lc_zh_cn = LanguageConverter.from_language(zh_cn)
|
|
|
|
lc_zh_hk = LanguageConverter.from_language(zh_hk)
|
|
|
|
lc_zh_tw = LanguageConverter.from_language(zh_tw)
|
|
|
|
|
|
|
|
|
|
|
|
@l.handle('<language> <content> {{langconv.help}}')
|
|
|
|
async def _(msg: Bot.MessageSession, language: str, content: str):
|
2023-08-30 10:59:49 +00:00
|
|
|
if not language.startswith("zh"):
|
|
|
|
language = "zh-" + language
|
|
|
|
language = language.replace('_', '-').lower()
|
2023-06-16 07:47:42 +00:00
|
|
|
if language not in ('zh-cn', 'zh-hk', 'zh-tw'):
|
|
|
|
await msg.finish(msg.locale.t('langconv.message.unsupported_language'))
|
|
|
|
lc = {'zh-cn': lc_zh_cn, 'zh-hk': lc_zh_hk, 'zh-tw': lc_zh_tw}[language]
|
2023-06-16 08:10:54 +00:00
|
|
|
start = time.perf_counter_ns()
|
|
|
|
res = lc.convert(content)
|
|
|
|
stop = time.perf_counter_ns()
|
|
|
|
delta = (stop - start) / 1000000
|
2023-09-01 14:38:32 +00:00
|
|
|
if msg.check_super_user():
|
|
|
|
res += '\n' + msg.locale.t("langconv.message.running_time", time=delta)
|
2023-06-16 08:10:54 +00:00
|
|
|
if await check_bool(res):
|
2023-12-07 13:58:40 +00:00
|
|
|
await msg.finish(rickroll(msg))
|
2023-08-30 10:59:49 +00:00
|
|
|
await msg.finish(res)
|