refactor code

This commit is contained in:
hibiki
2021-07-30 21:21:51 +08:00
parent 2ad891aa1e
commit cc24822dca
165 changed files with 7815 additions and 8174 deletions
+12 -19
View File
@@ -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}"
)
+20 -28
View File
@@ -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'