first_commit .gitignore

This commit is contained in:
hibiki
2021-05-20 18:37:51 +08:00
parent df4e3aea45
commit 155f62c08a
947 changed files with 26899 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
from nonebot import on_command
from util.utils import get_message_text
from services.log import logger
from nonebot.adapters.cqhttp import Bot, MessageEvent
from nonebot.typing import T_State
from .data_source import translate_msg
__plugin_name__ = '翻译'
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
@translate.got('msg', prompt='你要翻译的消息是啥?')
async def _(bot: Bot, event: MessageEvent, state: T_State):
msg = state['msg']
if len(msg) > 150:
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}")
+69
View File
@@ -0,0 +1,69 @@
import aiohttp
from util.utils import get_local_proxy
from util.user_agent import get_user_agent
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,
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"ue": "UTF-8",
"action": "FY_BY_CLICKBUTTON",
"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 '翻译惜败..'
# ZH_CN2EN 中文 » 英语
# ZH_CN2JA 中文 » 日语
# ZH_CN2KR 中文 » 韩语
# ZH_CN2FR 中文 » 法语
# ZH_CN2RU 中文 » 俄语
# ZH_CN2SP 中文 » 西语
# EN2ZH_CN 英语 » 中文
# JA2ZH_CN 日语 » 中文
# KR2ZH_CN 韩语 » 中文
# FR2ZH_CN 法语 » 中文
# RU2ZH_CN 俄语 » 中文
# SP2ZH_CN 西语 » 中文
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 '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_CN2FR'
# if language_type == '翻俄':
# return 'ZH_CN2RU'