mirror of
https://github.com/TeamPGM/PagerMaid_Plugins_Pyro.git
synced 2024-11-25 10:02:17 +00:00
36 lines
1.2 KiB
Python
36 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)
|