PagerMaid_Plugins_Pyro/urbandictionary/main.py

32 lines
1.2 KiB
Python

from pagermaid.listener import listener
from pagermaid.enums import AsyncClient, Message
from pagermaid.utils import alias_command
@listener(command="urbandictionary",
parameters="<单词>",
description="解释英语俚语词汇")
async def get_urban_mean(message: Message, httpx: AsyncClient):
""" To fetch meaning of the given word from urban dictionary. """
word = message.arguments
if not word:
return await message.edit(f"[urbandictionary] 使用方法:`,{alias_command('urbandictionary')} <单词>`")
try:
response = (await httpx.get(f"https://api.urbandictionary.com/v0/define?term={word}")).json()
except Exception as e:
return await message.edit(f"[urbandictionary] API 接口无法访问:{e}")
if len(response["list"]) == 0:
return await message.edit("[urbandictionary] 无法查询到单词的意思")
word = response["list"][0]["word"]
definition = response["list"][0]["definition"]
example = response["list"][0]["example"]
result = f"**Word :** __{word}__\n\n" \
f"**Meaning:**\n" \
f"`{definition}`\n\n" \
f"**Example:**\n" \
f"`{example}`"
await message.edit(result)