mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
import ujson as json
|
||
from nonebot.plugin import PluginMetadata
|
||
from nonebot_plugin_alconna import Alconna, Args, Arparma, on_alconna
|
||
from nonebot_plugin_saa import Text
|
||
from nonebot_plugin_session import EventSession
|
||
|
||
from zhenxun.configs.utils import PluginExtraData
|
||
from zhenxun.services.log import logger
|
||
from zhenxun.utils.http_utils import AsyncHttpx
|
||
|
||
__plugin_meta__ = PluginMetadata(
|
||
name="能不能好好说话",
|
||
description="能不能好好说话,说人话",
|
||
usage="""
|
||
说人话
|
||
指令:
|
||
nbnhhsh [文本]
|
||
能不能好好说话 [文本]
|
||
""".strip(),
|
||
extra=PluginExtraData(author="HibiKier", version="0.1", aliases={"nbnhhsh"}).dict(),
|
||
)
|
||
|
||
URL = "https://lab.magiconch.com/api/nbnhhsh/guess"
|
||
|
||
_matcher = on_alconna(
|
||
Alconna("nbnhhsh", Args["text", str]),
|
||
aliases={"能不能好好说话"},
|
||
priority=5,
|
||
block=True,
|
||
)
|
||
|
||
|
||
@_matcher.handle()
|
||
async def _(session: EventSession, arparma: Arparma, text: str):
|
||
response = await AsyncHttpx.post(
|
||
URL,
|
||
data=json.dumps({"text": text}), # type: ignore
|
||
timeout=5,
|
||
headers={"content-type": "application/json"},
|
||
)
|
||
try:
|
||
data = response.json()
|
||
tmp = ""
|
||
result = ""
|
||
for x in data:
|
||
trans = ""
|
||
if x.get("trans"):
|
||
trans = x["trans"][0]
|
||
elif x.get("inputting"):
|
||
trans = ",".join(x["inputting"])
|
||
tmp += f'{x["name"]} -> {trans}\n'
|
||
result += trans
|
||
logger.info(
|
||
f" 发送能不能好好说话: {text} -> {result}",
|
||
arparma.header_result,
|
||
session=session,
|
||
)
|
||
await Text(f"{tmp}={result}").send(reply=True)
|
||
except (IndexError, KeyError):
|
||
await Text("没有找到对应的翻译....").send()
|