mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-09 05:40:00 +08:00
refactor code
This commit is contained in:
@@ -1,42 +1,35 @@
|
||||
from nonebot import on_command
|
||||
from utils.utils import get_message_text
|
||||
from services.log import logger
|
||||
from nonebot.adapters.cqhttp import Bot, MessageEvent
|
||||
from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent
|
||||
from nonebot.typing import T_State
|
||||
from .data_source import translate_msg
|
||||
|
||||
|
||||
__plugin_name__ = '翻译'
|
||||
__plugin_name__ = "翻译"
|
||||
|
||||
__plugin_usage__ = '用法:\n' \
|
||||
'英翻 [英文] 翻英 [中文]\n' \
|
||||
'日翻 [日文] 翻日 [中文]\n' \
|
||||
'韩翻 [韩文] 翻韩 [中文]'
|
||||
__plugin_usage__ = "用法:\n" "英翻 [英文] 翻英 [中文]\n" "日翻 [日文] 翻日 [中文]\n" "韩翻 [韩文] 翻韩 [中文]"
|
||||
|
||||
|
||||
translate = on_command("translate", aliases={'英翻', '翻英',
|
||||
'日翻', '翻日',
|
||||
'韩翻', '翻韩'
|
||||
}, priority=5, block=True)
|
||||
translate = on_command(
|
||||
"translate", aliases={"英翻", "翻英", "日翻", "翻日", "韩翻", "翻韩"}, priority=5, block=True
|
||||
)
|
||||
|
||||
|
||||
@translate.handle()
|
||||
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
msg = get_message_text(event.json())
|
||||
if msg:
|
||||
state['msg'] = msg
|
||||
state["msg"] = msg
|
||||
|
||||
|
||||
@translate.got('msg', prompt='你要翻译的消息是啥?')
|
||||
@translate.got("msg", prompt="你要翻译的消息是啥?")
|
||||
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
msg = state['msg']
|
||||
msg = state["msg"]
|
||||
if len(msg) > 150:
|
||||
await translate.finish('翻译过长!请不要超过150字', at_sender=True)
|
||||
await translate.finish("翻译过长!请不要超过150字", at_sender=True)
|
||||
await translate.send(await translate_msg(state["_prefix"]["raw_command"], msg))
|
||||
logger.info(
|
||||
f"(USER {event.user_id}, GROUP "
|
||||
f"{event.group_id if event.message_type != 'private' else 'private'}) 使用翻译:{msg}")
|
||||
|
||||
|
||||
|
||||
|
||||
f"{event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 使用翻译:{msg}"
|
||||
)
|
||||
|
||||
@@ -2,26 +2,27 @@ import aiohttp
|
||||
from utils.utils import get_local_proxy
|
||||
from utils.user_agent import get_user_agent
|
||||
|
||||
url = f'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
|
||||
url = f"http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
|
||||
|
||||
|
||||
async def translate_msg(language_type, msg):
|
||||
data = {
|
||||
'type': parse_language(language_type),
|
||||
'i': msg,
|
||||
"type": parse_language(language_type),
|
||||
"i": msg,
|
||||
"doctype": "json",
|
||||
"version": "2.1",
|
||||
"keyfrom": "fanyi.web",
|
||||
"ue": "UTF-8",
|
||||
"action": "FY_BY_CLICKBUTTON",
|
||||
"typoResult": "true"
|
||||
"typoResult": "true",
|
||||
}
|
||||
async with aiohttp.ClientSession(headers=get_user_agent()) as session:
|
||||
async with session.post(url, data=data, proxy=get_local_proxy()) as res:
|
||||
data = await res.json()
|
||||
if data['errorCode'] == 0:
|
||||
return data['translateResult'][0][0]['tgt']
|
||||
return '翻译惜败..'
|
||||
if data["errorCode"] == 0:
|
||||
return data["translateResult"][0][0]["tgt"]
|
||||
return "翻译惜败.."
|
||||
|
||||
|
||||
# ZH_CN2EN 中文 » 英语
|
||||
# ZH_CN2JA 中文 » 日语
|
||||
@@ -38,32 +39,23 @@ async def translate_msg(language_type, msg):
|
||||
|
||||
|
||||
def parse_language(language_type):
|
||||
if language_type == '英翻':
|
||||
return 'EN2ZH_CN'
|
||||
if language_type == '日翻':
|
||||
return 'JA2ZH_CN'
|
||||
if language_type == '韩翻':
|
||||
return 'KR2ZH_CN'
|
||||
if language_type == "英翻":
|
||||
return "EN2ZH_CN"
|
||||
if language_type == "日翻":
|
||||
return "JA2ZH_CN"
|
||||
if language_type == "韩翻":
|
||||
return "KR2ZH_CN"
|
||||
# if language_type == '法翻':
|
||||
# return 'FR2ZH_CN'
|
||||
# if language_type == '俄翻':
|
||||
# return 'RU2ZH_CN'
|
||||
if language_type == '翻英':
|
||||
return 'ZH_CN2EN'
|
||||
if language_type == '翻日':
|
||||
return 'ZH_CN2JA'
|
||||
if language_type == '翻韩':
|
||||
return 'ZH_CN2KR'
|
||||
if language_type == "翻英":
|
||||
return "ZH_CN2EN"
|
||||
if language_type == "翻日":
|
||||
return "ZH_CN2JA"
|
||||
if language_type == "翻韩":
|
||||
return "ZH_CN2KR"
|
||||
# if language_type == '翻法':
|
||||
# return 'ZH_CN2FR'
|
||||
# if language_type == '翻俄':
|
||||
# return 'ZH_CN2RU'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user